4 ms·
I got this running on qemu by cannibalizing a tiny bit of code from xv6 (http://pdos.csail.mit.edu/6.828/2012/xv6.html http://pdos.csail.mit.edu/6.828/2012/xv6.
by akkartik 13y ago
I got this running on qemu by cannibalizing a tiny bit of code from xv6 (http://pdos.csail.mit.edu/6.828/2012/xv6.html http://pdos.csail.mit.edu/6.828/2012/xv6.html) to replace the GRUB dependency. After cloning and building mkernel according to its instructions:
$ git clone git://pdos.csail.mit.edu/xv6/xv6.git
$ cd xv6
$ make
Now you should be able to run xv6 by itself:
$ path-to-qemu/x86_64-softmmu/qemu-system-x86_64 -serial mon:stdio -hdb fs.img xv6.img -m 512
To run mkernel on qemu, we'll replace xv6's kernel with mkernel's:
$ dd if=/dev/zero of=mkernel.img count=10000
$ dd if=bootblock of=mkernel.img conv=notrunc
$ dd if=../mkernel/kernel of=mkernel.img seek=1 conv=notrunc
Now you can boot up the mkernel.img rather than xv6.img:
$ path-to-qemu/x86_64-softmmu/qemu-system-x86_64 -serial mon:stdio -hdb fs.img mkernel.img -m 512
(Based on xv6 at hash ff2783442ea2801a4bf6c76f198f36a6e985e7dd and mkernel at hash 42fd4c83fe47933b3e0d1b54f761a323f8350904. Ping me if you have questions; email in profile.)
- exDM69 13y ago> I got this running on qemu by cannibalizing a tiny bit of code from xv6 to replace the GRUB dependency. This thing doesn't depend on GRUB, per se. It requires a multiboot protocol compliant bootloader, and QEMU and Bochs emulator have one built-in. All you need to do is: qemu-system-i386 -kernel kernel This was mentioned in the last lines of the OP, perhaps they were added after you read it.
- akkartik 13y agoAh. Thanks! Yeah, I'd emailed the author with my comment.