LFS全过程历险

2004年9月1日晚,正式开始动手LFS,本帖将把每次的安装过程都记录下来,最后形成一份属于我自己的安装历程日记 

今天,首先在WinXP下安装了vmware workstation 4.5,然后启动,安装RedHat9,RH9中,首先在分区上,使用手动分区,具体分区如下: 
CODE: SELECT ALL
1、/boot 100M  设备名:/dev/sda1(设置VMWare虚拟了SCSI的硬盘)

2、/   1671M     设备名:/dev/sda2

3、/swap  320M  设备名:/dev/sda3(交换分区,因为虚拟内存给了160M)

4、剩余了2000M(2G)的空间未分配(留给lfs用的)


然后,在安装软件包的选择上,去掉了所有X Window的东西,包括KDE和GNOME,只安装命令行界面;也去掉了除NetWork Server之外的全部server型软件(如web server、sql server等等);加上了Development Tool和Kernel Develop包,总共安装大小993M(下次再安装的时候,可以把Kernel Develop组中的linux-src-2.4.20这个包去掉,因为这个包是RH9的内核源码,使用了2.4.20的核心,这个包就有190M左右,装了也没什么用,下次安装可以去掉!) 

安装完毕后,以root用户登录进入系统,键入命令: 

fdisk /dev/sda 
开启fdisk界面,此时可以键入m获取帮助,也可以键入p打印当前的分区信息,然后键入n,表示新建一个分区,fdisk首先问我是建立一个Extend Partition还是建立一个Primary Partition,当然选择建立逻辑区(建立主分区指的就是/dev/sda1~/dev/sda4这四个主分区),后面的磁道参数都取默认值,fdisk会将我们在上文的2G空间都算上的 ^_^ 

建立逻辑区完成后,继续键入n,此时fdisk直接就询问开始磁道和结束磁道了,选用默认值,表示将这剩余的2G都作为一个分区使用(当然这里可以自定义将这个逻辑区再多划分成几个分区),第一个逻辑分区的设备名是/dev/sda5,如果建了多个依次类推,完成后键入w,表示保存并退出,最后重启系统(使新分区表生效) 

重启后,首先将这个新分区格式化,然后再mount上来,使用命令: 

mke2fs /dev/sda5 
也可以使用mkfs -t ext2 /dev/sda5 mkfs就是一个前端界面,根据-t参数自动去寻找对应的命令,如这里使用的mkfs -t ext2,其实最后调用的还是mke2fs 

然后将该分区mount上来: 

mkdir -p /mnt/lfs 

mount /dev/sda5 /mnt/lfs 

完成后,编辑/etc/fstab文件,使下次重启后该分区能自动挂载起来,在/etc/fstab中添加一行: 

/dev/sda5 /mnt/lfs ext2 defaults 0 0 

完成后就大功告成,第一步为LFS准备分区已顺利完成 

完成后可以使用df -ah命令来验证,看分区是否已经挂载,大小是否正确等等,这里-a参数就是--all,-h参数就是--human(表示以可读性较好的方式显示)
2004-09-03开始继续LFS的安装 

首先,mkdir -p /mnt/lfs/sources,然后chmod a+wt /mnt/lfs/sources 

以上两个命令都在root下执行,第二个命令就是给所有的用户都加上对sources这个目录的可写权限,t(sticky)权限对于一个目录来说,就是说只有该目录的宿主才可以删除目录和文件,其他人都无法删除;如果是一个文件加上了sticky位(黏附位),则表示内核将尽可能长的把该文件保存在内存中,即使不被执行也是如此,因为这样作能减少执行的时间,不过现在Linux在这方面并不是十分关注 

然后,继续新建目录,mkdir -p $LFS/tools ln -s $LFS/tools / (该命令在/下建立一个链接文件tools,指向$LFS/tools) 

然后是新增LFS用户,useradd -s /bin/bash -m lfs passwd lfs 

然后修改sources和tools两个目录的宿主,这样以后就可以使用lfs用户来操作了,chown lfs $LFS/sources chown lfs $LFS/tools 

然后就可以从root切换到lfs用户了,使用su - lfs 

然后编辑lfs用户的.bash_profile文件,具体操作如下(具体命令含义看lfs文档): 

cat > ~/.bash_profile << "EOF" //使用EOF字符来结束,不用按ctrl+D了 
set +humask 022 
LFS=/mnt/lfs 
LC_ALL=POSIX 
PATH=/tools/bin:$PATH 
export LFS LC_ALL PATH 
unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD 
EOF 
source ~/.bash_profile //source命令将读取参数定义的脚本并执行,也就是说不用去执行脚本本身了 
上述工作全部装完,开始安装Binutils(第一遍) 
本次安装的时间就是标准的SBU时间,在我的笔记本 
(P10 Pentium 4 M 1.7G 512内存,vmware中运行,分配了256M内存给Linux用)下,安装时间一共是23分钟! 
安装过程完全按照LFS的文档,首先下载Binutils 2.14的包,然后在$LFS/sources目录下tar zxvf ...解开,得到binutils-2.14的目录, 
然后再新建一个binutils-build的目录,再cd到该目录,然后运行: 

../binutils-2.14/configure --prefix=/tools --disable-nlsmake configure-hostmake LDFLAGS="-all-static"make installmake -C ld cleanmake -C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib 

原文地址:https://www.cnblogs.com/super119/p/1910254.html