自己动手搭建 Linux 0.12 编译环境 — 开篇

起因 =>

在想到说要搭建0.12的编译环境之前,我一直在学习0.12的math/模块,从基础知识延伸出很多内容都是我从未涉足过的东西。我翻看了Intel Spec的很多章节,虽然英文很差,可是我会多看一遍,久而久之,感觉比较乏味。

我不是很耐得住很长一段时间做同一件事情的人,不过这样的僵局即将打开。偶然看到论坛中有人分享Linus早期经历,看得很兴奋,Linux在Linus设定的一个个目标中完成,好帅气喔~ 于是,我觉得自己应该换点有意思的事情。

Linux 0.12是一个非常好的“玩具”,不仅这样,它还完全透明,没有你摸不到的地方,只要你有兴致去玩弄它,它便会听从你的指挥。有时候玩起来感觉自己又回到了从前的时光!既然是玩具,那么得时常玩一下,让自己快乐起来。

这次我选择了在它的用户界面制造一些有意思的工具,很显然,编译成功一个应用使其运行其中是非常有意思的。(在之前我几乎认为这样做是否有必要,哈哈~|~)


坚持 =>

这两个字大家可能都看恶心了,我也是,老师还有父母常常教导。比如坚持跑完全程、坚持每天晨读、离高考100天坚持,大部分应该都已经习惯这样的叫法或语法。可是坚持是有不同的,有些坚持是很难估算终止时间的,坚持跑完全程,那么终点就在那里,坚持100天高考,那么100天就可以终止,而如坚持每天晨读,它却没有结束日期,因此从这样的角度分析,坚持需要分别看了!

既然我已经决定了去搭建一个编译环境,那么我就要时刻准备着坚持二字,因为我无法预期完全时间,而且我可能会在某天选择放弃,因为我已经预估了离完成日期可能还得花费一个月且必须每天干,但是事情可能完全与你的预期不符,其实你只需在坚持一天,答案就会悄悄来临,可是谁能预期呢。这时,我们该如何选择?

对于我,我选择了在试试,或许会找到答案,是的,这就是信仰!我相信答案就在我的下一个想法里面了。


耗时 =>

不得不提,不得不说,3月3日,我开始着手搭建工作,大概3月11日我完成了编译工具,于是我开始测试它们,从这时开始,一个接一个的错误袭来,压力也越来越大,因为查找它们的原因我几乎想对自己说no。调整心理后,我决定和它决战到底。(其实现在想来,如果没有这些bug作伴,那么成功的乐趣将大打折扣)

我用一个txt文档大致的记录下了一些解决的过程和思路,以便于我之后的核对。

到今天23日中午还有一个bug在纠缠着我,不过心态已经非常平和了,因为我清楚的知道,它们不过如此。下午我解决了它,你可能很难相信,这是写gcc源代码的人犯的一个低级错误!算了,毕竟是1991年的事情了,谁还去计较呢。


准备 =>

当然,在自己想着手搭建0.12的编译环境之前,我已经比较熟悉Linux 0.12的工作原理,手头上也有相应的资源来帮助我完成这件事情。如果你看到这里后,希望自己也来实现它,那么我可以简单的罗列一下需要准备的:

1. bochs虚拟机的使用,当然你可以选择更好的

2. Linux主机,即你需要在该机器上完全许多的工作,最好是选择VMware来做

3. 源代码包,我相信这个你可以去找到,在oldlinx论坛和gnu源码库里面搜搜

4. 理解编译链接过程,这个一篇博客足矣

5. 了解Linux 0.12程序加载原理,这也比较容易,直接看看它的源代码即可

6. 学会在Linux主机上生成Linux 0.12可执行文件,这部分需要简单了解一下可执行文件的组成部分

7. 学会制作启动硬盘,为什么是硬盘不是软盘,因为软盘容量太小了

8. 了解Linux 0.12启动过程,看看boot/目录吧

9. 学会制作swap分区,这部在Linux 0.11上没有的,0.12新加的内容

10. ... 大概是这些,目前回忆起来差不多


噢,还有就是一颗“坚持”的恒心,不要觉得又恶心了,当你自己主动完成此事后,你会变得很开心!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值