Test Kernel with grub

http://sig9.com/bochs-grub

Bochs+Grub, Testing Kernels

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.

  1. Create the floppy disk image (1.44M capacity).
    $ dd if=/dev/zero of=floppy.img bs=1024 count=1440
  2. Create and attach a loopback device to the image.
    $ losetup /dev/loop1 floppy.img
  3. Create a file system (EXT2FS).
    $ mkfs /dev/loop1
  4. Mount the device, so we can read and write to it.
    $ mount -o loop /dev/loop1 /mnt
  5. Setup grub directory with stage1 and stage2. For this step, you will need to determine the location of grub "stage1" and "stage2" files. Some common locations are "/boot/grub" "/usr/share/grub", "/usr/local/share/grub/" etc. The following worked for me (on my Fedora Core 3 system).
    $ mkdir -p /mnt/boot/grub
    $ cp /boot/grub/stage1 /boot/grub/stage2 /mnt/boot/grub/
  6. Create the grub configuration file.
    $ vi /mnt/boot/grub/grub.conf
    The following is a sample "grub.conf". More about the menu here .
    # My Grub.conf
    #
    title=MyTestKernel
    root (fd0)
    kernel /mykern

    title=TestLinux
    root (fd0)
    kernel /vmlinuz
    And unmount the device.
    $ umount /mnt
  7. Install and embed grub into the image.
    $ grub --device-map=/dev/null
    Upon 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
  8. Detach the loopback device.
    $ losetup -d /dev/loop1
Thats it! The floppy image is ready with a grub boot loader installed. All you need to do is use this file as the floppy disk image under Bochs. To install the kernel files into this image, all you need to do is follow these steps -
  1. Create and attach a loopback device to the image and mount it.
    $ losetup /dev/loop1 floppy.img
    $ mount -o loop /dev/loop1 /mnt
  2. Perform operations on the image file, such as installing new kernel images or updating grub.conf. Once thats done, perform the next step.
  3. Unmount device and detach the loopback device.
    $ umount /mnt
    $ losetup -d /dev/loop1
Once you're ready for some real testing, all you need to do is get hold of a real floppy disk and write the image onto it.
$ dd if=floppy.img of=/dev/fd0

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值