從如今開始一直到製做結束,從新開機後回到工做狀態的步驟是:
1.從新啓動計算機,並從LiveCD啓動
2.加載分區
export LFS=/mnt/lfs
mkdir -pv $LFS
mount /dev/hda2 $LFS
3.加載交換分區(若是不想用交換分區或者沒有交換分區可跳過此步驟)
swapon /dev/hda1
4.加載必要的文件系統
mount -v --bind /dev $LFS/dev
mount -vt devpts devpts $LFS/dev/pts
mount -vt tmpfs shm $LFS/dev/shm
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
5.Chroot到目標系統下
chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login
6.進入編譯目錄
cd /sources
export LFS=/sources
LFS-Bootscripts-6.3
代碼:
tar xvf $LFS/lfs-bootscripts-6.3.tar.bz2
cd lfs-bootscripts-6.3
make install
cd ..
rm -rf lfs-bootscripts-6.3
時間設置(Configuring the setclock Script)
代碼:
cat > /etc/sysconfig/clock << "EOF"
# Begin /etc/sysconfig/clock
UTC=1
# End /etc/sysconfig/clock
EOF
設置bash下的鍵盤功能鍵設置
代碼:
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
設置Bash Shell啓動文件(The Bash Shell Startup Files)
代碼:
cat > /etc/profile << "EOF"
# Begin /etc/profile
export LANG=zh_CN.UTF-8
export INPUTRC=/etc/inputrc
alias ls="ls --color"
export PS1='\u:\w\$ '
# End /etc/profile
EOF
設置本地網絡名
代碼:
echo "HOSTNAME=mylinux" > /etc/sysconfig/network
設置hosts文件
代碼:
cat > /etc/hosts << "EOF"
# Begin /etc/hosts (no network card version)
127.0.0.1 mylinux localhost
# End /etc/hosts (no network card version)
EOF
設置網絡的靜態地址
代碼:
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
注意:IP、GATEWAY、BROADCAST的地址根據本身的實際狀況設置。
設置DNS
代碼:
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf
nameserver 你的首個DNS的地址
nameserver 你的第二DNS的地址
# End /etc/resolv.conf
EOF
創建fstab文件
代碼:
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/hda2 / xfs defaults 1 1
/dev/hda1 swap swap pri=1 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devpts /dev/pts devpts gid=4,mode=620 0 0
shm /dev/shm tmpfs defaults 0 0
# End /etc/fstab
EOF
注意:這裏的磁盤名以及文件系統名須要根據實際狀況修改。
安裝內核Linux-2.6.22.5
代碼:
cd /sources
tar xvf $LFS/linux-2.6.22.5.tar.bz2
cd linux-2.6.22.5
安裝顯示UTF-8編碼文字的補丁
若是以前下載了UTF-8編碼文字顯示補丁,那麼這裏能夠將這兩個補丁打入內核
patch -Np1 -i $LFS/utf8-kernel-2.6.22.5-core-1.patch
patch -Np1 -i $LFS/utf8-kernel-2.6.22.5-fonts-1.patch
代碼:
make mrproper
make menuconfig
根據你的機器實際狀況配置內核選項,這裏爲了說明方便,以VMWare5.5爲基礎虛擬的硬件來配置內核
若是在創建虛擬機的時候是選擇的BusLogic的SCSI磁盤,那麼應該在Device Drivers->SCSI device support->SCSI low-level drivers下加入BusLogic SCSI support的支持,能夠採用編譯到內核來避免未用initrd腳原本加載模塊而致使啓動失敗
若是想支持網絡則應該在Device Drivers->Networking support->Ethernet (10 or 100Mbit)加入AMD PCnet32 PCI support的支持,能夠採用編譯到內核也能夠編譯成模塊的方式
若是想支持聲卡則應該在Device Drivers->Sound->Advanced Linux Sound Architecture->PCI devices加入(Creative) Ensoniq AudioPCI 1371/1373的支持,編譯成模塊便可
文件系統的支持,須要根據以前將目標系統分區格式化的狀況而定,使用了什麼文件系統就須要加入該文件系統的支持,因以前採用的是Xfs文件系統,所以在File Systems->XFS support加入XFS的支持,能夠採用編譯到內核來避免未用initrd腳原本加載模塊而致使啓動失敗
若是以前給內核加入了顯示UTF-8編碼文字的補丁的話,那麼這裏須要加入framebuffer的支持才能使補丁生效,在Device Drivers->Graphics support中加入Support for frame buffer devices,並選擇上VESA VGA graphics supports,這裏將其編譯到內核中
同時還須要加入framebuffer字體支持,在Device Drivers->Graphics support->Console display driver support中加入Framebuffer Console support並選擇上Select compiled-in fonts,選上VGA 8x16 font這一種字體就能夠了,這裏將這些選擇都編譯到內核中
能夠保存退出了
代碼:
make
make modules_install
cp -v arch/i386/boot/bzImage /boot/lfskernel-2.6.22.5
cp -v System.map /boot/System.map-2.6.22.5
cp -v .config /boot/config-2.6.22.5
install -d /usr/share/doc/linux-2.6.22.5
cp -r Documentation/* /usr/share/doc/linux-2.6.22.5
安裝Grub,使系統能啓動,這裏設置須要根據狀況而修改,這裏以以前介紹的分區設置爲例:
代碼:
grub
輸入root (hd0,1)
輸入setup (hd0)
quit
設置grub啓動菜單
代碼:
cat > /boot/grub/menu.lst << "EOF"
# Begin /boot/grub/menu.lst
# By default boot the first menu entry.
default 0
# Allow 30 seconds before booting the default.
timeout 30
# Use prettier colors.
color green/black light-green/black
# The first entry is for LFS.
title LFS 6.3
root (hd0,1)
kernel /boot/lfskernel-2.6.22.5 root=/dev/hda2
EOF
注意:這裏root後面的磁盤分區須要根據實際狀況調整。
將menu.lst鏈接到/etc目錄下
代碼:
mkdir -v /etc/grub
ln -sv /boot/grub/menu.lst /etc/grub
退出製做環境:
代碼:
logout
如今已經完成了lfs的安裝,能夠從新啓動來運行咱們本身的系統咯!
Grub啓動界面
啓動完成
本文來自孫海勇(沖天飛豹)http://blogold.chinaunix.net/u/13265/showart_477122.html