doooom 是 LFS 的狂热者(zealot:),下面是他安装 LFS 的经历,对于第一次安装的人,肯定是大有助益,即使你不是第一次安装,也能从中找到对你有用的部份。
LFS是LINUX FROM SCRATCH的缩写, 就是你从网上自己抓包下来组合自己的LINUX。自己从零开始编译一个自己的系统,怎么叫从零开始呢 你所需要的之是一个有最简单编译环境的REDHAT,一个空的分区. 一堆从网上DOWN下来的 RAW SOURCE源码包. 用命令行编译成一个成熟的系统.中间没有任何别人给你加的调料. 和GENTOO相比,LFS更加DIY, 除了源码不是你写的, 其他都要自己作. GENTOO还有EMERGE命令什么的. 好在我们有一本非常详细的LFS手册, FOLLOW IT EXCATLY,EVERYBODY CAN MAKE IT.
作为一个发烧友,怎么能不装自己的音响呢
作为一个电脑玩家, 怎么能不会攒电脑呢
可能我们自己作的音响比不上建武,攒的电脑快不过DELL.
但是, WE CHERISH THEM AS WE DID THEM OURSELVES
所以, 作为一个LINUX-ANIMAL, 我们要编译属于自己的DISTRIBUTION.
LFS的魅力是什么
不是它可以编译到最快.
不是它可以STRIPE到最小.
而是,它最DIY!
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)的任务了, 日后介绍.