没有合适的资源?快使用搜索试试~ 我知道了~
手把手教你如何建立自己的Linux系统
需积分: 0 7 下载量 113 浏览量
2011-02-23
22:36:01
上传
评论
收藏 626KB PDF 举报
温馨提示
试读
18页
手把手教你如何建立自己的Linux系统
资源详情
资源评论
资源推荐
博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助
搜索
爪 杉
爪 杉 爪 杉
爪 杉
现实
现实现实
现实最
最最
最为
为为
为理想美好的世界
理想美好的世界理想美好的世界
理想美好的世界
—
——
——
——
—开
开开
开源世界
源世界源世界
源世界
szufhc.cublog.cn
手把手
手把手手把手
手把手教
教教
教你
你你
你如何建立自己的
如何建立自己的如何建立自己的
如何建立自己的Linux系
系系
系统
统统
统(
((
(转
转转
转)
))
)
声
声声
声明
明明
明:
::
:本文在
本文在本文在
本文在转载
转载转载
转载的基
的基的基
的基础
础础
础上作了一些排版上的修改
上作了一些排版上的修改上作了一些排版上的修改
上作了一些排版上的修改,
,,
,内
内内
内容上在
容上在容上在
容上在构
构构
构建
建建
建LFS系
系系
系统
统统
统章
章章
章节
节节
节的
的的
的“
““
“安
安安
安装
装装
装系
系系
系统
统统
统基
基基
基础软
础软础软
础软件
件件
件”
””
”部分也作了部分的
部分也作了部分的部分也作了部分的
部分也作了部分的删减
删减删减
删减。
。。
。由于
由于由于
由于转载过
转载过转载过
转载过程中
程中程中
程中没
没没
没有做到保持
有做到保持有做到保持
有做到保持
原文章的完整性
原文章的完整性原文章的完整性
原文章的完整性,
,,
,若豹兄看到本文
若豹兄看到本文若豹兄看到本文
若豹兄看到本文,
,,
,觉
觉觉
觉得
得得
得该转载
该转载该转载
该转载会
会会
会对
对对
对您
您您
您造成
造成造成
造成负
负负
负面的影
面的影面的影
面的影响
响响
响,
,,
,请
请请
请告知
告知告知
告知,
,,
,我
我我
我会
会会
会作及
作及作及
作及时
时时
时的
的的
的删
删删
删除
除除
除处
处处
处理
理理
理。
。。
。
本文目的首先在于分享
本文目的首先在于分享本文目的首先在于分享
本文目的首先在于分享,
,,
,其次是想在豹兄文章的基
其次是想在豹兄文章的基其次是想在豹兄文章的基
其次是想在豹兄文章的基础
础础
础上理
上理上理
上理清
清清
清构
构构
构建
建建
建LFS系
系系
系统
统统
统的思路
的思路的思路
的思路,
,,
,尤其是
尤其是尤其是
尤其是构
构构
构建
建建
建临时编译环
临时编译环临时编译环
临时编译环境
境境
境这
这这
这一
一一
一过
过过
过程
程程
程。
。。
。因
因因
因为
为为
为我想
我想我想
我想:
::
:豹兄的文章是
豹兄的文章是豹兄的文章是
豹兄的文章是针对
针对针对
针对LFS-6.3来
来来
来
编
编编
编写
写写
写的
的的
的,
,,
,而
而而
而LFS的
的的
的当
当当
当前
前前
前稳
稳稳
稳定版已然是
定版已然是定版已然是
定版已然是LFS-6.6了
了了
了,
,,
,所以估
所以估所以估
所以估计
计计
计大多
大多大多
大多数
数数
数的
的的
的LFS新手不
新手不新手不
新手不会
会会
会是再按照本文原文的
是再按照本文原文的是再按照本文原文的
是再按照本文原文的步
步步
步骤
骤骤
骤去
去去
去构
构构
构建
建建
建LFS-6.3,
,,
,而只是作
而只是作而只是作
而只是作为
为为
为参
参参
参考
考考
考,
,,
,然后
然后然后
然后构
构构
构建最新
建最新建最新
建最新
的
的的
的LFS。
。。
。
ps:
::
:阅读
阅读阅读
阅读本文之前建
本文之前建本文之前建
本文之前建议
议议
议先
先先
先阅读
阅读阅读
阅读
Linux From Scratch 6.2以了解
以了解以了解
以了解LFS中的各
中的各中的各
中的各个
个个
个软
软软
软件包的作用以及各
件包的作用以及各件包的作用以及各
件包的作用以及各个
个个
个命令的意思
命令的意思命令的意思
命令的意思。
。。
。
作者:孙海勇(冲天飞豹)
原文链接:
http://www.linuxsir.org/bbs/thread322894.html
http://youbest.cublog.cn/
手把手
手把手手把手
手把手教
教教
教你
你你
你如何建立自己的
如何建立自己的如何建立自己的
如何建立自己的Linux系
系系
系统
统统
统 第二版
第二版 第二版
第二版
作者
作者作者
作者:
::
:孙
孙孙
孙海勇
海勇海勇
海勇
前言
前言前言
前言:
::
:
这是本文的第二版本,据第一版本发布已经将近两年的时间,第一版针对LFS-6.1.1的手册进行讲解,LFS-6.3相对于LFS-6.1.1方法上有了一些变化,软件包
也大量更新,为了方便新手能够快速进入状态,决定再次撰写此文的第二版,并针对LFS-6.3来编写。
本文在内容和形式上完全继承第一版本的风格,内容上根据版本进行变化,但整体没有本质的变化,在这里首先感谢哪些在第一版中提出意见和问题的网友,使
得本文变的越来越完善。
LFS是一部非常好的制作一个完整的操作系统的手册,但LFS是属于指导性的手册,因此它默认的前提条件是具备一定的Linux使用经验的用户群,所以它在每个
软件包的安装部分只给出了在目录中的全部操作指令,而对于解压缩之类的则交给用户自己去解决,但对于很多第一次使用LFS的用户往往会出现一些不清楚某
条命令应该是在哪里执行的问题,本文力图从实例上来解释这些问题。
本文虽然是采用VMWare Workstation 5.5的环境下制作的,但仍然符合使用真实机器上的过程,只是会在某些地方要根据具体机器进行更改,文中会在这些
地方做出说明。
使用WMWare来写这篇文章是为了说明方便,因为VMWare在各种不同机器环境下模拟的虚拟设备几乎相同,所以用它来说明一些需要实际例子才说的清楚的
地方非常合适,而且用VMWare来做即使出错也不会对真实的系统造成破坏,很适合新手使用,唯一的缺点就是速度慢了些,一般只有真实机器的一半左右的速
度。
本文力争完成一个完整的制作命令,可以根据本文提供的命令顺序输入就可以完成LFS了,通常命令表示为
命令
命令命令
命令
由于制作过程比较漫长,特别是在一些比较慢的机器上,关于在制作过程中重新启动后恢复到工作状态的方法在文中有详细的介绍,但由于篇幅比较长可能看起
来比较麻烦,可以看我专门将这部分提取出来后完成的一篇《制作LFS过程中各个阶段恢复工作状态的方法 第二版(适合LFS6.3)》,内容比较集中容易查看。
恢复工作的方法更加适合在真实机器上制作LFS的朋友,如果使用VMWare也可以直接使用VMWare的暂停功能来保存现场,继续的时候恢复现场就可以了。
更新,由于篇幅比较长所以难免出现一些错误或者笔误,也有可能加入新内容,因此难免会进行修正或增删一些内容,如果本文被转载可以在
www.linuxsir.org的LFS版中或者在本人的Blog中查看最新版本。
linuxsir:http://www.linuxsir.org/bbs/thread322894.html
我的Blog:http://youbest.cublog.cn
如须转载请注明作者为孙海勇(冲天飞豹),并提供转载出处。
准备工作
下载LiveCD的ISO文件(因为在制作本文时最新正式版只有6.3-r2145下载):http://ftp.osuosl.org/pub/lfs-livecd/lfslivecd-x86-6.3-r2145.iso
刻录ISO文件到光盘上,如果你是用真实机器当然少不了这步,不过如果你用VMWare的话,就可以直接使用ISO文件了。
以VMWare Workstation 5.5为例(真实机器可跳过此部分)
选择File->New->Virtual Machine…启动向导
选择Custom,并选择New-Workstation 5然后在选择Guest operating system里选择Linux,在Version里选择Other Linux 2.6.x kernel
存放目录、处理器数量和内存大小根据实际情况,建议内存不得小于128M,最好256M以上
相
相相
相关
关关
关知
知知
知识
识识
识点
点点
点:
::
:
LFS-6.3采用了
采用了采用了
采用了GCC4.1.2,
,,
,如果使用
如果使用如果使用
如果使用128M编译
编译编译
编译GCC4.x.x话
话话
话就需要使用
就需要使用就需要使用
就需要使用swap了
了了
了,
,,
,但如果配置了
但如果配置了但如果配置了
但如果配置了256M就可以在
就可以在就可以在
就可以在没
没没
没有
有有
有swap的情
的情的情
的情况
况况
况下完成
下完成下完成
下完成编译
编译编译
编译,
,,
,所以
所以所以
所以条
条条
条件
件件
件
允
允允
允许
许许
许的情
的情的情
的情况
况况
况下使用
下使用下使用
下使用256M。
。。
。
Network connection里选择Use network address translation(NAT)
SCSI Adpters选择默认的LSI Logic就可以了
注意
注意注意
注意点
点点
点:
::
:
这
这这
这里
里里
里选择
选择选择
选择的磁
的磁的磁
的磁盘类
盘类盘类
盘类型
型型
型对
对对
对于最后
于最后于最后
于最后编译
编译编译
编译内
内内
内核使用
核使用核使用
核使用选项
选项选项
选项是有影
是有影是有影
是有影响
响响
响的
的的
的,
,,
,我在本文的第一版中使用
我在本文的第一版中使用我在本文的第一版中使用
我在本文的第一版中使用BusLogic来
来来
来建立系
建立系建立系
建立系统
统统
统,
,,
,因此
因此因此
因此这
这这
这里
里里
里选择
选择选择
选择使用
使用使用
使用LSI Logic来
来来
来用
用用
用,
,,
,如果使用
如果使用如果使用
如果使用
BusLogic的
的的
的话
话话
话可以
可以可以
可以参
参参
参考本文第一版中的
考本文第一版中的考本文第一版中的
考本文第一版中的内
内内
内核
核核
核编译选项
编译选项编译选项
编译选项来
来来
来代替后面的
代替后面的代替后面的
代替后面的内
内内
内核
核核
核选项
选项选项
选项部分
部分部分
部分。
。。
。
选择Create a new virtual disk
在Virtual Disk Type这步比较重要,你可以选择IDE也可以选择SCSI,但这里的选择直接影响到最后编译内核时的选项。这里以选择IDE为例子。
相
相相
相关
关关
关知
知知
知识
识识
识点
点点
点:
::
:
如果选择了IDE,则内核的默认设置就可以支持,但如果选择了SCSI,就必须在内核中加入对SCSI Adpters的支持,因为前面选择了LSI Logic,所以内核中
就必须加入对LSI Logic的支持,否则将无法启动,相关部分在最后的内核编译部分有说明。
不过这里我建议选择使用IDE,一方面方便驱动,另外似乎LFS-6.3-r2145尚不能支持LSI Logic的SCSI磁盘,用该LiveCD启动后可能无法识别出硬盘来。
对于磁盘大小,使用4G足够编译LFS了,但如果你打算编译更多的BLFS,这里可以考虑适当的增加一些大小,如果磁盘空间比较富裕就用默认的8G好了。
完成向导后在虚拟机的界面里选择Edit virtual machine settings,将CD-ROM改为Use ISO image,然后选择LiveCD的ISO文件,如果你已经刻录好了光
盘,将光盘放入光驱就行了。
点Start this virtual machine开启虚拟机
由于虚拟盘上没有任何信息,因此将自动从LiveCD中启动,在启动过程中会出现选择时区等信息,你可以按照实际情况选择,也可以按照默认选择,简单点就
是等待一会系统会自动进行选择。这里我选择时区为Asia/Shanghai,选择本地语言为Chinese (Simplified, UTF-8),其它的都按默认选择了。
管理博客发表文章留言收藏夹博客圈音乐相册文章首页
Page
1
of
18
手把手教你如何建立自己的
Linux
系统(转)
-
LFS
-
爪 杉
2011
-
2
-
17
http://www.cublog.cn/u3/109488/showart_2217737.html
启动完成LiveCD后就开始建造自己的LFS的历程了。
这
这这
这里先介
里先介里先介
里先介绍
绍绍
绍以下
以下以下
以下两
两两
两个
个个
个LiveCD下的重要目
下的重要目下的重要目
下的重要目录
录录
录
/usr/share/LFS-BOOK-6.3-HTML目录存放的就是LFS手册了
/lfs-sources里面存放的就是建造LFS所需要的源码包,不需要到处下软件了。
磁
磁磁
磁盘
盘盘
盘分
分分
分区
区区
区:
::
:
输入命令:
cfdisk /dev/hda
将出现分区界面
这里可以按照你自己的需要的分区,这里我按照设置一个根分区和一个交换分区为例,交换分区占用512M,其余的全部分给根分区。
Page
2
of
18
手把手教你如何建立自己的
Linux
系统(转)
-
LFS
-
爪 杉
2011
-
2
-
17
http://www.cublog.cn/u3/109488/showart_2217737.html
磁盘分区 作用
/dev/hda1 swap
/dev/hda2 作为目标系统根目录
保存退出后进行磁盘分区的格式化
mkswap /dev/hda1
mkfs.xfs /dev/hda2
相
相相
相关
关关
关知
知知
知识
识识
识点
点点
点:
::
:
磁
磁磁
磁盘
盘盘
盘格式化一定要在磁
格式化一定要在磁格式化一定要在磁
格式化一定要在磁盘
盘盘
盘分
分分
分区
区区
区未
未未
未进
进进
进行加
行加行加
行加载
载载
载前
前前
前进
进进
进行
行行
行。
。。
。
mkswap是用于
是用于是用于
是用于将
将将
将磁
磁磁
磁盘
盘盘
盘分
分分
分区
区区
区格式化
格式化格式化
格式化为
为为
为交
交交
交换
换换
换分
分分
分区
区区
区的命令
的命令的命令
的命令。
。。
。
这
这这
这里我
里我里我
里我将
将将
将/dev/hda2格式化了
格式化了格式化了
格式化了为
为为
为Xfs格式
格式格式
格式,
,,
,如果
如果如果
如果你
你你
你喜
喜喜
喜欢
欢欢
欢其
其其
其它
它它
它格式的文件系
格式的文件系格式的文件系
格式的文件系统
统统
统,
,,
,你
你你
你可以使用相
可以使用相可以使用相
可以使用相应
应应
应的命令
的命令的命令
的命令来
来来
来格式化
格式化格式化
格式化。
。。
。
注意:这里要根据实际情况建立和设置分区,如果你不太清楚这个问题,请先不要开始,否则可能造成难以恢复的损失!(这里只是根据VMWare里面的情况做
的例子,在VMWare中相对安全些,建议初学者在虚拟机中开始。)
如果你的内存不太大,想在编译期间就使用上交换分区的话,可使用下面的命令激活交换分区
swapon /dev/hda1
相
相相
相关
关关
关知
知知
知识
识识
识点
点点
点:
::
:
swapon用于激活交换分区
swapoff用于将激活的交换分区停用
可以通过free命令来查看当前的内存使用情况
创
创创
创建
建建
建LFS的
的的
的“
““
“创
创创
创作基地
作基地作基地
作基地”
””
”
export LFS=/mnt/lfs
mkdir -pv $LFS
相
相相
相关
关关
关知
知知
知识
识识
识点
点点
点:
::
:
export LFS=/mnt/lfs这
这这
这条
条条
条命令的作用是
命令的作用是命令的作用是
命令的作用是为
为为
为了后面引用
了后面引用了后面引用
了后面引用“
““
“创
创创
创作基地
作基地作基地
作基地”
””
”的
的的
的绝对
绝对绝对
绝对路
路路
路径
径径
径方便而
方便而方便而
方便而设
设设
设置
置置
置LFS这样
这样这样
这样的
的的
的环
环环
环境
境境
境变
变变
变量
量量
量。
。。
。
加载/dev/hda2到“创作基地”
mount /dev/hda2 $LFS
创建必要的目录并设置属性
创建源代码编译用目录
mkdir -v $LFS/sources
chmod -v a+wt $LFS/sources
相
相相
相关
关关
关知
知知
知识
识识
识点
点点
点:
::
:
chmod a+wt是将目录或文件的属性设置为1777,这样任何人都可以对其进行读写。
创建工具链目录
mkdir -v $LFS/tools
ln -sv $LFS/tools /
注意
注意注意
注意:
::
:
ln -sv $LFS/tools执
执执
执行后
行后行后
行后应该
应该应该
应该会
会会
会输
输输
输出
出出
出
`/tools’ -> `/mnt/lfs/tools’
表示正
表示正表示正
表示正确
确确
确。
。。
。
相
相相
相关
关关
关知
知知
知识
识识
识点
点点
点:
::
:
上面
上面上面
上面这两
这两这两
这两句就建立了神奇的工具
句就建立了神奇的工具句就建立了神奇的工具
句就建立了神奇的工具链
链链
链目
目目
目录
录录
录(
((
(是工具
是工具是工具
是工具链
链链
链目
目目
目录
录录
录不是工具
不是工具不是工具
不是工具链
链链
链),
),),
),这样
这样这样
这样的
的的
的创
创创
创建方式是
建方式是建方式是
建方式是为
为为
为了在
了在了在
了在创
创创
创建工具
建工具建工具
建工具链
链链
链和使用工具
和使用工具和使用工具
和使用工具链创
链创链创
链创建目
建目建目
建目标
标标
标系
系系
系统
统统
统的
的的
的时
时时
时候
候候
候对
对对
对于工具
于工具于工具
于工具链
链链
链的位置
的位置的位置
的位置
都是
都是都是
都是/tools,
,,
,这样
这样这样
这样可保
可保可保
可保证
证证
证工具
工具工具
工具链
链链
链的正常使用
的正常使用的正常使用
的正常使用
创
创创
创建
建建
建lfs用
用用
用户
户户
户
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
设置lfs密码,设置为空就行了,也就是输入密码的时候直接回车就成。
passwd lfs
将tools和sources目录的用户改为lfs,以便后面使用lfs来操作这两个目录
Page
3
of
18
手把手教你如何建立自己的
Linux
系统(转)
-
LFS
-
爪 杉
2011
-
2
-
17
http://www.cublog.cn/u3/109488/showart_2217737.html
chown -v lfs $LFS/tools
chown -v lfs $LFS/sources
登陆到lfs用户
su - lfs
这时候你会发现命令行提示符已经由#改为了$
相
相相
相关
关关
关知
知知
知识
识识
识点
点点
点:
::
:
其实如果不使用lfs用root也是能完成工具链的,不过需要对root的环境变量进行修改,还要防止因为输入错误而导致覆盖主系统下的文件,所以LFS手册中制作
工具链部分就是为了解决这种意外的发生而用lfs用户来建立工具链
建立
建立建立
建立lfs用
用用
用户
户户
户的
的的
的环
环环
环境
境境
境
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL PATH
EOF
source ~/.bash_profile
这里利用了bash的环境变量的设置文件将lfs的环境设置为符合编译工具链要求的最少的环境参数
这
这这
这里面最重要的就是
里面最重要的就是里面最重要的就是
里面最重要的就是PATH这
这这
这个参数
个参数个参数
个参数,
,,
,目的是
目的是目的是
目的是为
为为
为了能
了能了能
了能够
够够
够利用工具
利用工具利用工具
利用工具链
链链
链里面的工具制作工具
里面的工具制作工具里面的工具制作工具
里面的工具制作工具链
链链
链:
::
:首先
首先首先
首先查
查查
查找
找找
找/tools/bin下是否有需要的命令
下是否有需要的命令下是否有需要的命令
下是否有需要的命令,
,,
,如果
如果如果
如果没
没没
没有再到
有再到有再到
有再到/bin
和
和和
和/usr/bin下找
下找下找
下找,
,,
,然后用
然后用然后用
然后用/bin或
或或
或/usr/bin下面的命令
下面的命令下面的命令
下面的命令来
来来
来帮
帮帮
帮助生成需要的命令
助生成需要的命令助生成需要的命令
助生成需要的命令并
并并
并放在
放在放在
放在/tools/bin下
下下
下,
,,
,这样
这样这样
这样此消彼
此消彼此消彼
此消彼涨
涨涨
涨,
,,
,最
最最
最终
终终
终可完成一
可完成一可完成一
可完成一个
个个
个自
自自
自给
给给
给自足的工具
自足的工具自足的工具
自足的工具链
链链
链。
。。
。
到此
到此到此
到此为
为为
为止就可以
止就可以止就可以
止就可以开
开开
开始工具
始工具始工具
始工具链
链链
链的制作了
的制作了的制作了
的制作了,
,,
,不
不不
不过
过过
过制作
制作制作
制作LFS是一
是一是一
是一个
个个
个漫
漫漫
漫长
长长
长而浩大的工程
而浩大的工程而浩大的工程
而浩大的工程,
,,
,所以要一直
所以要一直所以要一直
所以要一直开
开开
开机直到完成有
机直到完成有机直到完成有
机直到完成有时
时时
时候比
候比候比
候比较
较较
较困
困困
困难
难难
难,
,,
,特
特特
特别
别别
别是在机器速度比
是在机器速度比是在机器速度比
是在机器速度比较
较较
较慢的情
慢的情慢的情
慢的情况
况况
况下
下下
下,
,,
,
能
能能
能够
够够
够重新
重新重新
重新启动
启动启动
启动到最后工作的
到最后工作的到最后工作的
到最后工作的状
状状
状态
态态
态是很重要的
是很重要的是很重要的
是很重要的。
。。
。在不同的
在不同的在不同的
在不同的阶
阶阶
阶段重新
段重新段重新
段重新启动
启动启动
启动并
并并
并恢
恢恢
恢复
复复
复状
状状
状态
态态
态的
的的
的步
步步
步骤
骤骤
骤不完全相同
不完全相同不完全相同
不完全相同,
,,
,所以本文
所以本文所以本文
所以本文会
会会
会在不同的
在不同的在不同的
在不同的阶
阶阶
阶段
段段
段讨论
讨论讨论
讨论重新
重新重新
重新启动
启动启动
启动恢
恢恢
恢复
复复
复到工作
到工作到工作
到工作状
状状
状态
态态
态的方
的方的方
的方
法和
法和法和
法和步
步步
步骤
骤骤
骤。
。。
。
从现在开始一直到第五章结束,也就是完成Stripping中间的步骤中如果重新启动的恢复步骤:
1.重新启动计算机,并从LiveCD启动
相
相相
相关
关关
关知
知知
知识
识识
识点
点点
点:
::
:在VMWare中因为磁盘已经有了信息了,所以会从磁盘启动,需要在启动虚拟机中的机器时按F2进入虚拟机的虚拟BIOS,然后在BOOT中设置第
一启动为CD-ROM,保存退出即可。
2.LiveCD启动过程同第一次启动选择一样。
3.加载分区
export LFS=/mnt/lfs
mkdir -pv $LFS
mount /dev/hda2 $LFS
4.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)
swapon /dev/hda1
5.建立工具链的链接
ln -sv $LFS/tools /
6.创建lfs用户
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
Page
4
of
18
手把手教你如何建立自己的
Linux
系统(转)
-
LFS
-
爪 杉
2011
-
2
-
17
http://www.cublog.cn/u3/109488/showart_2217737.html
剩余17页未读,继续阅读
yaohiy
- 粉丝: 4
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0