先创建一个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
未完待续。。。。