手把手教你如何创建本身的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
相关文章
相关标签/搜索