Eu tenho um yocto build para core-image-minimal onde a imagem do kernel (Image) e rootfs (tar.gz) são arquivos separados.
Na execução de qemu-system-aarch64, eu só quero dar 2 partição diferente onde o arquivo de imagem do kernel está em uma partição e o arquivo rootfs como outro.
Este é o lançamento do exemplo
qemu-system-aarch64 -cpu cortex-a57 -M virt -m 512M -bios EFI.fd -drive if=none,file=fat:data,format=vvfat,id=hd0 -device virtio-blk-device,drive=hd0 -drive file=rootfs.ext3,if=none,id=hd1 -device virtio-blk-device,drive=hd1 -nographic -no-acpi
Ao lançar o kernel a partir do shell do UEFI, o kernel não está escolhendo o rootfs apropriado e lança o erro abaixo
[ 2.239746] fd00 524288 vda driver: virtio_blk
[ 2.240127] fd10 516096 vdb driver: virtio_blk
[ 2.240319] fd11 516064 vdb1 be1afdfa-01
[ 2.240487] No filesystem could mount root, tried: ext3 ext2 ext4 btrfs
[ 2.240771] VFS: Unable to mount root fs on unknown-block(253,17)
[ 2.240923] User configuration error - no valid root filesystem found
[ 2.241191] Kernel panic - not syncing: Invalid configuration from end user prevents continuing
[ 2.241594] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.8.26-yocto-standard #1
[ 2.241784] Hardware name: QEMU QEMU Virtual Machine, BIOS 0.0.0 02/06/2015
Argumentos de inicialização do kernel são
[ 0.000000] Kernel command line: console=ttyAMA0,38400n8 earlycon=pl011,0x9000000 acpi=off noapic root=/dev/vdb1
Por favor, aconselha como criar um arquivo rootfs a partir de tar.gz e como mencionar a partição rootfs no qemu-system para o meu cenário e o que o argumento de inicialização realmente contém em root =?
Tags boot kernel qemu linux root-filesystem