第二节:翻译一篇关于grub加载内核的用法(os开发者会用到这个)
原文:http://sig9.com/bochs-grub
创建软盘:
dd if=/dev/zero bs=512 count =2880 of=floppy.img
/sbin/losetup /dev/loop7 floppy.img
/sbin/mkfs.ext2 /dev/loop7
mount -o loop /dev/loop7 /mnt/
运行mount指令(不带参数),输出如下:
/dev/loop7 on /mnt/flp type ext2 (rw,loop=/dev/loop5)
建立grub文件:
mkdir -p /mnt/flp/boot/grub
编译grub-0.97源码包,产生两个文件:stage2/stage2,stage2/stage2
创建grub配置文件:vi /mnt/flp/boot/grub/grub.conf
内容为:
default 0
timeout 1
title test os 0.0.1
root (fd0)
kernel /boot/testos.bin
umount /mnt/flp卸载设备,在img中安装grub
/sbin/grub --device-map=/dev/null
grub> device (fd0) /dev/loop7
grub> root (fd0)
grub> setup (fd0)
grub> quit
这里运行指令:file floppy.img,输出如下:
floppy.img: Linux rev 1.0 ext2 filesystem data
/sbin/losetup -d /dev/loop7,detach回环设备
再运行指令:file floppy.img,输出如下:
floppy.img: floppy.img: x86 boot sector, code offset 0x48
说明软盘已经可以引导了,找个bochs或virtual pc试试?
这个testos.bin究竟是什么咚咚呢?
她就是你作的os内核(elf格式),哈,还没做好吗?找个vmlinuz试试如何,
可以发给你一个简单的kernel给你测试一下(msn:jinglexy at yahoo dot com dot cn)
grub加载内核
最新推荐文章于 2024-06-12 22:55:49 发布