doooom 的安装历程

doooom 是 LFS 的狂热者(zealot:),下面是他安装 LFS 的经历,对于第一次安装的人,肯定是大有助益,即使你不是第一次安装,也能从中找到对你有用的部份。

LFS 安装手记

LFS是LINUX FROM SCRATCH的缩写, 就是你从网上自己抓包下来组合自己的LINUX。自己从零开始编译一个自己的系统,怎么叫从零开始呢 你所需要的之是一个有最简单编译环境的REDHAT,一个空的分区. 一堆从网上DOWN下来的 RAW SOURCE源码包. 用命令行编译成一个成熟的系统.中间没有任何别人给你加的调料. 和GENTOO相比,LFS更加DIY, 除了源码不是你写的, 其他都要自己作. GENTOO还有EMERGE命令什么的. 好在我们有一本非常详细的LFS手册, FOLLOW IT EXCATLY,EVERYBODY CAN MAKE IT.

PS: 命令行不用自己打了,COPY PASTE就可以了.

写在动手之前:这个文档中提到的PACKAGE都可以到ftp://130.85.162.91 usr: linuxsir pwd: linuxsir 下载,就在里面一个叫LFS的目录里面,跟目录还有一些杂七杂八的东西,比如STARSUITE什么的.(EDU网的朋友可能要用代理,小弟实验室的机器,大哥们千万不要黑阿.....)把LFS目录里面的东西都DOWN下来,我整个安装过程里面涉及到的东东就都有了.除了源码包,还包括LFS BOOK & BLFS BOOK。这里LFS 和BLFS是CVS20021023版的。

READY GO: LFS BOOK 里面对安装写的非常的详细,只要按部就班一般可以顺利通过安装.这里写一些他BOOK里面没有提到的东西.

在编译之前有一个工作是OPTIONAL的但是建议作一下.就是找出合适自己CPU的编译参数。参见Safe flags to use for gentoo-1_4.thm( in my download directory )找出合适的参数之后 在进入了lfs用户之后用export付值。在这之后编译都会自动加上这个参数的.但是如果重新起动,应该要再设置一下.

首先分区建立目录, 新用户都没什么问题.建立新用户的目的主要是避免对原来系统的误操作.在建立新用户的bash_profile时候把LC_ALL设置成zh_CN.GB2312。这个地方是不是设置LOCAL看起来没什么影响(tram:我没有设的说)。

解压缩包.tar jxvf xxxxx.tar.bz2 在安装第一个包的时候可能会遇到一些问题. 比如告诉你 /dev/null permission denied can't create temp file sth like those 这个没关系,把/dev/null 和/tmp的其他拥护的读写权打开. 对系统不会有什么影响的

然后几个压缩包都没什么问题. 只是值得注意的是patch文件的路径,如果你在static/src/xxxxxx/下,就要把他的 ../xxxx.patch 改成 to ../../xxxxxx.patch (tram:最好把路径和书上设置得一样,这样拷贝命令方便:)。解patch包用命令行:

bunzip2 xxxxxx.bz2
gunzip xxxxxx.gz 

在安装GCC的时候用GCC-CORE那个包,和GCC-G++那个包,俩包是解到一个地方的。

在装完了util-unix.......之后就可以change root到你将来的根目录中了。但是chroot之前要用su - root换回root用户,在安装之前不要忘了把编译参数和LC_ALL重新设置一下。如果你不喜欢这个提示付, 可以用 PS1="\w#"改成显示当前路竟. 这个是很helpful的.

安装MAKEDEV的时候,把那个压缩包展开之后,直接在/static/目录执行命令就可以。

在安装glibc的时候要注意在解了glibc之后,进入那个目录再解/static/里面的glibc-linuxthread.....这个包.然后再执行它的命令.在PATCH的时候有一个地方说找不道文件,我反正是忽略了

安装GCC的时候, 最好把原来的GCC-XXX的目录删掉重新来,当然如果你够高手, 知道WHAT'S GOING ON HERE, 那就大可不必了.

象TEXTUTILS这样的包原先装过的,重新装之前要MAKE CLEAN一下. (tram:我都是把目录删掉,从头来的)

安装SH-UTILS时候说我的ls -t broken 原来也没遇到过,这样就好了:

cp /static/bin/ls /bin

设置LOCAL TIME的时候

ln -sf ../usr/share/zoneinfo/GMT /etc/localtime 

我设成别的之后每次起动系统时间会自动调慢几个小时. 当然, 如果你不设置后面的setclock script 中UTC=1也可以,

键盘设置的时候把ln.map.gz change to us.map.gz

在配制内核的时候,要注意有一些选项是一定要选的.

Processor type and features > MTRR block device Y 
file system >vfat Y

如果有CDRW的话......然后根据cdrw drive的不同, 如果是scsi的:


SCSI support menu 
SCSI support: Y or M 
SCSI CD-ROM support: Y or M 
SCSI generic support: Y or M 
Vendor-specific extensions: Y 

如果是IDE的,

ATA/IDE/MFM/RLL support menu 
IDE/ATAPI CDROM support: N 
SCSI emulation support: Y or M 
SCSI support menu 
SCSI support: Y or M 
SCSI CD-ROM support: Y or M 
SCSI generic support: Y or M 
Vendor-specific extensions: Y 

Y 表示内核内歉支持, M 是模块支持, 这里没大区别了. 只是主意要disable IDE CDROM 注: 这里把ide disable是要把ide 光驱模拟成scsi光驱.是不影响使用的, 除了你可以刻盘.

到此,你的LFS系统就可以起动了.但还只是文本界面的.X-WINDOW的安装将是BLFS (beyond LFS)的任务了, 日后介绍.