#!/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

效果:

脚本制作Minilinux_职场