完全手工打造自定义的LINUX
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-13
|
以 root 用户登录的时候,犯一个错误就足以损坏甚至摧毁系统,因此,本章我们推荐使用一个无特权的用户来编译和安装软件包.您可以使用您自己的用户名,不过为了建立一个干净的工作环境,建议您新建一个名为 lfs
的组,并在其中添加一个名为 lfs 的用户,我们将在安装过程中使用这个用户.
拥有帝国一切,皆有可能。欢迎访问phome.net
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
passwd lfs
chown -v lfs /mnt/lfs/tools/
chown -v lfs /mnt/lfs/sources/
su - lfs
|
作为 lfs 用户登录的时候,初始 shell 通常是一个登陆shell(login shell),它会读取宿主系统的 /etc/profile 文件(可能包含一些设置和环境变量),然后继续读取 .bash_profile
文件来完成登录初始化..bash_profile 文件中的 exec env -i.../bin/bash 命令用完全空的环境来取代当前的环境(除了继承 HOME, TERM, PS1
变量外).这样能保证我们的编译环境不会被宿主系统中不必要的或者有潜在危险的环境变量所影响,从而确保获得一个干净的工作环境.
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
export
cd /mnt/lfs/sources/
|
拥有帝国一切,皆有可能。欢迎访问phome.net二:构建临时编译环境.
这里的总体目标是提供一个临时环境,您可以 chroot 到这个环境,在里面构建一个干净、没有问题的目标 LFS 系统.为了尽量的与宿主系统分开,我们创建了一个自包含、自依赖的工具链.
1:Binutils第一遍
大家可以注意到后面所有的解包命令均使用tar
xvf来完成,而不管文件的压缩方式是bz2还是gz,这是较新的tar程序都具有自动识别后缀名并自动调用相应的解压缩工具的能力,可以不需要指定压缩方式因LFS的LiveCD中提供的tar版本比较新,后面制作的tar版本也比较新,因此支持自动识别的能力,同时为了使文章的解压命令
看起来比较统一方便维护(同样对于想制作成脚本的朋友也会比较方便)因此后面统一使用tar xvf来解压.
tar xvf /lfs-sources/binutils-2.17.tar.bz2
cd binutils-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
make install
make -C ld clean
make -C ld LIB_PATH=/tools/lib/
cp -v ld/ld-new /tools/bin
cd ..
rm -rf binutils-build/
rm -rf binutils-2.17/
|
2:GCC第一遍
拥有帝国一切,皆有可能。欢迎访问phome.net
tar xvf /lfs-sources/gcc-4.1.2.tar.bz2
mkdir -v gcc-build
cd gcc-build/
CC="gcc -B/usr/bin/" ../gcc-4.1.2/configure --prefix=/tools
--with-local-prefix=/tools --disable-nls --enable-shared --enable-languages=c
make bootstrap
make install
ln -sv gcc /tools/bin/cc
cd ..
rm -rf gcc-build/
rm -rf gcc-4.1.2/
|
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|