Hi.
I bought a RPi 4 - 4GB and also 64 Gib microsd for storage and system.
I used https://info.armtixlinux.org/raspberrypi4.html for guide and I did everything (I chose u-boot path).
This is my partition table (in MBR/dos):
sdc 8:32 1 59.5G 0 disk
├─sdc1 8:33 1 512M 0 part /mnt/Removable_2
└─sdc2 8:34 1 59G 0 part /mnt/Removable
cfdisk result:
Disk: /dev/sdc
Size: 59.52 GiB, 63908610048 bytes, 124821504 sectors
Label: dos, identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
>> /dev/sdc1 * 2048 1050623 1048576 512M b W95 FAT32
/dev/sdc2 1050624 124821503 123770880 59G 83 Linux
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Partition type: W95 FAT32 (b) │
│ Attributes: 80 │
│Filesystem UUID: 3B33-9621 │
│ Filesystem: vfat │
│ Mountpoint: /mnt/Removable_2 (mounted) │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
[Bootable] [ Delete ] [ Resize ] [ Quit ] [ Type ] [ Help ] [ Write ] [ Dump ]
Quit program without writing changes
and This is my /boot (sdc1):
total 277M
drwxr-xr-x 4 root root 4.0K ژانویه 1 1970 .
drwxr-xr-x 7 root root 95 ژوئن 19 17:29 ..
-rwxr-xr-x 1 root root 334 ژوئن 19 17:44 boot.cmd
-rwxr-xr-x 1 root root 52K ژوئن 19 18:44 bootcode.bin
-rwxr-xr-x 1 root root 406 ژوئن 19 17:44 boot.scr
drwxr-xr-x 17 root root 4.0K ژوئن 19 17:43 dtbs
drwxr-xr-x 17 root root 4.0K ژوئن 19 17:43 dtbs-lts
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 fixup4cd.dat
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 fixup4.dat
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 fixup4db.dat
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 fixup4x.dat
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 fixup_cd.dat
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 fixup.dat
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 fixup_db.dat
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 fixup_x.dat
-rwxr-xr-x 1 root root 42M ژوئن 19 17:43 Image
-rwxr-xr-x 1 root root 14M ژوئن 19 17:43 Image.gz
-rwxr-xr-x 1 root root 84M ژوئن 19 17:43 initramfs-linux-fallback.img
-rwxr-xr-x 1 root root 14M ژوئن 19 17:43 initramfs-linux.img
-rwxr-xr-x 1 root root 45M ژوئن 19 17:43 initramfs-linux-lts-fallback.img
-rwxr-xr-x 1 root root 13M ژوئن 19 17:43 initramfs-linux-lts.img
-rwxr-xr-x 1 root root 14M ژوئن 19 17:45 initramfs-linux.uimg
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 LICENCE.broadcom
-rwxr-xr-x 1 root root 41M ژوئن 19 17:43 ltsImage
-rwxr-xr-x 1 root root 14M ژوئن 19 17:43 ltsImage.gz
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 start4cd.elf
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 start4db.elf
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 start4.elf
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 start4x.elf
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 start_cd.elf
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 start_db.elf
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 start.elf
-rwxr-xr-x 1 root root 0 ژوئن 19 18:32 start_x.elf
I also installed https://github.com/raspberrypi/firmware/releases/tag/1.20240529 for firmware.
But my RPi doesn't boot and log is in attachment. It says "Firmware not found". I can't understand because I copied all firmware files into /boot.
I'm a little noob with ARM devices.
I don't see any config.txt in your /boot. RPi requires it to choose whisch kernel (or uboot) to run
I still need a config.txt for u-boot? That guide doesn't mention it for u-boot. What will be my config.txt for u-boot way?
Something like this?
enable_uart=1
arm_64bit=1
kernel=/Image
initramfs /initramfs-linux.uimg followkernel
device-tree=/dtbs/broadcom/bcm2711-rpi-4-b.dtb
Looks like my firmware aren't present there (0 bytes size), I copied them again. Also I set config.txt file and cmdline.txt file and Now I see one of the most weird things in my life :/ A picture of color range? See attachment.
The u-boot instruction suggests you install u-boot package from ALARM repos. IIRC it should contain the appropriate config.txt (the one you have corresponds to the one which directly boots kernel) and u-boot binray as kernel8.img.
In general, it is good to have a UART cable for debug purposes since usually early boot errors are only shown there.
Looks like the armtix guide is for someone who is actually familiar with ARM systems concept. I got http://ca.us.mirror.archlinuxarm.org/aarch64/alarm/uboot-raspberrypi-2024.04-2-aarch64.pkg.tar.xz package and copied all of it contents into my /boot and then I did run ./mkscr to make sure everything is ok. Now I have a u-boot showing on screen but stuck at "Starting Kernel..." part. I missed something again?
I'm going to read https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4 for some instructions.
I fixed boot.cmd with Armtix Linux guide instead of Arch linux stock boot.cmd (It was replaced by u-boot package from ALARM) and now I have a working RPi 4B :)
I also updated system by pacman -Syu and I forgot to generate u-boot initramfs, I connected it to my computer once again and fixed it. Is there any package to automate this process?
@phoenix_king_rus Thanks for your advices.
WDYM by u-boot initramfs?
I mean "mkimage -A arm -T ramdisk -d initramfs-linux.img initramfs-linux.uimg"