Skip to content

Unable to run the example kernel in qemu on FreeBSD #134

@ctsrc

Description

@ctsrc

Hi, I followed the tutorial at https://github.com/rumpkernel/wiki/wiki/Tutorial%3A-Building-Rumprun-Unikernels and ran into a couple of problems.

My host system is running FreeBSD 12.1 on amd64, and I have qemu 4.2.1 installed on the system.

Thanks to the comments in #133 I was able to build all of the tools.

I proceeded to compile the example program from the tutorial and to bake it.

x86_64-rumprun-netbsd-gcc -o helloer-rumprun helloer.c

rumprun-bake hw_generic helloer-rumprun.bin helloer-rumprun

ls -al helloer-rumprun.bin

-rwxr-xr-x  1 user  user  29619640 Oct 10 18:19 helloer-rumprun.bin

But when I try to run it in qemu...

rumprun qemu -i helloer-rumprun.bin

...it loops at "Booting from ROM"

qemu

And initially I thought it might be a problem with just qemu. But I am able to run for example FreeBSD 12.1 inside of qemu, booting it from a qcow2 image.

fetch https://download.freebsd.org/ftp/releases/VM-IMAGES/12.1-RELEASE/amd64/Latest/FreeBSD-12.1-RELEASE-amd64.qcow2.xz

unxz FreeBSD-12.1-RELEASE-amd64.qcow2.xz

qemu-system-x86_64 -drive file=FreeBSD-12.1-RELEASE-amd64.qcow2,format=qcow2

What do I need to do in order to boot the rumprun kernel example from the tutorial in qemu?

For reference, here is the output of rumprun -D qemu -i helloer-rumprun.bin:


!!!
!!! NOTE: rumprun is experimental. syntax may change in the future
!!!

qemu-system-x86_64 -net none -no-kvm -m 64 -kernel helloer-rumprun.bin -append 	 {,,
	"cmdline": "helloer-rumprun.bin",,
	        },,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions