http://sig9.com/bochs-grub
Lack of resources means finding newer, crooked ways of doing things, including emulating them. Being an os development enthusiast with just a single x86 PC at my disposal, I have often relied on Bochs for emulation purposes such as trying out Linux, BSD and even my own kernels. Here is how I use a file backed floppy disk image with grub installed in it for quick kernel try-outs; because rebooting can be a pain. The steps described here are specific to GNU/Linux based systems, and some of them may require super user privileges. Ofcourse, you need to have Bochs and Grub installed.
$ dd if=/dev/zero of=floppy.img bs=1024 count=1440
$ losetup /dev/loop1 floppy.img
$ mkfs /dev/loop1
$ mount -o loop /dev/loop1 /mnt
$ mkdir -p /mnt/boot/grub
$ cp /boot/grub/stage1 /boot/grub/stage2 /mnt/boot/grub/
$ vi /mnt/boot/grub/grub.confThe following is a sample "grub.conf". More about the menu here .
# My Grub.confAnd unmount the device.
#
title=MyTestKernel
root (fd0)
kernel /mykern
title=TestLinux
root (fd0)
kernel /vmlinuz
$ umount /mnt
$ grub --device-map=/dev/nullUpon which you should get the grub interface. Enter the following commands into it -
grub> device (fd0) /dev/loop1
grub> root (fd0)
grub> setup (fd0)
grub> quit
$ losetup -d /dev/loop1
$ losetup /dev/loop1 floppy.img
$ mount -o loop /dev/loop1 /mnt
$ umount /mnt
$ losetup -d /dev/loop1
$ dd if=floppy.img of=/dev/fd0