Start Linux inside a Vancouver VM using a virtual disk.
Julian Stecklina
jsteckli at os.inf.tu-dresden.de
Mon Nov 26 18:40:58 CET 2012
Thus spake Mehdi AICHOUCH <foxmehdi at gmail.com>:
> Hello,
>
> I was trying to run Linux inside a Vancouver virtual machine and using a
> virtual disk.
> But, I got an error when Linux kernel try to mount the root file system.
>
>
> #!/usr/bin/env novaboot
> # -*-sh-*-
> HYPERVISOR_PARAMS=serial
> WVDESC=Kernel compile inside VM (on virtual disk, EPT + VPID)
> WVTEST_TIMEOUT=1200
> QEMU_FLAGS=-cpu phenom -m 2048M
> bin/apps/sigma0.nul tracebuffer_verbose S0_DEFAULT hostserial hostvga
> hostkeyb:0,0x60,1,12 script_start:1,1 \
> service_config vdisk_empty:736870912 service_disk
> bin/apps/vancouver.nul
> bin/boot/munich
> imgs/bzImage
> imgs/mdisk.img
> vancuver.nulconfig <<EOF
> sigma0::mem:512 sigma0::dma name::/s0/log name::/s0/timer name::/s0/fs/rom
> name::/s0/admission name::/s0/disk disk::0 ||
> rom://bin/apps/vancouver.nul PC_PS2 ahci:0xe0800000,14,0x30 drive:0,0,0 ||
> rom://bin/boot/munich ||
> rom://imgs/bzImage clocksource=tsc console=ttyS0 ||
> rom://imgs/mdisk.img
> EOF
>
What your configuration script is telling Vancouver, is that you want to
use mdisk.img as a initrd/initramfs for your Linux kernel. In addition
you attach an empty virtual disk as a virtual SATA disk (which probably
fails because disk::0 is wrong, see below). If, as I
suspect, mdisk.img is a harddisk image, this will not work.
You have two options:
If your root filesystem is small, you should use an initramfs or initrd.
Or you have to tell sigma0 to offer mdisk.img as a virtual disk by using
vdisk:rom://imgs/mdisk.img instead of vdisk_empty:736870912. In this
case you also need to correct disk::0 into sigma0::drive:0 in
vancouver.nulconfig, to allow access to this disk.
HTH, Julian
More information about the l4-hackers
mailing list