#!/bin/bash
#首先需要一块硬盘, 分区:boot 100M / 200M
read -p "please select partion as boot:" PARTION1
mkdir /mnt/boot
mount /dev/$PARTION1 /mnt/boot
read -p "please select partion as /:" PARTION2
mkdir /mnt/sysroot
mount /dev/$PARTION2 /mnt/sysroot
grub-install --root-directory=/mnt/dev/${PARTION1:0:3}
#内核
cp /boot/vmlinuz-2.6.18-164.e15 /mnt/boot
cp /boot/initrd-2.6.18-164.e15.img /mnt/boot
#写入grub.conf
echo "default=0">> /mnt/boot/grub/grub.conf
echo "timeout=5">> /mnt/boot/grub/grub.conf
echo "title Minilinux">> /mnt/boot/grub/grub.conf
echo "root (hd0,0)">> /mnt/boot/grub/grub.conf
echo "initrd /initrd-2.6.18-164.e15.img">> /mnt/boot/grub/grub.conf
cd /mnt/sysroot
mkdir -p dev tmp etc proc sys lib sbin bin usr
chmod o+wt tmp/
cp /sbin/init sbin/
cd lib
#copy init 所依赖的lib
cp /lib/libsepol.so.1 ./
cp /lib/libselinux.so.1 ./
cp /lib/libc.so.6 ./
cp /lib/libdl.so.2 ./
cp /lib/ld-linux.so.2./
cp /lib/ld-linux.so.2 ./
cp /bin/bash /mnt/sysroot/bin
echo "id:3:initdefault:" >> ../etc/inittab
echo "si::sysyinit:/etc/rc.d/rc.sysyinit" >> ../etc/inittab
mkdir ../etc/rc.d
#写入rc.sysinit
echo "#!/bin/bash" >> ../etc/rc.d/rc.sysinit
echo "/bin/bash" >> ../etc/rc.d/rc.sysinit
chmod 755 ../etc/rc.d/rc.sysinit
sync
sync
sync
#添加ls指令
cp /bin/ls /mnt/sysroot/bin
cp /lib/librt.so.1 ./
cp /lib/libacl.so.1 ./
cp /lib/libpthread.so.0 ./
cp /lib/libattr.so.1 ./
sync
sync
sync
效果: