先创建一个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
done

然后执行脚本、输入 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

未完待续。。。。