当前位置:操作系统 > Unix/Linux >>

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里面没有提到的东西. 对于整个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看起来没什么影响。

解压缩包.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 change to ../../xxxxxx.patch

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

解patch包用命令行
bunzip2 xxxxxx.bz2
gunzip xxxxxx.gz

在装完了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一下.

安装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)的任务了,
日后介绍.
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,