安装 bison ---包括一个语法分析程序生成器<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

tar -jxvf bison-2.4.1.tar.bz2

cd bison-2.4.1

./configure --prefix=/usr

echo '#define YYENABLE_NLS 1' >> lib/config.h

make

make install

 

安装procps ---用于监视系统进程的程序

tar -zxvf procps-3.2.8.tar.gz

cd procps-3.2.8

patch -Np1 -i ../procps-3.2.8-watch_unicode-1.patch

make

make install

 

 

安装grep

./configure --prefix=/usr     --bindir=/bin    --without-included-regex

make

make install

 

安装readline --一个提供命令行编辑和历史纪录功能的库集合

tar -zxvf readline-6.1.tar.gz

cd  readline-6.1

sed -i '/MV.*old/d' Makefile.in

sed -i '/{OLDSUFF}/c:' support/shlib-install

sed -i –e 's/0x0600/0x0601/' -e 's/6\.0/6.1/' -e 's/RL_VERSION_MINOR\t0/RL_VERSION_MINOR\t1/' readline.h

./configure --prefix=/usr --libdir=/lib

make SHLIB_LIBS=-lncurses

make install

mv -v /lib/lib{readline,history}.a /usr/lib

rm -v /lib/lib{readline,history}.so

ln -sfv ../../lib/libreadline.so.6 /usr/lib/libreadline.so

ln -sfv ../../lib/libhistory.so.6 /usr/lib/libhistory.so

 

安装bash

./configure --prefix=/usr --bindir=/bin     --htmldir=/usr/share/doc/bash-4.1 --without-bash-malloc     --with-installed-readline

make

make install

 

安装Libtool ---- 包括GNU所需的库

tar -zxvf  libtool-2.2.6b.tar.gz

cd libtool-2.2.6b

./configure --prefix=/usr

make

make install

 

安装gdbm ---包含GNU数据库管理软件

tar -zxvf gdbm-1.8.3.tar.gz

cd gdbm-1.8.3

./configure --prefix=/usr

make

make install

 

安装Inetutils ---- 包括基本网络工具

tar -zxvf inetutils-1.7.tar.gz

cd inetutils-1.7

./configure --prefix=/usr --libexecdir=/usr/sbin     --localstatedir=/var --disable-ifconfig     --disable-logger --disable-syslogd --disable-whois     --disable-servers

make

make install

 

安装perl

cd ../perl-5.10.1

echo "127.0.0.1 localhost $(hostname)" > /etc/hosts

sed -i -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|"                -e "s|INCLUDE\s*= ./zlib-src|INCLUDE    = /usr/include|"        -e "s|LIB\s*= ./zlib-src|LIB        = /usr/lib|"           ext/Compress-Raw-Zlib/config.in

 

sh Configure -des -Dprefix=/usr                   -Dvendorprefix=/usr                             -Dman1dir=/usr/share/man/man1                   -Dman3dir=/usr/share/man/man3                   -Dpager="/usr/bin/less -isR"

make

make install

 

安装autoconfig ---能生成用于自动配置源代码的 shell 脚本

tar -jxvf autoconf-2.65.tar.bz2

cd autoconf-2.65

./configure --prefix=/usr

make

make install

 

安装automake --- Autoconf 配合使用,产生 Makefile 文件

tar -jxvf automake-1.11.1.tar.bz2

cd automake-1.11.1         

./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.11.1

make

make install

 

安装bzip2

make

make PREFIX=/usr install

 

安装diffutils

./configure --prefix=/usr

make

make install

 

安装gawk

./configure --prefix=/usr --libexecdir=/usr/lib

make

make install

 

安装findutils

./configure --prefix=/usr --libexecdir=/usr/lib/findutils      --localstatedir=/var/lib/locate

make

make install

 

安装flex ---包含一个能生成识别文本模式的程序的工具

tar -jxvf flex-2.5.35.tar.bz2

cd flex-2.5.35

patch -Np1 -i ../flex-2.5.35-gcc44-1.patch

./configure --prefix=/usr

make

make install

 

安装gettext ---用于系统的国际化和本地化,可以在编译程序的时候使用本国语言支持(NLS),可以使程序的输出使用用户本国语言

./configure --prefix=/usr             --docdir=/usr/share/doc/gettext-0.17

make

make install

 

安装groff

tar -zxvf groff-1.20.1.tar.gz

./configure --prefix=/usr

make

make install

 

安装grub

mkdir build

../configure --prefix=/usr                        --sysconfdir=/etc                    --disable-grub-emu                   --disable-grub-emu-usb               --disable-grub-fstest                --disable-efiemu

make

make install

 

安装gzip

./configure --prefix=/usr --bindir=/bin

make

make install

 

安装iproute ----包含了基本的和高级的基于 IPv4 网络的程序

tar -jxvf iproute2-2.6.31.tar.bz2

cd iproute2-2.6.31

sed -i '/^TARGETS/s@arpd@@g' misc/Makefile

make DESTDIR=

make DESTDIR= SBINDIR=/sbin MANDIR=/usr/share/man \

     DOCDIR=/usr/share/doc/iproute2-2.6.31 install

 

安装kbd ---包含键盘映射表和键盘工具

tar -zxvf kbd-1.15.1.tar.gz

cd kbd-1.15.1

autoreconf

patch -Np1 -i ../kbd-1.15.1-backspace-1.patch

./configure --prefix=/usr --datadir=/lib/kbd

make

make install

 

安装less

tar -zxvf less-436.tar.gz

./configure --prefix=/usr --sysconfdir=/etc

make

make install

 

安装make

./configure --prefix=/usr

make

make install

 

安装man-db ----包含查找和显示 man 手册页的程序

tar -zxvf man-db-2.5.6.tar.gz

./configure --prefix=/usr --libexecdir=/usr/lib      --sysconfdir=/etc --disable-setuid      --with-browser=/usr/bin/lynx --with-vgrind=/usr/bin/vgrind   --with-grap=/usr/bin/grap

make

make install

 

安装module-init-tools ---包含处理内核模块时使用的工具

tar -jxvf module-init-tools-3.11.1.tar.bz2

./configure --prefix=/ --enable-zlib-dynamic --mandir=/usr/share/man

make

make INSTALL=install install

 

安装patch

./configure --prefix=/usr

make

make install

安装psmisc ----包含有用于显示进程信息的程序

tar -zxvf psmisc-22.10.tar.gz

./configure --prefix=/usr

make

make install

 

安装shadow ---包含用于在安全方式下处理密码的程序

./configure --sysconfdir=/etc

make

make install

 

安装sysklogd ----包含记录系统日志信息的程序

tar -zxvf sysklogd-1.5.tar.gz

make

make BINDIR=/sbin install

 

cat > /etc/syslog.conf << "EOF"

# Begin /etc/syslog.conf

auth,authpriv.* -/var/log/auth.log

*.*;auth,authpriv.none -/var/log/sys.log

daemon.* -/var/log/daemon.log

kern.* -/var/log/kern.log

mail.* -/var/log/mail.log

user.* -/var/log/user.log

*.emerg *

# End /etc/syslog.conf

EOF

 

安装sysvinit ----包含一些控制系统启动、运行、关闭的程序

make -C src

make -C src install

 

cat > /etc/inittab << "EOF"

# Begin /etc/inittab

id:3:initdefault:

 

si::sysinit:/etc/rc.d/init.d/rc sysinit

l0:0:wait:/etc/rc.d/init.d/rc 0

l1:S1:wait:/etc/rc.d/init.d/rc 1

l2:2:wait:/etc/rc.d/init.d/rc 2

l3:3:wait:/etc/rc.d/init.d/rc 3

l4:4:wait:/etc/rc.d/init.d/rc 4

l5:5:wait:/etc/rc.d/init.d/rc 5

l6:6:wait:/etc/rc.d/init.d/rc 6

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

su:S016:once:/sbin/sulogin

1:2345:respawn:/sbin/agetty tty1 9600

2:2345:respawn:/sbin/agetty tty2 9600

3:2345:respawn:/sbin/agetty tty3 9600

4:2345:respawn:/sbin/agetty tty4 9600

5:2345:respawn:/sbin/agetty tty5 9600

6:2345:respawn:/sbin/agetty tty6 9600

# End /etc/inittab

EOF

 

安装tar

./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin

make

make install

 

安装texinfo-----包含读取、写入、转换 Info 文档的程序

./configure --prefix=/usr

make

make install

 

安装Udev ---包含动态地创建设备节点的程序

tar -jxvf udev-151.tar.bz2

tar -jxvf udev-config-20100128.tar.bz2

cd udev-config-20100128

install -dv /lib/{firmware,udev/devices/{pts,shm}}

mknod -m0666 /lib/udev/devices/null c 1 3

ln -sv /proc/self/fd /lib/udev/devices/fd

ln -sv /proc/self/fd/0 /lib/udev/devices/stdin

ln -sv /proc/self/fd/1 /lib/udev/devices/stdout

ln -sv /proc/self/fd/2 /lib/udev/devices/stderr

ln -sv /proc/kcore /lib/udev/devices/core

cd ../udev-151

./configure --prefix=/usr     --sysconfdir=/etc --sbindir=/sbin     --with-rootlibdir=/lib --libexecdir=/lib/udev     --docdir=/usr/share/doc/udev-151     --disable-extras --disable-introspection

make

make install

install -m644 -v rules/packages/64-*.rules    /lib/udev/rules.d/

install -m644 -v rules/packages/40-pilot-links.rules     /lib/udev/rules.d/

install -m644 -v rules/packages/40-isdn.rules     /lib/udev/rules.d/

cd udev-config-20100128

make install

 

安装vim

patch -Np1 -i ../vim-7.2-fixes-5.patch

echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h

./configure --prefix=/usr --enable-multibyte

make

make install

ln -sv vim /usr/bin/vi

 

第四部  设置系统启动脚本

安装lfs-bootscript

tar -jxvf lfs-bootscripts-20100124.tar.bz2

make install

 

配置setclock脚本

cat > /etc/sysconfig/clock << "EOF"

UTC=1

CLOCKPARAMS=

EOF

 

配置linux控制台

cat > /etc/sysconfig/console << "EOF"

KEYMAP="pl2"

FONT="lat2a-16 -m 8859-2"

EOF

 

创建inputrc ---特定的情况处理键盘映射

cat > /etc/inputrc << "EOF"

set horizontal-scroll-mode Off

set meta-flag On

set input-meta On

set convert-meta Off

set output-meta On

set bell-style none

"\eOd": backward-word

"\eOc": forward-word

"\e[1~": beginning-of-line

"\e[4~": end-of-line

"\e[5~": beginning-of-history

"\e[6~": end-of-history

"\e[3~": delete-char

"\e[2~": quoted-insert

"\eOH": beginning-of-line

"\eOF": end-of-line

"\e[H": beginning-of-line

"\e[F": end-of-line

EOF

 

创建localnet脚本

echo "HOSTNAME=test" > /etc/sysconfig/network

 

创建/etc/hosts文件

127.0.0.1 localhost

 

创建网络脚本

cd /etc/sysconfig/network-devices

mkdir -v ifconfig.eth0

cat > ifconfig.eth0/ipv4 << "EOF"

ONBOOT=yes

SERVICE=ipv4-static

IP=192.168.1.1

GATEWAY=192.168.1.2

PREFIX=24

BROADCAST=192.168.1.255

EOF

 

第五部 启动系统

编辑fstab文件

LABEL=/                 /                       ext3    defaults        1 1

LABEL=/boot1            /boot                   ext3    defaults        1 2

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

LABEL=SWAP-sda2         swap                    swap    defaults        0 0

 

 

编译内核

make mrproper

make menuconfig

make

make modules_install

cp -v arch/x86/boot/bzImage /boot/vmlinux-2.6.32.8-lfs-6.6

cp -v System.map /boot/System.map-2.6.32.8

cp -v .config /boot/config-2.6.32.8

install -v -m755 -d /etc/modprobe.d

cat > /etc/modprobe.d/usb.conf << "EOF"

install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i ohci_hcd ; true

install uhci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i uhci_hcd ; true

EOF

 

配置grub

tar -zxvf grub-1.97.2.tar.gz

./configure

make

make install

/usr/local/sbin/grub-install   --grub-setup=/bin/true /dev/sda

grub-mkconfig -o /boot/grub/grub.cfg

/sbin/reboot

...

grub> root (hd0,1)

grub> kernel /boot/grub/core.img

grub> boot