Emulate Rpi with QEMU fails

Have some feedback, questions, suggestions, or just fancy a chat? Pop it in here.
Post Reply
74cmonty
Posts: 18
Joined: Tue Jan 15, 2019 5:25 pm

Emulate Rpi with QEMU fails

Post by 74cmonty »

Hi,
I'm trying to emulate Rpi with QEMU.
I found this arcticle in Raspberry Pi Geek documenting the steps including persistent storage on host.

However when starting the emulation with command

Code: Select all

qemu-system-arm -M versatilepb -cpu arm1176 -m 256 -serial stdio -hda DietPi_RPi-ARMv6-Buster.img -net "user,hostfwd=tcp::5022-:22" -dtb versatile-pb-buster.dtb -kernel kernel-qemu-5.4.51-buster -append "root=/dev/sda2 rootfstype=ext4 rw panic=1" -no-reboot
I get this error:

Code: Select all

VFS: Cannot open root device "sda2" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
0100            4096 ram0 
 (driver?)
0101            4096 ram1 
 (driver?)
0102            4096 ram2 
 (driver?)
0103            4096 ram3 
 (driver?)
0104            4096 ram4 
 (driver?)
0105            4096 ram5 
 (driver?)
0106            4096 ram6 
 (driver?)
0107            4096 ram7 
 (driver?)
0108            4096 ram8 
 (driver?)
0109            4096 ram9 
 (driver?)
010a            4096 ram10 
 (driver?)
010b            4096 ram11 
 (driver?)
010c            4096 ram12 
 (driver?)
010d            4096 ram13 
 (driver?)
010e            4096 ram14 
 (driver?)
010f            4096 ram15 
 (driver?)
1f00           65536 mtdblock0 
 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
I assume this is related to the content in fstab of RaspiOS:

Code: Select all

# Please use "dietpi-drive_manager" to setup mounts
#----------------------------------------------------------------
# NETWORK
#----------------------------------------------------------------


#----------------------------------------------------------------
# TMPFS
#----------------------------------------------------------------
tmpfs /tmp tmpfs noatime,lazytime,nodev,nosuid,mode=1777
tmpfs /var/log tmpfs size=50M,noatime,lazytime,nodev,nosuid,mode=1777

#----------------------------------------------------------------
# MISC: ecryptfs, vboxsf (VirtualBox shared folder), gluster, bind mounts
#----------------------------------------------------------------


#----------------------------------------------------------------
# SWAPFILE
#----------------------------------------------------------------


#----------------------------------------------------------------
# PHYSICAL DRIVES
#----------------------------------------------------------------
PARTUUID=907af7d0-02 / auto noatime,lazytime,rw 0 1
PARTUUID=907af7d0-01 /boot auto noatime,lazytime,rw 0 2
Can you please advise how to fix this error?

THX
User avatar
Joulinar
Posts: 2277
Joined: Sat Nov 16, 2019 12:49 am

Re: Emulate Rpi with QEMU fails

Post by Joulinar »

Hi,

many thanks for your message. I guess you are using incorrect location for rootFS. It is specified to be located at an external HDD /dev/sda2

Code: Select all

"root=/dev/sda2 rootfstype=ext4 rw panic=1"
But this doesn't seems to exist as you have following error message

Code: Select all

VFS: Cannot open root device "sda2"
You can check available devices running

Code: Select all

lsblk -o name,fstype,label,size,ro,type,mountpoint
Pls let us know if a solution is working. This could help others if they hit by similar situation. Your DietPi Team
74cmonty
Posts: 18
Joined: Tue Jan 15, 2019 5:25 pm

Re: Emulate Rpi with QEMU fails

Post by 74cmonty »

In the meantime I overcome this issue.
I found a Github repo documenting a different command for starting QEMU:

Code: Select all

qemu-system-arm -serial stdio -M versatilepb -cpu arm1176 -m 256 -drive "file=DietPi_RPi-ARMv6-Buster.img,if=none,index=0,media=disk,format=raw,id=disk0" -device "virtio-blk-pci,drive=disk0,disable-modern=on,disable-legacy=off" -net "user,hostfwd=tcp::5022-:22" -dtb /home/thomas/Hardware/Raspi/versatile-pb-buster.dtb -kernel kernel-qemu-5.4.51-buster -append "root=/dev/vda2 panic=1 rw" -no-reboot
Unfortunately the emulated Rpi has no network connection, but this is a different issue.
User avatar
Joulinar
Posts: 2277
Joined: Sat Nov 16, 2019 12:49 am

Re: Emulate Rpi with QEMU fails

Post by Joulinar »

ah one thing that stepped into my mind as well, you might need to resize the DietPi image before using it on QEMU
Pls let us know if a solution is working. This could help others if they hit by similar situation. Your DietPi Team
User avatar
Joulinar
Posts: 2277
Joined: Sat Nov 16, 2019 12:49 am

Re: Emulate Rpi with QEMU fails

Post by Joulinar »

@74cmonty
did you got it working in meantime and solved the problem with the missing network interface?
Pls let us know if a solution is working. This could help others if they hit by similar situation. Your DietPi Team
Post Reply