作者:lvjinhua
日期:2005.11.12
前几天从linuxsir下载了LFS6.1的安装说明及源代码包(实际上需要用到的源代码包含在LFS6.1_LiveCD中,因此我直接下载的LIVE-CD),开始了漫长的安装之旅. 下载地址:www.linuxfromscratch.org , 中文文档及相关支持: www.linuxsir.org/bbs/forumdisplay.php?f=58
1.首先说说什么是LFS.
LFS(Linux From Scratch),即从0开始创建Linux的英文缩写.它的最根本目的是:完全从开源源代码包构造出一个完整的,可用的Linux环境.
2.准备阶段
当然了,最基本的要熟悉Linux控制台环境下常用命令的使用,包括怎么配置与编译源代码包.接下来是准备一个带用完整开发工具的宿主系统(所谓带完整开发工具,即指含有GCC,LD,AS和必要的库,详细信息得参考安装说明),我使用的是LFS6.1_LiveCD,因为此CD包含了编译LFS时要用到的所有工具,非常适合于初学者;接下来就是去下载所需的源代码,我这里使用的是LFS6.1版,在刚才的LIVE-CD中已经包含此源代码.
3.开始
我是在虚拟机vmware5.0中安装的LFS6.0,首先说明一下主要的硬件配置:
P4 超线程3.0G, 512M内存(其中虚拟机占256M). 虚拟机中hda为一6G硬盘.
下边的操作使用root用户:
A.使用fdisk对硬盘进行分区,fdisk /dev/hda(至少分两个区,一个用于安装文件系统的主分区,一个用于交换分区)
B.使用mke2fs,mkswap对分区进行格式化,mke2fs /dev/hda1 , mkswap /dev/hda4(我的交换分区)
C.找个位置加载主分区,这里使用/mnt/lfs, export LFS=/mnt/lfs && mkdir -p $LFS && mount /dev/hda1 $LFS
D.新建交叉编译器存在位置与源文件位置,这里选择 $LFS/sources与$LFS/tools , mkdir -p $LFS/sources && mkdir -p $LFS/tools && ln -s $LFS/tools /tools
E.为了安全,新建一个新的用户来编译程序: groupadd lfs && useradd -s /bin/bash -g lfs -m -k /dev/null lfs && passwd lfs && chown lfs $LFS && chown lfs $LFS/sources && chown lfs $LFS/tools
F.切换到新建的用户:su - lfs
下边的操作使用lfs用户:
G.当一个新用户登录到shell后,它会读取 /etc/profile 与 ~/.bash_profile 来初始化当前用户的系统环境,为了与宿主系统尽可能的隔离,避免被其影响,因此使用cat编辑~/.bash_profile 文件如下:
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='/u:/w/$' /bin/bash
EOF
H.当使用非登录shell进入时,系统读取~./.bashrc 来初始化环境,使用cat 编辑~/.bashrc 文件如下:
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
I. 最后,使用 source 命令启用我们在G步创建的.bash_profile 文件: source ~/.bash_profile
注:至此,整个环境的创建与初始配置完成,下一步开始编译各组件.