十二月 22, 2006

昨天把VM里边的kbuntu删了,准备尝试Gentoo。下了minimal CD却因为Gentoo的官方文档实在是没有看懂,总是觉得没有顺序似的,于是没能动手。隔了一天,发现干脆从零装起。于是瞄上了LFS(Linux From Scratch)。这个东西确切的说,不像Ubuntu、Gentoo等,是个发行版。而是,按照通俗的说法,就是提供一份拼装Linux的菜谱,然后一些指南。从零开始自己动手编译自己的linux系统。

这个实在是个很好的学习机会。

于是回到家就开始下载LFS的6.2.3的Live CD。其主要是提供一个合适的用于编译自己的Linux系统的宿主系统(Host),然后提供了一些必要的软件的源码包和补丁。可以在没有网络的情况下安装起基本系统。

下完之后便打开VM开始安装,一边读手册,一边按照手册中的指示一步步开始构建系统。嗯,虽说有手册在手,可是如果没有什么Linux经验的话,还是比较麻烦的。而我这种半吊子,还凑活。整LFS就是要有时间去研究,然后还要能够自己发现、解决问题。即使自己解决不了,也要能够在网上找到解答才行,不然,肯定成了无头案了。

第一遍安装,3GB分成两部分,一小点是Swap,其余的是Ext3主分区。安装Binutils倒是比较顺利,而之后的GCC4.0.3就没那么顺利了。主要是对手册有些误解,列出了需要的patch,可是却没有打上。鉴于手册上几乎没有源码包的拷贝、解压的说明,于是心想是否是把patch也省略了。于是自己擅自把specs补丁打上。结果就发生了make bootstrap出错。搞不清楚出错原因,但是发现config.log里边有错误提示gmp.h无法找到,choke未定义等。于是就认为是这里的问题,然后在网上搜索解决办法,折腾了半天,无果,删掉重来。结果删掉之后,就突然发现,原来在PASS1时,是不应该打补丁的。而config.log里边的错误信息是再正常不过的了。

于是第二遍。顺利通过,只是时间有些长。似乎GCC是时间长了点儿。目前没有任何问题。进度到5.7,明天有时间继续。