+ -
当前位置:首页 → 问答吧 → [迈出第一步] 初学者请进,看完再开始 LFS。

[迈出第一步] 初学者请进,看完再开始 LFS。

时间:2005-11-19

来源:互联网

欢迎来到 LFS 世界。

如果你是第一次 LFS,请仔细阅读以下内容。



LFS 是否适合你?引用 LFS 书中的语句:
引用:
The goal of Linux From Scratch is to build a complete and usable foundation-level system. Readers who do not wish to build their own Linux system from scratch may not benefit from the information in this book. If you only want to know what happens while the computer boots, we recommend the “From Power Up To Bash Prompt” HOWTO located at http://axiom.anu.edu.au/~okeefe/p2b/ or on The Linux Documentation Project's (TLDP) website at http://www.tldp.org/HOWTO/From-Power...mpt-HOWTO.html. The HOWTO builds a system which is similar to that of this book, but it focuses strictly on creating a system capable of booting to a BASH prompt. Consider your objective.
LFS 的目的,LFS 手册适合哪些人以及做 LFS 的条件是什麽 这些是要知道的,不然盲目的进行 LFS 就是浪费自己时间。
请不要一开始就进行LFS,因为它不适合初学者。LFS 是需要一定的基础的。

引用 d00m3d 的一句话:對任何想深入了解的Linux愛好者,不論你現用哪個發行版,最少都應該做一次LFS,一定會終身受用的。
说的是深入了解 Linux,不是从头了解 Linux。不要看到我的签名就觉得 LFS 非常容易,LFS 就是 Linux DIY,容易与否自己掂量。


大概需要什么基础?
0. 知道 Linux 系统大概的情况。
别连 bash/shell 这类基础都不清楚的话,请去基础版,这里不适合你。

1. 编译软件知识。
1.1. 至少知道编译软件是要在源码目录里边进行的(几个特殊包除外,而且这些 LFS 都写的很清楚的。)。
1.2. 编译是需要 gcc/g++ 的,当然其他编译软件需要其他的,但是这2个是基础。

2. 命令运行等。
2.1. 如果运行命令出错,知道大概的原因。比如 ifconfig 出错,也许是 ifconfig 这个文件不存在,或者 PATH 不对。
2.2. 命令运行后,结果不对的话,这个要对命令的作用清楚,如果只是单纯执行一个命令的话,没有意义。最明显的是调整工具链的时候,那个长长的 perl 语句,一个字母的错误,也许就会导致运行失败,或者没有效果。

3. 分区,启动设置(如grub/fdisk) 等。
这2个问题,其实很难回答的,你自己的机器,谁知道怎么设置好?而且个人有个人的爱好,我喜欢把boot放在第一个分区,但是很多人似乎都不是这么做的。

4. 懂一点英语。
别一点不懂,这个很麻烦的,LFS 是外国发明的,信息最多的是在国外,光看中文资料,你是看不出什么东西的。而且碰到问题,自己去搜索,要比等别人回答要好。

5. 看帖子。
置顶帖,精华帖,不看就来发问的,是最惹人讨厌的。别拿什么借口来推托(加急,下跪,磕头的更别来),如果连精华帖或者置顶帖都不会看的人,那就别来。No offensive.

引用一下一位仁兄的说话,我觉得很有道理的。
引用:
白痴一个(XXXXXXX) 10:38:00
其实
初搞clfs,强烈建议,会linux的几个常用的基本命令
然后,虚拟机下搞lfs,通过ssh搞
用官方的livecd+manual,照着copy paste
好,我都基本具备。怎么开始?
:还不知道在哪里下载的话,请看。
http://www.linuxsir.org/bbs/showthread.php?t=150144

:Host System的选择?
LFS LiveCD 是首选。FC3也还可以。其他的我不清楚。
最好别用 Gentoo。因为其GCC带有ssp补丁,很有可能会导致编译失败。
别用 RH9,RH8 等系统,因为太旧了!

:如果用虚拟机的话,最好别用 Virtual PC。VMWare workstation 是首选。
:顺便说一下,VMWare 的网卡驱动应该是 pcnet。不是你自己的网卡驱动。
显卡驱动是用 vmware,这个我是用 vmware-tools 安装的。有的人说不需
要,我没测试过。


LFS 编译守则。
:任何命令运行结束后,确保是正确结束!尤其是 make 和 make install 这2个命令。
:记得每次删除目录!包括编译目录和代码目录。除非是特别说明不要删除的。
:不要乱打patch。按照book上的说明进行是最好的方法。有时候看到某些人喜欢把所有 patch 都打上,那是不对的。
:书上的 toolchain 测试(不是那些make check),一个不漏全部都做,要保证正确性。第六章的 make check 建议作,虽然很占用时间。
:取消所有alias。运行alias就看到了。
:阅读 LFS 的 FAQ。http://lfs.pagefault.net/lfs/faq.html
:看看 http://www.linuxsir.org/bbs/showthread.php?t=184419


读完了,下载也下载好了,可以开始了。
:参考 youbest 的大作。各方面说明都非常详细。
http://www.linuxsir.org/bbs/showthread.php?t=244052

:LFS 过程相对来说比较长,如果中途中断的话,参考这篇文章来恢复进度。
http://www.linuxsir.org/bbs/showthread.php?t=242880


编译出现问题。
:如果一开始 Binutils 出问题的话,请使用 binutils-2.16.1。
原因请参考:http://www.linuxsir.org/bbs/showthread.php?t=242978


启动出现问题了。
:如果 LiveCD 启动不了,关掉 BIOS 中的 ACPI 试试。具体参考:
http://www.linuxsir.org/bbs/showthread.php?t=244410
:最好别运行第五章最后的 Stripping。等到第六章结束再说。不缺那一点空间,但是万一打错命令的话,你刚建好的临时系统就会被彻底毁坏。

如果途中碰到问题的话:
请说明你用的 Book,Host System,正在进行的章节,以及完整的错误日志。日志应该包括出错前的最后30行左右的内容。把当前目录也记得写上。
如果是关于分区,启动等问题,包括一下 fstab, menu.lst 和 分区 等信息。


BLFS的注意事项:
:别在chroot下进行,重启到新的LFS中进行。你可以chroot到原系统做你想做的事情。如果碰到任何问题,先确定不是chroot环境。
:一般进行到了BLFS的话,都很少出现问题的了。出现什么缺乏的话,就装什么,别嫌麻烦,因为 LFS 本身就是麻烦。最好找一个文件记录一下都安装了什么包,方便以后自己查询。

作者: 晨想   发布时间: 2005-11-19

我想另一个常见现像是初学者搞不清安装软件的路径了,这点是因为LFS手册没有明确列出而导致的

作者: d00m3d   发布时间: 2005-11-19

不知道这样是否好:
在LFS 中文版里边加入路径说明。把中文版弄的更完善一些。
一般看英文版本的,多是大概明白的了,所以放在中文版里边,想参考也可以。

英文版的又要去LFS说,麻烦,还不一定认可。

作者: 晨想   发布时间: 2005-11-19

我建议重视这几章,仔细看看

作者: ehu   发布时间: 2005-11-19

引用:
作者: 黯然销魂
不知道这样是否好:
在LFS 中文版里边加入路径说明。把中文版弄的更完善一些。
一般看英文版本的,多是大概明白的了,所以放在中文版里边,想参考也可以。

英文版的又要去LFS说,麻烦,还不一定认可。
好主意,赞成!

作者: d00m3d   发布时间: 2005-11-19

引用:
作者: ehu
我建议重视这几章,仔细看看
我赞同。。

问题是,这几章里边没什么实际操作的东西,大家都容易忽略里边的细节。

作者: 晨想   发布时间: 2005-11-19

引用:
作者: 黯然销魂
在LFS 中文版里边加入路径说明。把中文版弄的更完善一些。
严重赞同!我开始的时候就为路经的问题头痛的很~
另外每一节都省略了解包和切换目录的命令,有时候还真麻烦,也应当加上去,所有命令尽量用绝对路经,这样对于新手来说就不会迷糊了。
还有一点,因为通常新手在做LFS的时候不会偷懒用ALFS,所以通常是个漫长的过程,所以在第5/6章结束的时候应当详细的讲清楚此时关机应当如何正确的操作,开机进行下一章前应当进行什么操作,尽量详细的写出来。
关于中文的问题大家都一直很头疼,所以应当有相关的详细说明。

以上是我的体会,希望在下一次做LFS7中文版的时候能够完善起来

作者: csfrank   发布时间: 2005-11-19

先改进一下这个这个版本6吧。7也许短时间内出不来(半年)。

不过好像LFS 6.X 的一个 pre1 出来了。不知道有什么具体的改变。。

作者: 晨想   发布时间: 2005-11-19

没问题!LFS6的下一版(6.2??)出来的时候做这个工作也可以,最近比较忙,正在研究C的socket编程,比较忙~
要不然就把这个6.1给修订一下了,哎~汗ing....

作者: csfrank   发布时间: 2005-11-19

我看看是否有时间周末改了去。

先改了现成的,以后的就容易了。:)。

作者: 晨想   发布时间: 2005-11-19

引用:
作者: d00m3d
我想另一个常见现像是初学者搞不清安装软件的路径了,这点是因为LFS手册没有明确列出而导致的
说得经典,,我就吃了这亏,,也好,,吃一亏长一智拉~~~

作者: foryouonly   发布时间: 2006-01-03

请问LFS LiveCD速度怎么样?
我用Ubuntu LiveCD简直要我等一年才能出来个什么东西

还有它对硬件支持怎么样?
我想把先下载的更新版本的程序放在移动硬盘里
好在安装LFS时直接使用

作者: Vamperor   发布时间: 2006-01-03

啊?!我第一次用的是LFS LiveCD 在VMware上来搞得,结果后面出问题了,后来反思了一下,觉得可能是手动输入有可能出错,就想直接copy书上的命令来安装,host就是Gentoo,开了一个ssh终端等路上去搞得,正在编译。。。。
看了楼主的提示,我这心呀,拔凉拔凉的。。。。
这两天的编译看来又要白搞了!!



引用:
作者: 终极幻想
欢迎来到LFS。如果你是第一次LFS,请阅读以下几条建议,方便大家回答/讨论问题。


1。Host System的选择?
LFS LiveCD 是首选。FC3也还可以。其他的我不清楚。
不过,别用 Gentoo。其GCC带有ssp补丁,很有可能会导致编译失败。

2。阅读 LFS 的 FAQ。
http://lfs.pagefault.net/lfs/faq.html

3。有问题的话,请说明你用的 Book,Host System,正在进行的章节,以及完整的错误日志。
日志应该包括出错前的最后30行左右的内容。

4。记得每次删除目录!包括编译目录和代码目录。

5。想到再继续补充。

作者: ooio_karl   发布时间: 2006-01-11

现在大家都说里面的路径有问题。其实我觉得是没有认真看LFS手册。

LFS6.1中文:
5.1. 简介
在运行一个软件包的编译指令之前,需要用 lfs 用户解开这个软件包,并用 cd 命令进入软件包解开后的目录。编译指令假定您使用的是 bash shell
4.4. 设置工作环境
PATH=/tools/bin:/bin:/usr/bin

很多朋友遇到路径问题,多是这2点没注意吧

作者: good02xaut   发布时间: 2006-02-24

我的签名是白写了。。。。。

作者: 晨想   发布时间: 2006-02-24

初次 LFS 的人,请仔细阅读 BOOK 并且按照 BOOK 的指令进行!!!

斑竹指的是这个嘛?
如果大家真的全部按照BOOK来了,怎么会出问题呢?
出问题的几率为0%!

如果出问题就是主机上的Linux有问题,而不是LFS的安装问题。
那就用liveCD,如果还有问题那就是硬件的问题了

作者: good02xaut   发布时间: 2006-02-24

为什么都喜欢自作聪明的改一下呢,尤其是第一次LFS的人。真不明白。。

作者: 晨想   发布时间: 2006-02-25

很多人就永远的牺牲在了第一次!

作者: lvjinhua   发布时间: 2006-02-25

引用:
作者: 终极幻想
为什么都喜欢自作聪明的改一下呢,尤其是第一次LFS的人。真不明白。。
偶可是严格安装SVN20060123-book来的,host用的是LiveCD环境,刚刚顺利到达第6章。
版主不是说我的吧?

话又说回来了,如果都是按部就班,还会有问题产生吗?
到时候的贴子就是:
你输入错了,把tools写成了tool。
你把大写看成了小写。等等。

这时候的LFS已经失去的存在的意义啊!!!

根据book来,host用的是LiveCD,会有错误吗?
给个理由先,版主。偶可是绞尽脑汁都想不出来:ask

作者: good02xaut   发布时间: 2006-02-25

引用:
作者: good02xaut
偶可是严格安装SVN20060123-book来的,host用的是LiveCD环境,刚刚顺利到达第6章。
版主不是说我的吧?

话又说回来了,如果都是按部就班,还会有问题产生吗?
到时候的贴子就是:
你输入错了,把tools写成了tool。
你把大写看成了小写。等等。

这时候的LFS已经失去的存在的意义啊!!!

根据book来,host用的是LiveCD,会有错误吗?
给个理由先,版主。偶可是绞尽脑汁都想不出来:ask
保证 100% 输入正确,整个 book 走一次,并不是非常容易的。而且,不做一次,很多东西你是不会体会到的。脑袋里边想的东西,不代表就是能实现的。而且,你觉得 LFS 很容易的话,CLFS/HLFS 你都可以去尝试。弄明白后,再考虑修改 LFS 的步骤。我觉得比较稳妥。

兄弟,你想研究的深刻一点的话,帮我找一下编译出来的程序是如何定位 libgcc_s.so.1 的。我最近编译出来的gcc都不能正确定位,导致运行出错。
我只要 cross compiler,不用安装临时系统。

作者: 晨想   发布时间: 2006-02-25

第一遍还在进行,估计明晚应该可以竣工:)

至于你提到的libgcc_s.so.1,不清楚你是什么意思。
是要做个cross compiler吗?
等我的LFS完了,一定找个时间做个cross compiler出来。

作者: good02xaut   发布时间: 2006-02-25

没错,我是要作一个 cross compiler,而且 glibc 是自带的,不是用系统的。类似第五章,但是没有装那些工具而已。

加油。:)。

作者: 晨想   发布时间: 2006-02-25

http://blog.21ic.org/more.asp?name=good02xaut&id=9177
http://blog.21ic.org/more.asp?name=good02xaut&id=9178
这里有你要的答案。
glibc要自带的,不要系统的,你的意思是把上面第2贴的uclib换成glibc?
应该可以。

你先,我随后就动手。呵呵

作者: good02xaut   发布时间: 2006-02-25

谢谢你的连接。但是似乎和我的要求不太符合。

1。我不用 newlib。
2。我不用 uLibc。
3。他的 toolchain 很简单,但是似乎并不符合我的要求。

3。要 gcc 用新编译的 glibc,这个容易。但是现在是不到 libgcc_s.so。我似乎找到问题所在了,但是还不确定如何修改。

作者: 晨想   发布时间: 2006-02-25

PATH=/tools/bin:/bin:/usr/bin

高手们能能详细解释一下这个工作环境变量设置的说明吗?

PATH(工作目录)在/tools/bin下... :/bin 代表什么意思啊..搞不懂了..
呵呵..不要笑话我..我是菜鸟嘛....:-)

作者: youbo_2   发布时间: 2006-03-08

引用:
作者: youbo_2
PATH=/tools/bin:/bin:/usr/bin

高手们能能详细解释一下这个工作环境变量设置的说明吗?

PATH(工作目录)在/tools/bin下... :/bin 代表什么意思啊..搞不懂了..
呵呵..不要笑话我..我是菜鸟嘛....:-)
PATH就是命令的搜索路径顺序,路径之间用:来隔开

PATH=/tools/bin:/bin:/usr/bin
的意思就是:输入一个命令,从/tools/bin找,如果找不到则到/bin里找,如果还找不到就到/usr/bin里找.依次找下去.

作者: youbest   发布时间: 2006-03-08

严格按照 svn-book 的有可能会出错.

第一次最好还是用 release 的.

作者: dyhml   发布时间: 2006-03-08

说真的,最近的SVN,我觉得都没问题。反正这2个星期我作的 SVN 不下 3个,都没出错的。。。不过还是用 release 的比较好。:)。

作者: 晨想   发布时间: 2006-03-08

俺觉得错误并不可怕,有问题总比没问题好,关键是寻求解决之道:)

作者: good02xaut   发布时间: 2006-03-10

第一次是不是很痛苦呀!

作者: jhj   发布时间: 2006-03-26

第一次搞LFS的朋友,确实是用LiveCD好!
而且最好先用里边的ALFS全自动的做一次,确认里面的命令、软件没有问题,然后再手动做一次LFS,如果出现问题,则肯定是自己的问题,再仔细看看LFS-BOOK,查出问题在哪。

作者: yd_xzn   发布时间: 2006-05-20

不同意,第一次搞LFS的朋友不应该去 ALFS!

作者: d00m3d   发布时间: 2006-05-20

CD下载的时候,验证了 md5 就好了。一般不会出现错误的,只要你的指令是正确的。。。

尽量别用自动的东西,,第一次手动最好。。

作者: 晨想   发布时间: 2006-05-20

谢谢终极幻想,让我向LFS迈出了自己的第1步

作者: linuxost   发布时间: 2006-08-01

嵌入式跟LFS可能有一点点的关系吧

作者: sumargin   发布时间: 2006-08-01

跟 CLFS 可能也有一点点的关系。。。

作者: d00m3d   发布时间: 2006-08-06

引用:
作者: d00m3d
我想另一个常见现像是初学者搞不清安装软件的路径了,这点是因为LFS手册没有明确列出而导致的
。。。以前我很赞同这个建议,不过现在我觉得,如果这个都不清楚的话,最好还是先去学习一下基础知识。。

作者: 晨想   发布时间: 2006-08-13

引用:
作者: 终极幻想
。。。以前我很赞同这个建议,不过现在我觉得,如果这个都不清楚的话,最好还是先去学习一下基础知识。。
也有道理!

作者: d00m3d   发布时间: 2006-08-16

看一遍让我觉得神清气爽!

作者: future_god   发布时间: 2007-03-02

感动中...早想lfs了,一些问题总是困惑,现在豁然开朗了.

作者: cgood   发布时间: 2007-03-18

haha , int!

作者: chinamzx   发布时间: 2007-05-28

看看学习学习

作者: yoyluanlai   发布时间: 2008-01-24

用了3天半了,第一个内核启动失败,想重进以前的环境重做,结果chroot时报/tools/bin/env不可访问,晕.
格式化了,现在重头再重做一遍.边做边看大侠的文章.

作者: tlze   发布时间: 2008-01-27

好久都没lfs了,看看你们谈话。我又想lfs了。等夏天来了去买个新机子再来一次。准备改变上次lfs的办法。不再边看文档边lfs了。准备先把文档看得很熟然后lfs时不再看文档。这样更助于用脑去lfs 。

作者: 松心心   发布时间: 2008-01-27

引用:
作者: 松心心
好久都没lfs了,看看你们谈话。我又想lfs了。等夏天来了去买个新机子再来一次。准备改变上次lfs的办法。不再边看文档边lfs了。准备先把文档看得很熟然后lfs时不再看文档。这样更助于用脑去lfs 。
境界好高呀~ 我不知道何时才能达到

作者: Vamperor   发布时间: 2008-01-28