ubuntu上编译HIT-linux0.11

       一直在实验楼上做的哈工大Linux0.11的实验,但是最近觉得在上面不能保存实验环境。而且有时候一下子卡了,所有的功劳就白费了。所以想在自己电脑上弄一个实验环境,方便自己做记录,也能有更多“自主权”了。

       由于那个实验的源码里面东西不错,有bochs,也不用自己配了,况且也用习惯了。因此就下载下来压缩包:

hit-oslab-linux-20110823.tar.gz 下载地址:

https://github.com/hoverwinter/HIT-OSLab/blob/master/Resources/hit-oslab-linux-20110823.tar.gz 

下载之后,解压:

                                        

解压完成后,可以看到多了一个oslab文件夹,进入到解压的oslab文件夹中,

                                

可以看到里面有这些文件夹,进入到linux-0.11文件夹中,make all编译源代码,在编译的时候会出现错误:

问题一:as86:命令未找到

解决方法:sudo aptitude install bin86 

但是,有时候你的系统里面可能没有aptitude,无妨,我们把它加上就行sudo apt-get install aptitude

效果如下:

安装aptitude:

安装bin86:

此时问题一已经解决了。接着输入make all命令

问题二:gcc-3.4命令未找到

解决方法:这是由于我们的系统自带的gcc编译器版本比较高,可输入ls /user/bin/gcc*查看gcc版本

可以看到我的编译器没有gcc-3.4版本的,所以会报错,怎么办呢?

解决方案:

http://old-releases.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/  打开这个网址,在里面找到这几个deb安装包:

gcc-3.4-base_3.4.6-6ubuntu2_i386.deb   //第一个安装

cpp-3.4_3.4.6-6ubuntu2_i386.deb   //第二个安装

gcc-3.4_3.4.6-6ubuntu2_i386.deb  //第三个安装

下载这三个安装包后,依次进行安装 sudo dpkg --force-depends -i xxx.deb

之后在检查一下gcc的版本,发现此时系统里面已经有了gcc-3.4版本,so,let's go on!

到此,问题二已经解决。

接着,make all ,可以看到一路顺风,再无拦路虎。

自此,完整的编译完成。

退到oslab下,输入./run

可以看到,bochs成功进入到linux0.11环境中。

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
带中文注释可成功编译运行的Linux0.11+Bochs2.62实验环境说明 此注释以网上获得的“linux带中文注释的0.11版本”为基础,对照赵炯博士《Linux内核完全注释(0.11) 》V3.0版(http://oldlinux.org/download/clk011c-3.0.pdf)编辑而成。作为对赵博士感谢,以及对Linux初学者的回馈,特发布在CSDN上。 此注释可以在http://oldlinux.org/Linux.old/bochs/提供的Linux-0.11-devel-XXXXXX实验环境下正确编译成功,使用:"make disk"命令重启Bochs虚拟机后,新编译源码直接生效,便于学习者直接阅读源码,直接进行实验。 注意事项: 1、为了使注释版与实验环境上的Linux0.11内核保持一致,达到对应文件可以互换的目的,与Linux0.11原始版本相比,加入了15个系统调用函数(参见include/Linux/sys.h第78-92行。赵博士原书没有这部分注释,我不敢班门弄斧),其它相关的文件加入了相应的定义。新加入的代码只有函数体定义,没有具体实现,对其它原始代码没有改变、没有影响。 2、键盘定义改成了美式键盘(原始代码中是芬兰键盘,会导致个别键出问题,调试的时候我曾被迷糊了好久,以为自己把程序搞乱了)。 3、把网上VC版的注释统一改成了 “/* */” 格式的注释。经测试,在Linux0.11实验环境中(gcc1.40),只有标准C注释语法可以正常编译。 4、由于《Linux内核完全注释(0.11) 》原书版本更新的原因,注释中提到的图、表可能与V3.0版书中不一致。 5、由于代码中加入注释,代码行号发生变化,注释中提到的代码行号会出现不一致,建议对照3.0版查询对应内容。 6、实验方法:请先安装附带的Bochs2.62版安装包,双击Test.bxrc即可启动实验系统,执行命令:sh t,即可完成对linuxcn的编译。 7、linux目录中是此实验系统中/usr/src/linux提取出来的不含中文注释的linux0.11源码(此版本比原始的0.11版多15个系统调用函数),linuxcn是加入了中文注释的源码。 8、diskb.img是实验系统与Windows环境下进行文件交换的1.44M软盘映像,执行脚本命令"sh t"时会自动从此映像中读取linux.tar、linuxcn.tar包,解包并编译编译结果在:/usr/root/zw/linuxcn目录下。为了方便文件交换,建议使用7zip为压缩/解压缩工具(7zip可以直接生成tar包),用WinImage实现Windows环境与软件映像交换文件。 9、实验系统下 .profile中加入了几个命令,请读者注意。 10、若实验环境的启动盘被破坏,请用压缩包中的bootimage-0.11-hd覆盖对应文件即可。 11、若实验环境的要命文件系统被破坏,请用压缩包中的hdc-0.11-new.img覆盖对应文件即可。 2014-5-4 cyfx2288

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guaizaiguaizai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值