手把手教你如何建立自己的Linux系統(二)

從現在開始一直到製作結束,重新開機後回到工作狀態的步驟是:
  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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章