1、加硬碟,三個分區大小:
1:100M
2:512M
3:128M
把1的2建立為ext3的檔案系統
/dev/sdb1 /mnt/boot
/dev/sdb2 /mnt/sysroot
2、安裝grub(提供了兩種安裝方法2.1和2.2)
2.1# mkdir /mnt/boot/grub
# cp /usr/share/grub/i386-redhat/* /mnt/boot/grub
# grub
grub> root (hd1,0)
grub> setup (hd1)
2.2grub-install --root-directory=/mnt /dev/sdb
寫配置檔案:/mnt/boot/grub/grub.conf
grub.conf:
default=1
timeout=5
!!!splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
!!!hiddenmenu
title @Red Hat Enterprise Linux Server (2.6.28.10)@
root (hd0,0)
kernel @/vmlinuz-2.6.28.10 ro root=/dev/sdb2@ rhgb quiet
initrd @/initrd-2.6.28.10.img@
(其中配置檔案中!!!中間的未非必須,@中間的根據自己的需要來寫,兩個符号僅作為本人标注作用)
3、複制核心并提供initrd:
# cp /boot/vmlinuz-$(uname -r) /mnt/boot/vmlinuz
# mkdir /tmp/linux
# cd /tmp/linux
# zcat /boot/initrd-$(uname -r).img | cpio -id
# vim init
找到/dev/vol0/root 換成/dev/sda2
# find . | cpio -o -H newc --quiet | gzip -9 > /mnt/boot/initrd.gz
4、提供根檔案系統
# cd /mnt/sysroot
# mkdir -pv ./{etc/rc.d, bin, sbin, usr, proc, sys, var, tmp, lib, mnt, media, misc, opt, dev}
# cp /sbin/init sbin/
# cp /bin/bash bin/
複制上述兩個可執行檔案依賴的庫檔案:
# ldd /sbin/init
# cp /lib/... /mnt/sysroot/lib/...
以下提供了複制庫檔案的腳本程式:輸入需要的指令就能把指令和使用的庫檔案複制到需要的檔案中
#!/bin/bash
#
function BCP{
TARGET=/tmp/sysroot
COMMAND=`which $1 | grep -o "/.*"`
CMDPATH=${COMMAND%/*}
[ -d $TARGET$CMDPATH ] || mkdir -p $TARGET$CMDPATH
[ -e $TARGET$COMMAND ] || cp $COMMAND $TARGET$CMDPATH
for LIBFILE in `ldd $COMMAND | grep -o "/.*lib[^[:space:]]*"`;do
LIBPATH=${LIBFILE%/*}
[ -d $TARGET$LIBPATH ] || mkdir -p $TARGET$LIBPATH
[ -e $TARGET$LIBFILE ] || cp $LIBFILE $TARGET$LIBPATH
done
}
while true; do
read -p "A Command: " MYCMD
case $MYCMD in
q|Q)
echo "Quit......"
exit 0
;;
*)
! which $MYCMD &> /dev/null && echo "Wrong command..." && continue
BCP $MYCMD
esac
done
5、提供配置檔案:
# vim etc/inittab
id:3:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
# vim etc/rc.d/rc.sysinit
rc.sysinit:
echo -e "\tWelcome to LLinux"
/bin/bash
# chmod +x etc/rc.d/rc.sysint