`
aswang
  • 浏览: 848836 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

基于vmware7.1和LFS6.7构建自己的linux

 
阅读更多

基于vmware7.1和LFS6.7构建自己的linux

 

在几年前,我偶然接触到LFS,当时很感兴趣,于是参看网上的资料尝试编译了好几次,但刚开始就遇到一大堆的错误,让人很难继续走下去,最终都失败了,所以构建lfs的想法就搁置了。

最近看到LFS6.7出来,突然之间又有了编译自己linux的冲动,于是就找到网上的文章跟着编译,但是刚开始就报错,没法进行下去。后来在网上找到了OpenBilly的文章:LFS 6.7 准速成手册

 参照着文章中的命令,很顺利,最终编译成功了,在这里非常感谢OpenBilly的文章,以及在我编译过程中给予的指导。

在这里将编译过程中遇到的问题,以及解决办法记录下来,作为备忘,同时也希望能给其他编译linux的朋友一些帮助。

1、首先说一下我的环境,vmware workstation7.1,LFS6.7,lfslivecd-x86-6.3-r2145.iso.

2、我不是在虚拟机里面敲命令操作的,而是使用SecureCRT通过ssh连接虚拟机来执行命令。这需要在livecd里面开启ssh服务:

a、设置root密码,passwd root

b、执行/etc/rc.d/init.d/sshd start来开启ssh服务

c、执行ifconfig命令查看ip地址,然后通过SecureCRT来连接虚拟机。

3、也就是因为使用SecureCRT来连接虚拟机的,所以在后面遇到了一些错误。这里需要说明一下,通过这种方式连接虚拟机,每一次连接就是一个会话,所以在这个会话里面定义的变量仅仅在本次会话中有效,所以有的时候重新连接虚拟机之后,再接着执行命令的时候,会报错,就是因为之前定义的变量已经无效了,这个时候需要重新恢复哪些变量等相关内容。我在执行下面的命令时报错了,无法将根目录切换到:没有那个文件或者目录。

chroot "$LFS" /tools/bin/env -i \

    HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \

    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \

    /tools/bin/bash --login +h

后来检查发现,$LFS变量已经没有值了,这个时候重新定义就可以了。

4、在执行grub-install --grub-setup=/bin/true /dev/hda  时候也报错了:

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub (is /dev mounted?).

No path or device is specified.

Try `/usr/sbin/grub-probe --help' for more information.

Auto-detection of a filesystem module failed.

Please specify the module with the option `--modules' explicitly.

这个时候可以检查一下变量,我是直接执行下面的命令解决的:

export LFS=/mnt/lfs

mount -v --bind /dev $LFS/dev

mount -vt devpts devpts $LFS/dev/pts

mount -vt tmpfs shm $LFS/dev/shm

mount -vt proc proc $LFS/proc

mount -vt sysfs sysfs $LFS/sys

5、在重启的时候,可能会报错kernel pannic等错误,这个时候仔细可以看看错误信息,还是很有帮助的,不要盲目的上网搜索。我就是根据错误信息,发现系统找不到hda,无法将root挂载到/dev/hda上,最后修改grub.cfg文件和fstab文件,将里面的hda修改为sda,然后重启就可以进入系统了。在这里还需要解释一下的是,重启以后会发现无法进入到之前的livecd系统了,这里有两种办法,一是在虚拟机开启的时候,修改bios里面的启动设备,让虚拟机从光盘启动,二是在启动自己编译的linux时候,在显示启动菜单的时候,按字母c进入grub命令行,然后敲入命令exit退回guub,这个时候就可以进入之前的livecd系统了。

6、在启动linux时候,会报interface eth0 not exist,但仍然能进入系统,只是进入系统之后,无法ping通过网关,也无法上网。这个问题是因为我在编译内核的时候,没有把虚拟机对应的网卡驱动编译进去,这个时候需要我们重新进入livecd系统,重新编译内核,在make menuconfig的时候,要选中pcnet32这个驱动,然后重启就可以上网了。

7、在进入自己的linux之后,发现无法执行ifconfig命令,这是因为没有安装net-tools工具包,这个大家可以到这里下载:http://www.linuxfromscratch.org/blfs/view/stable/basicnet/net-tools.html

最后,在成功编译linux之后,可以到这个网址去注册http://www.linuxfromscratch.org/cgi-bin/lfscounter.cgi 看看自己是第几个编译成功的。呵呵,我的id是22440.

 

 

 

分享到:
评论

相关推荐

    LFS_Linux.rar_LFS_LFS LINUX_LFS Linux downlaod_LFS lin_lfs linu

    LFS(Linux From Scratch)是一个项目,它提供了一套详细的步骤和指南,让Linux爱好者能够从源代码开始,构建自己的Linux系统。这个项目的目标是帮助用户理解Linux操作系统的内部工作原理,以及如何构建一个定制化的...

    如何交叉编译一个基于LoongArch架构的LFS(Linux-From-Scratch)系统 -CLFS-for-LoongA

    如何交叉编译一个基于LoongArch架构的LFS(Linux_From_Scratch)系统。_CLFS-for-LoongA 如何交叉编译一个基于LoongArch架构的LFS(Linux_From_Scratch)系统。_CLFS-for-LoongA 如何交叉编译一个基于LoongArch架构...

    LFS book 从头构建自己的linux发行版

    Linux From Scratch(LFS)是一本详尽的指南,用于从头开始构建属于用户自己的Linux发行版。该过程是通过编译和安装基础软件包,构建一个定制的、用户控制的系统环境。本指南覆盖了从最初的准备工作,到设置编译环境...

    LFS构建Linux操作系统原理分析

    ### LFS构建Linux操作系统原理分析 #### 一、LFS的概念与特点 LFS(Linux From Scratch)是一种从源代码构建Linux系统的方法。不同于传统的Linux发行版安装方式,LFS提供了一个详细的指南,指导用户从零开始搭建一...

    LFS中文版(Linux From Scratch)

    《Linux From Scratch》(LFS)是一本详细指导读者如何从源代码构建Linux系统的书籍。书中提供了完整的步骤和...由于LFS是一本开源书籍,它也鼓励社区贡献和反馈,以改进书籍内容并帮助更多人构建他们自己的Linux系统。

    手把手教你构建自己的LINUX系统.part2.rar

    《手把手教你构建自己的Linux系统》以如何使用源代码搭建一套Linux系统这一独特的角度介绍Linux系统的构成,主要内容包括走进GNU/Linux、LFS,Linux系统定制原理,制作GNU/Linux系统的准备工作,本地定制GNU/Linux...

    手把手教你构建自己的LINUX系统.part1.rar

    《手把手教你构建自己的Linux系统》以如何使用源代码搭建一套Linux系统这一独特的角度介绍Linux系统的构成,主要内容包括走进GNU/Linux、LFS,Linux系统定制原理,制作GNU/Linux系统的准备工作,本地定制GNU/Linux...

    手把手教你构建自己的LINUX系统 三部分下载地址

    《手把手教你构建自己的Linux系统》以如何使用源代码搭建一套Linux系统这一独特的角度介绍Linux系统的构成,主要内容包括走进GNU/Linux、LFS,Linux系统定制原理,制作GNU/Linux系统的准备工作,本地定制GNU/Linux...

    手把手教你构建自己的Linux系统_part2

    《手把手教你构建自己的Linux系统》以如何使用源代码搭建一套Linux系统这一独特的角度介绍Linux系统的构成 主要内容包括走进GNU Linux LFS Linux系统定制原理 制作GNU Linux系统的准备工作 本地定制GNU Linux系统 ...

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

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

    linux LFS 学习

    LFS项目提供了一套详尽的指南,指导用户从零开始构建自己的Linux系统,不仅加深了对Linux核心概念的理解,还锻炼了动手能力和问题解决技巧。本文将基于给定文件中的内容,深入解析LFS学习的关键知识点。 #### LFS...

    手把手教你构建自己的LINUX系统.part1

    《手把手教你构建自己的Linux系统》以如何使用源代码搭建一套Linux系统这一独特的角度介绍Linux系统的构成,主要内容包括走进GNU/Linux、LFS,Linux系统定制原理,制作GNU/Linux系统的准备工作,本地定制GNU/Linux...

    Linux-lfs.rar_LFS_linux

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

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

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

    LFS 速成手册——建立自己的Linux系统

    通过上述准备和构建流程,用户不仅可以成功构建出自己的Linux系统,还能深入理解Linux系统的内部结构和工作原理。对于想要深入了解Linux系统管理及开发的用户而言,从零开始构建LFS无疑是一项极具价值的学习体验。

    基于-Linux-的智能家居系统-mini-project.zip

    如何交叉编译一个基于LoongArch架构的LFS(Linux_From_Scratch)系统。_CLFS-for-LoongA如何交叉编译一个基于LoongArch架构的LFS(Linux_From_Scratch)系统。_CLFS-for-LoongA 如何交叉编译一个基于LoongArch架构的...

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

    在构建个人化的Linux系统,如Linux From Scratch...总之,通过SSH远程登录VWware上的LFS系统,可以大大提高构建和维护自定义Linux系统的效率,同时确保了通信的安全性。正确配置和使用SSH,将使你在LFS旅程中事半功倍。

    linux LFS搭建详细文档

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

    如何交叉编译一个基于LoongArch架构的LFS(Linux From Scratch)系统。.zip

    在构建一个基于LoongArch架构的Linux From Scratch (LFS)系统时,我们需要理解几个关键的概念和步骤。LoongArch架构是一种由中国龙芯公司开发的指令集架构,它旨在提供一个独立于Intel x86和ARM的解决方案。LFS项目...

Global site tag (gtag.js) - Google Analytics