I debootstrap an Ubuntu Xenial system as:

debootstrap --variant=minbase --include=linux-image-generic,linux-headers-generic,systemd,systemd-sysv,dbus --components=main,restricted,universe,multiverse xenial ubuntu_dir http://mirror.enzu.com/ubuntu

I extract the kernel as:

cd ubuntu_dir && cp boot/vmlinu* ../xenial.kernel

I create the initrd as:

cd ubuntu_dir && find . -print0 | cpio --quiet --null -ov --format=newc | gzip -9 > ../xenial.initrd

I boot the system in qemu as (it boots over PXE):

qemu-system-x86_64 -enable-kvm -kernel xenial.kernel -initrd xenial.initrd -m 4096M -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:22

The kernel panics saying:

kernel panic-not syncing: VFS: unable to mount root fs on unknown block(0,0)

enter image description here

I need to boot this kernel+initrd pair over PXE. What am I doing wrong?

  • Are you providing a root file system? – Stephen Kitt Jan 22 '18 at 7:09
  • I want the system to boot live (in memory, downloaded over PXE). So essentially I want the initrd image to be mounted as the root file system; changes made will not be persistent. How can I do that? – Holmes.Sherlock Jan 22 '18 at 7:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.