[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Debian Versatile Express under QEMU



Hi, all,

I'm missing something here, and I don't know what it is. I'm trying to get Debian's Versatile Express ARM version running under qemu. What I did was:

Download initrd.gz and vmlinux-3.2.0-4-vexpress from ftp://ftp.debian.org/debian/dists/wheezy/main/installer-armhf/current/images/vexpress/netboot/ (and renamed the former to initrd.install.gz).

I created a 4GB raw QEMU disk image:

qemu-img -f raw armhf.img 4G

I then ran the following command:

qemu-system-arm -M vexpress-a9 -m 512M -kernel vmlinuz -initrd initrd.install.gz -sd armhf.img -append "root=/dev/ram" -no-reboot

Taking all of the defaults (except user and password, obviously), the system installed with no problems.

I mounted the resulting disk and it looks good. I copied initrd.img-3.2.0.4-vexpress from the first partition on the disk to my working directory and gzipped it, with a symlink from initrd.gz.
vmlinux-3.2.0-4-vexpress is the same as what I downloaded.

Everything up to this point looked good. However, when I try to boot the image with:

qemu-system-arm -M vexpress-a9 -m 512M -kernel vmlinuz -initrd initrd.gz -sd armhf.img -append "root=/dev/mmcblk0p2"

it fails.

It starts out in my terminal with two messages to stderr:

l2x0_priv_write: Bad offset 900
l2x0_priv_write: Bad offset 904

Don't know whether these are pertinent or not.

The system tries to boot; in the console window, the last few lines are:

[ 0.859520] rtc-pl031 mb:rtc: setting system clock to 2014-01-22 02:00:39 UTC (1390356039)
[    0.860180] Initializing network drop monitor service
[ 0.895033] mmc0: host does not support reading read-only switch. assuming write-enable.
[    0.895819] mmc0: new SDHC card at address 4567
[ 0.907223] input: AT Raw Set 2 keyboard as /devices/mb:kmi0/serio0/input/input0
[    0.910420] mmcblk0: mmc0:4567 QEMU! 4.00 GiB
[    0.940223]  mmcblk0: p1 p2 p3 < p5 >
[    0.952258] List of all partitions:
[    0.952648] b300         4194304 mmcblk0  driver: mmcblk
[ 0.953130] b301 229376 mmcblk0p1 00000000-0000-0000-0000-000000000000 [ 0.953715] b302 3727360 mmcblk0p2 00000000-0000-0000-0000-000000000000 [ 0.954218] b303 1 mmcblk0p3 00000000-0000-0000-0000-000000000000 [ 0.954602] b305 234496 mmcblk0p5 00000000-0000-0000-0000-000000000000
[    0.955077] No filesystem could mount root, tried:
[ 0.955511] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2) [ 0.957767] [<80013f40>] (unwind_backtrace+0x0/0xe0) from [<8029d378>] (panic+0x50/0x190) [ 0.958300] [<8029d378>] (panic+0x50/0x190) from [<803a0cb0>] (mount_block_root+0x234/0x284) [ 0.958776] [<803a0cb0>] (mount_block_root+0x234/0x284) from [<803a0e84>] (prepare_namespace+0x124/0x184) [ 0.959076] [<803a0e84>] (prepare_namespace+0x124/0x184) from [<803a0940>] (kernel_init+0x170/0x1a8) [ 0.959532] [<803a0940>] (kernel_init+0x170/0x1a8) from [<8000e798>] (kernel_thread_exit+0x0/0x8)

So although mmcblk0p2 is available, it looks like the system can't mount it for some reason.

Can anyone tell me what I'm missing?

TIA,
Jerry


Reply to: