LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 674|回复: 0

写给准备做LFS或者刚开始做LFS的新手

[复制链接]
发表于 2010-4-14 17:56:04 | 显示全部楼层 |阅读模式
我做了四次LFS,第一次做LFS是根据youbest的<<手把手教你建立自己的linux系统>>来做的http://blog.chinaunix.net/u/13265/showart.php?id=477122,做得很快,大概一天就做完了,基本上对照着命令敲,只要不敲错,基本上没有什么问题,可是做完第一次LFS之后,并没有感觉对linux系统的了解有多少的加深...仍然有很多问题无法解决,很多问题不明白为什么...Server Only说是我对LFS手册没有领会...这次又重新花了近一周的时间来重新做LFS,按照手册一步步走的,对里面的不懂的知识点都进行学习..现在的确觉感觉到对LFS的理解深了一些...

       所以这里建议,新手或者刚开始LFS的朋友,不要照着快速手册做,那是将LFS手册上命令的一些缩到一起了,没有讲到原理..所以即使做了,也只是敲过一堆命令而已...

      下面是我做LFS时学习到的一些知识,也是新手需要了解而且比较容易搞晕的知识点:

1)关于工具链:
      搭建工具链的目的实际上是作了一个用来做目标系统的精简的linux临时系统,这样做的目的是,尽量的避免与宿主系统纠缠在一起,而这样做能够实现的原因则是工具链的高度自包含,自依赖的特性.
      在工具链中比较容易搞混淆的是动态连接器和标准连接器以及工具链的调整.
      动态连接器是由Glibc提供,用来找到并加载一个程序运行时所需要的共享库,会被嵌入到每个共享ELF的可执行文件里,因此通过readelf命令可以查到系统的动态连接器的名称,一般情况下是ld-linux.so.2.
      标准连接器则是处理库文件的搜索路径,确保程序仅连接在指定的库上.标准连接器和汇编器是包含在Binutils中.
      对工具链的调整有两次,第一次是在制作工具链的时候,要限制搜索路径在/tools/lib中,目的也是为了尽量避免和宿主系统纠结,然后会修改gcc的specs文件,使它指向新的动态连接器;第二次是在开始制作目标系统的时候,则是为了使用目标系统下面的/lib和/usr/lib等库,这次的目的则是,避免程序编译的时候和/tools/lib相关联,方便等系统做好之后对/tools工具链进行删除,这也是说工具链是临时的原因.体会好PATH的设置就可以较清楚的明白这些实现的过程.

2)虚拟文件系统
      在所有的linux发行版中,/dev,/sys,/proc这些目录下的文件都是不可编辑的,因为这些都是虚拟内核文件系统,由内核在引导的过程中产生的,并不存在于硬盘上,他们是用来和内核进行通信的.
      在/dev下填充设备时,先在/dev上挂载虚拟文件系统,然后检测到新的设备的时候就动态的创建设备节点.这里涉及到我之前问的关于设备驱动的问题,对于已经编译进内核的驱动程序,当被内核检测到的时候,会直接在sysfs文件系统中注册其对象;对于编译成模块的驱动程序,当模块载入的时候才会进行注册.一旦挂载了sysfs到/sys上,内建的驱动程序在sysfs上注册的数据就可以被用户空间的进程所使用,并提供给udevd创建相应的设备节点.udevd利用modprobe来支持热插拔的情况.

3)无法找到设备
      看到有很多人问怎么没有找到cdrom,当时我做完了也是没有,我是用lfslivecd进去,然后查看cdrom的属性,才知道cdrom实际上是/dev/hdc的一个符号链接,因此,我在LFS出的系统中对/dev/hdc做了个链接,结果就好用了..后来我又试了下,不建链接直接使用hdc也是可以的...虽然是个很简单的问题,但是能自己想办法找到答案,感觉也不错...这里想说的是,linux下有很多设备是建立的一些链接而已,如果找不到,就看看原系统中,最本来的面目是什么就可以了...

      LFS手册有写得超好的一句话:理解linux系统是如何工作的关键在于明白每个包的用途以及为什么用户(系统)需要它.----我觉得这句话也是新手需要使用LFS详细手册的原因.

      做LFS总结是:利用宿主系统,生成一个简单简洁的于宿主系统尽量无关的linux系统(工具链),然后利用工具链工具,将一块磁盘格式化成你目标系统的文件系统格式,然后再利用工具链来定制你所需要的linux系统,安装你所需要的软件,来实现定制.

      完了..这是我这一周艰苦做LFS学习的知识点...不知道是否正确,希望高手们指正...也希望对新手有些帮助...

接下来准备做BLFS和CLFS...good luck...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表