shellスクリプト実装システムトリミング


#!/bin/bash
#
read -p "         :(  /dev/hda) " DISK
[ -z $DISK ] && DISK=/dev/hda
echo $DISK
#  
echo '
n
p
1
+90M
n
p
2
+300M
w' | fdisk $DISK
partprobe $DISK
sync
sync
sync
sleep 3
#   
mkfs.ext3 ${DISK}1 &>/dev/null
mkfs.ext3 ${DISK}2 &>/dev/null
echo "Formating ${DISK}1 ${DISK}2 finished"
mkdir /mnt/boot
mkdir /mnt/sysroot
mount ${DISK}1 /mnt/boot
mount ${DISK}2 /mnt/sysroot
for DIR in `ls /` ;do mkdir /mnt/sysroot/$DIR;done
grub-install --root-directory=/mnt $DISK
cp  /boot/vmlinuz* /mnt/boot/vmlinuz
mkdir -pv /tmp/test
cd /tmp/test
zcat /boot/init*.img | cpio -id
cat init | sed -e '/resume.*$/d' -i init
cat init | sed -e 's/mkrootdev.*$/mkrootdev -t ext3 -o defaults,ro hda2/' -i init
find . | cpio -H newc --quiet -o | gzip -9 >/mnt/boot/initrd.gz
cat > /mnt/boot/grub/grub.conf </mnt/sysroot/etc/sysconfig/network
cat > /mnt/sysroot/etc/rc.d/rc.sysinit < /mnt/sysroot/etc/inittab < /dev/null && echo "Wrong command" && read -p "Input again:" CMD && continue
  COMMAND=` which $CMD | grep -v "^alias" | grep -o "[^[:space:]]\{1,\}"`
  bincp $COMMAND
  echo "copy $COMMAND finished."
  read -p "Continue: " CMD
done
#      
for BASCCMD in ls pwd cat echo bash init agetty halt shutdown reboot du hostname basename mount;do
        BASCCMD=` which $BASCCMD | grep -v "^alias" | grep -o "[^[:space:]]\{1,\}"`
    bincp $BASCCMD && libcp $BASCCMD
done
#          
mkdir /mnt/sysroot/etc/rc.d/init.d
mkdir /mnt/sysroot/etc/rc.d/rc{0,1,2,3,4,5,6}.d
cat > /mnt/sysroot/etc/rc.d/init.d/halt < /mnt/sysroot/etc/rc.d/rc < /mnt/sysroot/etc/fstab <