linux 0.01,编译linux0.01

编译 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了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值