编译 linux 0.01
1.下载linux-0.11-devel-060625(这个有gar,编译时要用),bochs 2.5
2.建新硬盘img
用bochs自带的bximage建,按里的说明进行,也是256M.
然后fdisk,mkfs,然后把mkdir root, 然后把/bin,/dev,/usr复制过来,这样硬盘的minix系统就OK了。
2.按这个patch修改内核代码:
只能手动改,那个patch从网页上COPY下来,不能用了。
boot.s里的|改!,用vi的一个命令就搞定了,好在用不了几分钟.
*** 为了防止将来的linux0.01启动后报 HD controller not ready. ***
*** 需要修改hd.c -> controller_ready() ***
*** 1000改为100000 ***
*** (inb(HD_STATUS)&0xc0)!=0x40 改为 (inb(HD_STATUS)&0x80) ***
*** 这个参考 http://www.eetop.cn/blog/html/15/193015-21187.html ***
*** 还要改下硬盘的参数:(config.h) ***
*** #elif defined(LINUS_HD) ***
*** #define HD_TYPE { 16,63,520,300,980,0} ***
3.把修改后的代码放到linux-0.11-devel-060625
修改后的代码打个包:
tar cf linux.tar linux (在centos或redhat打包,然后用WinSCP取出来)
然后把linux.tar通过winimage放入rootimage-0.11,(也可以在centos,或redhat里进行)
然后启动bochs(用bochs-hd那个),启动后,把rootimage放入A盘,(最初放在B盘,怎么都不好用).
然后mdir a:看一下,会看到linux.tar
然后mcopy a:linux.tar /usr/src2(在哪里都行,在/mnt里也行)
另外,删除文件可用mdel a:filename
4.然后就进入/usr/src2,解开linux.tar: tar xf linux.tar
然后cd linux,然后make
5.把生成的Image再通过rootimage-0.11传出来.
mcopy Image a:
再用winimage从rootimage-0.11里取出这个Image,新建个目录linux0.01,把linux-0.01-devel-060625里的bochs-hd.bxrc弄过来。
改里面的参数:
floppya: 1_44="Image", status=inserted #这个Image就是编译生成的,只要和实际的文件对应就行了。
ata0-master: type=disk, path="hd256.img", mode=flat, cylinders=520, heads=16, spt=63
6.启动,OK了.
阅读(1916) | 评论(0) | 转发(0) |