Hi!
Currently try to figure out how to run my freshly builded Armbian using QEMU arm64.
According to this tutorial: https://docs.armbian.com/Developer-Guide_Build-Preparation/ I prepare clean Jammy VM.
Build using this CMD:
./compile.sh BOARD=qemu-uboot-arm64 BRANCH=current RELEASE=bookworm
Build process was going smoothly i pick up two files from output folder:
1) Armbian-unofficial_24.5.0-trunk_Qemu-uboot-arm64_bookworm_current_6.6.29_minimal.img.qcow2 2) Armbian-unofficial_24.5.0-trunk_Qemu-uboot-arm64_bookworm_current_6.6.29_minimal.u-boot.bin
Currently boot up process stucked, i can run U-boot and mount qcow2 image using this CMD:
qemu-system-aarch64 \
-machine virt -cpu cortex-a57 \
-netdev user,id=net0 -device e1000,netdev=net0 \
-serial stdio \
-bios Armbian-unofficial_24.5.0-trunk_Qemu-uboot-arm64_bookworm_current_6.6.29_minimal.u-boot.bin \
-drive if=none,file=Armbian-unofficial_24.5.0-trunk_Qemu-uboot-arm64_bookworm_current_6.6.29_minimal.img.qcow2,id=mydisk \
-device ich9-ahci,id=ahci \
-device ide-hd,drive=mydisk,bus=ahci.0
U-boot see the drive with rootfs, but during boot process i had this error:
Failed to load '/boot/uInitrd'
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid
Boot failed (err=-14)
Full boot process log:
U-Boot 2023.10-armbian (Mar 14 2024 - 01:18:23 +0000)
DRAM: 128 MiB
Core: 51 devices, 14 uclasses, devicetree: board
Flash: 64 MiB
Loading Environment from Flash... *** Warning - bad CRC, using default environment
In: pl011@9000000
Out: pl011@9000000
Err: pl011@9000000
Net: e1000: 52:54:00:12:34:56
eth0: e1000#0
Hit any key to stop autoboot: 0
Scanning for bootflows in all bootdevs
Seq Method State Uclass Part Name Filename
--- ----------- ------ -------- ---- ------------------------ ----------------
Scanning global bootmeth 'efi_mgr':
Scanning bootdev 'fw-cfg@9020000.bootdev':
fatal: no kernel available
No working controllers found
scanning bus for devices...
Target spinup took 0 ms.
SATA link 1 timeout.
SATA link 2 timeout.
SATA link 3 timeout.
SATA link 4 timeout.
SATA link 5 timeout.
AHCI 0001.0000 32 slots 6 ports 1.5 Gbps 0x3f impl SATA mode
flags: 64bit ncq only
Device 0: (0:0) Vendor: ATA Prod.: QEMU HARDDISK Rev: 2.5+
Type: Hard Disk
Capacity: 54564.0 MB = 53.2 GB (111747072 x 512)
Scanning bootdev 'ahci_scsi.id0lun0.bootdev':
0 script ready scsi 1 ahci_scsi.id0lun0.bootdev /boot/boot.scr
** Booting bootflow 'ahci_scsi.id0lun0.bootdev.part_1' with script
scanning bus for devices...
Device 0: (0:0) Vendor: ATA Prod.: QEMU HARDDISK Rev: 2.5+
Type: Hard Disk
Capacity: 54564.0 MB = 53.2 GB (111747072 x 512)
Device 0: (0:0) Vendor: ATA Prod.: QEMU HARDDISK Rev: 2.5+
Type: Hard Disk
Capacity: 54564.0 MB = 53.2 GB (111747072 x 512)
<DIR> 4096 .
<DIR> 4096 ..
<SYM> 28 Image
<SYM> 24 dtb
<DIR> 4096 dtb-6.6.29-current-arm64
38518 boot.bmp
0 .next
<SYM> 28 uInitrd
906 boot.cmd
6040046 System.map-6.6.29-current-arm64
978 boot.scr
49178863 uInitrd-6.6.29-current-arm64
318778 config-6.6.29-current-arm64
38134272 vmlinuz-6.6.29-current-arm64
49178799 initrd.img-6.6.29-current-arm64
KERNEL LOAD ADDRESS: kernel_addr_r : 0x40400000
INITRD LOAD ADDRESS: ramdisk_addr_r: 0x44000000
FDT LOAD ADDRESS : fdt_addr : 0x40000000
38134272 bytes read in 853 ms (42.6 MiB/s)
** Reading file would overwrite reserved memory **
Failed to load '/boot/uInitrd'
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid
Boot failed (err=-14)
--- ----------- ------ -------- ---- ------------------------ ----------------
(1 bootflow, 1 valid)
Any ideas what i'm doing wrong?