`
qwjcool
  • 浏览: 69268 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用LFS打造自己的Linux心得体会

阅读更多

 最早看到LFS这个名词是在3年前,那时我还在搞.NET,只是简单的查了一下LFS的含义,以为是Linux的又一个发行版,就没在意。最近突然想到了它,就仔细读了一下它的手册,才发现它只是一个手册,指导用户如何从头创建一个Linux系统。于是我就照着手册开始做了。

说是从头开始,其实还是要有一些基本环境的,比如你至少要有一套Linux下的编译环境glibc,gcc等不能少,因为有些安装包的Configure脚本需要用到gawk,grep等工具,所以在开始整个任务前也要检查下这些工具。好在LFS的手册最开始部分已经列出了所需的所有工具,用户只需要看看自己的环境下面有没有就行了。如果是使用LFS的LiveCD,它里面已经包含了这些基本工具,也就不需要再安装其它东西。我在一开始是跳开了这一章,结果在后面的某次编译时,出了一个不明的BUG,在网上查了好一会,才发现是少了gawk这个工具,后来看到这一章,后悔自己没耐心全看完。所以,如果是第一次用LFS时一定要按部就班的来,可以省掉后面很多麻烦,但麻烦也是相对的,如果不出现这些麻烦,也就不会完全理解为什么需要这些工具。

详细的步骤我就不说了,LFS的手册中已经写得很清楚了,这里主要说一下我在编译过程中遇到的一些问题,及解决办法。

 

第一个问题出现在编译GCC的时候,其中有个选项--with-local-prefix=/tools,其实在这个时候/mnt/lfs/tools/include目录中根本没有glibc的头文件以及linux kernel的头文件,整个手册中也没有交代这些include文件是什么时候从什么地方复制到这个目录中的,我想可能是从系统的/user/include中复制过来的。因为在开始编译的时候使用的glibc是/usr/lib中的。这样一来,不只要复制include文件还要复制lib文件,这时候又有问题了,我应该复制哪些lib文件呢,整个目录中有很多库文件,而且又有各种各样的link,于是我就试着从头开始,在编译binutils之前先安装linux api再编译glibc,除了--prefix=/tools之外,不加任何其他参数,编译成功后,在开始手册上的第一步。这样就使得后面编译过程中--with-local-prefix=/tools这个参数不会导致错误。事后我查到关于gcc升级的步骤,也是先编译glibc(前提是gcc以来的glibc需要更新),然后编译gcc。

第二个问题出现在第二次编译glibc(按照手册的顺序是第一次编译glibc),make时发生错误,网上搜了下,原来是我的debian上缺少gawk,于是就装了一个,重新configure后编译通过,这点在之前也提到过,一定不要漏掉LFS手册中开头的部分。

第三个问题是关于环境变量,LFS手册中再三强调要建立一个lfs用户,并且所有的第一轮编译必须使用这个用户进行。我因为中途切换到root去复制一些文件,之后又忘记切换回来,导致在编译一个工具时出现 cannot compute sizeof ( double long )这个错误。前后检查都没问题,后来突然发现自己用的不是lfs用户,再查看环境变量,和lfs差很多。切换会lfs之后,重新configure,编译成功。事后分析很可能是缺少LC_ALL=POSIX这个环境变量的原因(猜测)。

 

以上3个是我这几天来遇到的3个主要问题,也都出现在第一轮。第二轮编译,很顺利,基本上是打字编译再打字再编译的工作。整个过程我一共用了2个双休日,和2个半工作日。终于在今天中午顺利的启动了我自己编译的Linux系统,并且在LFS的网站上注册了用户,我的ID是20188。嘿嘿,感觉还不错,接下来就是要把手册中我偷懒漏掉或者没有详细研究的部分再补上,然后继续研究BLFS手册。

感觉这几天来还是学到了不少的Linux知识,包括工具的使用,到Linux中文件结构的组织,这算是给我的Linux之旅充了一次电。

0
0
分享到:
评论
1 楼 rg9981 2009-01-28  
:) 我也在玩这个,现在第三次编译到gcc,暂时遇到点问题,不久也可已经见到我自己的lfs

相关推荐

    LFS_Linux.rar_LFS_LFS LINUX_LFS Linux downlaod_LFS lin_lfs linu

    《LFS:亲手打造你的Linux操作系统》 LFS(Linux From Scratch)是一个项目,它提供了一套详细的步骤和指南,让Linux爱好者能够从源代码开始,构建自己的Linux系统。这个项目的目标是帮助用户理解Linux操作系统的...

    LFS详细搭建指南——适合初学者使用_打造自己搭建指南Linux_linux下搭建lfs_lfs搭建_

    LFS项目允许用户按照手册的指导,从源代码开始构建自己的Linux发行版,从而学习Linux系统的工作原理。本指南专为初学者设计,旨在帮助他们一步步构建属于自己的Linux环境。 在开始LFS搭建之前,你需要准备一些基本...

    SSH远程登录VWware上的LFS_打造自己的Linux系统_LFS_

    在构建个人化的Linux系统,如Linux From Scratch (LFS)时,远程管理是十分重要的工具。SSH(Secure Shell)提供了一种安全的方式,允许用户通过网络对远程主机进行操作,尤其在VWware这样的虚拟环境下,它使得我们...

    git-lfs-linux-arm64-v2.12.0.tar.gz

    1. **安装**:在Linux ARM64系统上,用户可以解压`git-lfs-linux-arm64-v2.12.0.tar.gz`,然后执行`install.sh`脚本来安装Git LFS。 2. **配置**:在Git仓库中,需要配置LFS来跟踪大文件。这通常涉及在`....

    自己动手制作linux:lfs最新中文版

    《自己动手制作Linux:LFS最新中文版》是一份详细指南,旨在帮助用户从源代码开始构建自己的Linux发行版。这个过程通常被称为Linux From Scratch(LFS),它为那些希望深入理解操作系统工作原理以及定制系统以满足...

    LFS中文手册

    LFS──Linux from Scratch,就是一种从网上直接下载源码,从头编译LINUX的安装方式。它不是发行版,只是一个菜谱,告诉你到哪里去买菜(下载源码),怎么把这些生东西( raw code) 作成符合自己口味的菜肴──个性化...

    Linux-lfs.rar_LFS_linux

    Linux LFS,全称为Linux From Scratch,是一种独特的学习和构建自己Linux系统的方法。这个项目提供了一套详细的步骤,让有经验的Linux用户能够从源代码开始编译和安装最基本的Linux系统组件,从而创建一个符合个人...

    linux LFS搭建详细文档

    Linux From Scratch(LFS)是一个指南,它教你如何从源代码构建自己的Linux系统。这个过程不仅有助于理解Linux操作系统的工作原理,还可以根据个人需求定制系统。以下是对LFS搭建过程的详细步骤说明: 1. **课程...

    LFS中文版(Linux From Scratch)

    此外,LFS的构建需要一个“宿主系统”(Host System),即读者当前使用的Linux系统,在这个系统上进行编译和准备LFS系统的安装文件。 LFS的构建过程实际上是学习Linux系统内部结构和机制的一个非常好的实践机会。...

    Linux 入门 LFS制作

    - **定义**:Linux From Scratch (LFS) 是一个项目,旨在教授用户如何从零开始构建自己的 Linux 系统。通过手动安装和配置每一个组件,用户可以深入理解 Linux 的工作原理。 - **目的**:LFS 的目标不仅是创建一个可...

    LFS 6.4中文文档(LINUX FOR SCRATCH)

    《LFS 6.4中文文档(LINUX FOR SCRATCH)》是一份详尽的指南,旨在教导读者如何从源代码构建自己的Linux操作系统。LFS,全称Linux From Scratch,是一个项目,它提供了详细的步骤,让熟悉Linux内核和基本操作系统...

    git-lfs-linux-amd64-v2.12.0.tar.gz

    这个文件是一个压缩包,通常包含所有必要的组件,以便在Linux系统上安装和使用Git LFS。 在描述中提到的"Git LFS是用于使用Git管理大型文件的命令行扩展和规范",这意味着Git LFS提供了一组额外的Git命令行工具,...

    Git LFS是用于使用Git管理大型文件的命令行扩展和规范 这是3.3.0的Linux ARM 64位安装包

    安装包可能包括可执行文件、库文件、配置文件以及相关的文档,以支持在Linux ARM 64位系统上完整地安装和使用Git LFS。 使用Git LFS的步骤大致如下: 1. **安装**:首先,你需要下载并安装适用于你的操作系统的Git...

    git-lfs-linux-arm64-v2.13.2.tar.gz

    Git LFS 2.13.2 版本是针对Linux 64位系统的,这意味着它可以在运行64位Linux操作系统的机器上安装和使用。这个版本可能包含了性能优化、新功能以及对之前版本的错误修复。 在压缩包`git-lfs-linux-arm64-v2.13.2....

    中文版Linux From Scratch (LFS)指导手册7.7(systemd)

    Linux From Scratch(LFS)是一项教育性项目,旨在指导用户从头开始构建自己的定制Linux系统。LFS的目标是教授用户Linux系统的构造原理,以及系统内部的工作机制。通过这个过程,用户可以加深对Linux操作系统及其...

Global site tag (gtag.js) - Google Analytics