用LiveCD制作Linux系统包括所有代码Word文档格式.docx
- 文档编号:15700088
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:59
- 大小:61.75KB
用LiveCD制作Linux系统包括所有代码Word文档格式.docx
《用LiveCD制作Linux系统包括所有代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《用LiveCD制作Linux系统包括所有代码Word文档格式.docx(59页珍藏版)》请在冰豆网上搜索。
代码:
cfdisk/dev/hda
/dev/hda1 作为目标系统根目录
保存退出后进行磁盘分区的格式化
mkswap/dev/hda1
mkfs.xfs/dev/hda2
磁盘格式化一定要在磁盘分区未进行加载前进行。
mkswap是用于将磁盘分区格式化为交换分区的命令。
这里我将/dev/hda2格式化了为Xfs格式,如果你喜欢其它格式的文件系统,你可以使用相应的命令来格式化。
设置SSH
ipaddradd192.168.0.80/24brd192.168.0.255deveth0
iplinkseteth0up
/etc/rc.d/init.d/sshdstart
passwdroot
使用ssh登陆liveCD
Mkfs.ext2/dev/hda1
创建LFS的“创作基地”
exportLFS=/mnt/lfs
mkdir-pv$LFS
加载/dev/hda2到“创作基地”
mount/dev/hda1$LFS
创建必要的目录并设置属性
创建源代码编译用目录
mkdir-v$LFS/sources
chmod-va+wt$LFS/sources
chmoda+wt是将目录或文件的属性设置为1777,这样任何人都可以对其进行读写。
创建工具链目录
mkdir-v$LFS/tools
ln-sv$LFS/tools/
上面这两句就建立了神奇的工具链目录(是工具链目录不是工具链),这样的创建方式是为了在创建工具链和使用工具链创建目标系统的时候对于工具链的位置都是/tools,这样可保证工具链的正常使用。
注意:
ln-sv$LFS/tools执行后应该会输出
`/tools'
->
`/mnt/lfs/tools'
创建lfs用户
groupaddlfs
useradd-s/bin/bash-glfs-m-k/dev/nulllfs
passwdlfs
chown-vlfs$LFS/tools
chown-vlfs$LFS/sources
设置lfs密码,设置为空就行了,也就是输入密码的时候直接回车就成。
将tools和sources目录的用户改为lfs,以便后面使用lfs来操作这两个目录
登陆到lfs用户
su-lfs
这时候你会发现命令行提示符已经由#改为了$
其实如果不使用lfs用root也是能完成工具链的,不过需要对root的环境变量进行修改,还要防止因为输入错误而导致覆盖主系统下的文件,所以LFS手册中制作工具链部分就是为了解决这种意外的发生而用lfs用户来建立工具链
建立lfs用户的环境
cat>
~/.bash_profile<
<
"
EOF"
execenv-iHOME=$HOMETERM=$TERMPS1='
\u:
\w\$'
/bin/bash
EOF
~/.bashrc<
set+h
umask022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:
/bin:
/usr/bin
exportLFSLC_ALLPATH
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,保存退出即可。
(或在启动虚拟机中的机器时按esc直接选择从CD-ROM启动)
2.LiveCD启动过程同第一次启动选择一样。
3.加载分区
exportLFS=/mnt/lfs
mkdir-pv$LFS
mount/dev/hda2$LFS
4.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)
swapon/dev/hda1
5.建立工具链的链接
ln-sv$LFS/tools/
6.创建lfs用户
groupaddlfs
useradd-s/bin/bash-glfs-m-k/dev/nulllfs
passwdlfs
chown-vlfs$LFS/tools
chown-vlfs$LFS/sources
su-lfs
7.建立lfs用户的环境
cat>
execenv-iHOME=$HOMETERM=$TERMPS1='
EOF
set+h
umask022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:
exportLFSLC_ALLPATH
source~/.bash_profile
8.检查一下
export命令查看输出,应该是
declare-xHOME="
/home/lfs"
declare-xLC_ALL="
POSIX"
declare-xLFS="
/mnt/lfs"
declare-xOLDPWD
declare-xPATH="
/tools/bin:
/usr/bin"
declare-xPS1="
\\u:
\\w\\\$
"
declare-xPWD="
declare-xSHLVL="
1"
declare-xTERM="
linux"
9.进入编译目录
cd$LFS/sources
基本上就恢复工作状态了。
开始工具链的制作(进入LFS包编译目录)
cd$LFS/sources
Binutils-2.17-Pass1
tarxvf/lfs-sources/binutils-2.17.tar.bz2
cdbinutils-2.17
mkdir-v../binutils-build
cd../binutils-build
CC="
gcc-B/usr/bin/"
../binutils-2.17/configure--prefix=/tools--disable-nls--disable-werror
make
makeinstall
make-Cldclean
make-CldLIB_PATH=/tools/lib
cp-vld/ld-new/tools/bin
cd..
rm-rfbinutils-build
rm-rfbinutils-2.17
大家可以注意到后面所有的解包命令均使用tarxvf来完成,而不管文件的压缩方式是bz2还是gz,这是因为较新的tar程序都具有自动识别后缀名并自动调用相应的解压缩工具的能力,所以可以不需要指定压缩方式,但对于早期的tar命令则可能不具备这个功能因此需要你根据包的压缩方式来指定,如bz2使用j,gz使用z,对应上面的binutils则是tarxvjf/lfs-sources/binutils-2.17.tar.bz2。
因LFS的LiveCD中提供的tar版本比较新,后面制作的tar版本也比较新,因此支持自动识别的能力,同时为了使文章的解压命令看起来比较统一方便维护(同样对于想制作成脚本的朋友也会比较方便)因此后面统一使用tarxvf来解压。
编译binutils建议使用一个空目录
GCC-4.1.2-Pass1
tarxvf/lfs-sources/gcc-4.1.2.tar.bz2
mkdir-vgcc-build
cdgcc-build
../gcc-4.1.2/configure--prefix=/tools\
--with-local-prefix=/tools--disable-nls\
--enable-shared--enable-languages=c
makebootstrap
ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LiveCD 制作 Linux 系统 包括 所有 代码