#!/bin/sh disk=$1 if [ $# -ne 1 ]; then echo "Enter hard disk drive as first parameter (e.g. /dev/hda)" exit 1 fi # create partitions (echo 'o'; echo 'n'; echo 'p'; echo '1'; echo; echo '+256M'; echo 't'; echo '1'; echo '82'; \ echo 'n'; echo 'p'; echo '2'; echo; echo '+128M'; \ echo 'n'; echo 'p'; echo '3'; echo; echo; echo 'w';) | fdisk $disk mke2fs -j $disk"2" mke2fs -j $disk"3" mkswap $disk"1" # copy the files mount $disk"3" /mnt/temp mount --bind / /system/root cp -a /system/root/* /mnt/temp/ # configure the boot loader mkdir /mnt/temp/boot/grub cp /usr/lib/grub/i386-pc/* /mnt/temp/boot/grub/ echo "timeout 5" >/mnt/temp/boot/grub/menu.lst echo "default 0" >>/mnt/temp/boot/grub/menu.lst echo "title Gibraltar" >>/mnt/temp/boot/grub/menu.lst if [ "$disk" = "/dev/hda" ]; then echo "kernel (hd0,2)/boot/vmlinuz ramdisk_size=4608 root=/dev/ram0 init=/linuxrc rw boot="$disk"3 fastboot quiet" >>/mnt/temp/boot/grub/menu.lst echo "initrd (hd0,2)/boot/isolinux/initrd.bin" >>/mnt/temp/boot/grub/menu.lst elif [ "$disk" = "/dev/hdb" ]; then echo "kernel (hd1,2)/boot/vmlinuz ramdisk_size=4608 root=/dev/ram0 init=/linuxrc rw boot="$disk"3 fastboot quiet" >>/mnt/temp/boot/grub/menu.lst echo "initrd (hd1,1)/boot/isolinux/initrd.bin" >>/mnt/temp/boot/grub/menu.lst elif [ "$disk" = "/dev/hdc" ]; then echo "kernel (hd2,2)/boot/vmlinuz ramdisk_size=4608 root=/dev/ram0 init=/linuxrc rw boot="$disk"3 fastboot quiet" >>/mnt/temp/boot/grub/menu.lst echo "initrd (hd2,2)/boot/isolinux/initrd.bin" >>/mnt/temp/boot/grub/menu.lst elif [ "$disk" = "/dev/hdd" ]; then echo "kernel (hd3,2)/boot/vmlinuz ramdisk_size=4608 root=/dev/ram0 init=/linuxrc rw boot="$disk"3 fastboot quiet" >>/mnt/temp/boot/grub/menu.lst echo "initrd (hd3,2)/boot/isolinux/initrd.bin" >>/mnt/temp/boot/grub/menu.lst else echo "No IDE disk present" fi umount /mnt/temp # copy the grub program files to /tmp cp /sbin/grub /tmp chpax -s /tmp/grub # install grub if [ "$disk" = "/dev/hda" ]; then echo -e "root (hd0,2)\nsetup (hd0)" | /tmp/grub --batch elif [ "$disk" = "/dev/hdb" ]; then echo -e "root (hd1,2)\nsetup (hd1)" | /tmp/grub --batch elif [ "$disk" = "/dev/hdc" ]; then echo -e "root (hd2,2)\nsetup (hd2)" | /tmp/grub --batch elif [ "$disk" = "/dev/hdd" ]; then echo -e "root (hd3,2)\nsetup (hd3)" | /tmp/grub --batch fi echo "Gibraltar installed successfully!" echo "Reboot now and adapt the BIOS!" exit 0