先建立一個sdb磁盤。建立二個分區 # echo '
> n
>p
>1與2
>
>+512M
>w ' | fdisk /dev/sdb &> /dev/null
1、先格式化 /dev/sdb1 與 /dev/sdb2
使用mke2fs 指令;
2、挂載;mount /dev/sdb1 /mnt/boot /、
mount /dev/sdb2 /mnt/sysroot/
3、安裝grub; grub-install --root-direatory=/mnt /dev/sdb
4、複制核心; cp /boot/vmlinuz-2.6.18-164.el5 ./vmlinuz
5、initrd ; mkdir akon 建立新目錄
zcat /boot/initrd-2.6.18-164.el5.img | cpio -id
然後在vim init 中找到 mkrootdev -t ext3 -o default 把最後改成 /dev/sda2
在封裝;find . | cpio -o -H newc --quit | gzip -9 > /mnt/boot/initrd.gz
6、 建立sysroot檔案系統; mkdir var home proc sys dev srv mnt media tmp usr opt misc...
7、複制檔案; 寫個腳本vim.wc.sh
#!/bin/bash
#
function BCP {
TARGET=/mnt/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
[
sys dev srv mnt media tmp usr opt misc
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
然後執行腳本、輸入 ls 、hostname、init、bash、sync、mount、vim、insmod、rmmod、ifconfig、ping、halt
8、編輯配置檔案;cd /mnt/boot 切換至目錄
vim grub/grub.conf
default=0
timeout=5
tile linux
root(hd0,0)
kernel/vmlinuz ro root=/dev/sda2
initrd /initrd.gz
9、切換至 、cd /mnt/sysroot 需要rc.sysinit 腳本
切換 cd /etc 下 編寫 vim initab
id:3:initdefault:
si::sysinit:etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc.sysdone
vim etc/rc.d/rc.sysinit
#! /bin/bash
echo -e "\tWelcome to linux"
/bin/bash
未完待續。。。。