#!/bin/sh [ "$1" = "-f" ] || { echo "Call it with option -f, but don't fear loosing all your data, this command is dangerous!"; exit 1; } inst=1 swap=2 root=3 yes= while [ "$yes" != "yes" ]; do echo echo echo "I'm going to install the OEM version on your hard drive" echo "!!ALL DATA IS GOING TO BE LOST!!" echo echo "Type \`\`yes'' and [enter] to go on" read yes done cd /proc/ide for i in hd*; do grep -q disk $i/media && hd=/dev/$i grep -q cdrom $i/media && cd=/dev/$i done echo "hd: $hd" echo "cdrom: $cd" mkdir /cdrom ; mount -r -t iso9660 $cd /cdrom if grep -q "[ -]fr" /cdrom/VERSION; then lang=fr flang=fr_FR else lang=en flang=en_US fi echo "Found lang $lang" echo "Installing new partition table and bootloader" dd if=/etc/part_and_bootloader of=$hd echo "Asking kernel to take into account this new partition table" kernel_read_part $hd echo "Setting swap" mkswap $hd$swap swapon $hd$swap echo "Formatting $hd$inst partition" ; mkfs.ext2 $hd$inst echo "Formatting $hd$root partition" ; mkfs.ext2 $hd$root echo "Mounting partitions" mkdir -p /hd ; mount -t ext2 $hd$inst /hd mkdir -p /mnt; mount -t ext2 $hd$root /mnt echo "Copying installation on hard drive" cp -a /boot /cdrom/boot /hd mkdir -p /hd/Mandrake /hd/Mandrake/RPMS cp -a /cdrom/Mandrake/base /cdrom/Mandrake/mdkinst /hd/Mandrake perl -pi -e "s/^(kernel .*)/\1 flang=$flang/" /hd/boot/grub/menu.lst for i in `/etc/closurepkgs /hd/Mandrake/base/depslist.ordered /hd/Mandrake/base/compssList $lang | grep C: | cut -d: -f2`; do [ -e /cdrom/Mandrake/RPMS/$i.*.rpm ] && cp -a /cdrom/Mandrake/RPMS/$i.*.rpm /hd/Mandrake/RPMS done echo "Installing packages" export DURING_INSTALL=1 export RPM_INSTALL_LANG=$lang export LD_LIBRARY_PATH=/usr/X11R6/lib export SECURE_LEVEL=2 for i in /etc /var/lib/rpm /proc ; do mkdir -p /mnt$i; done mount -t proc proc /mnt/proc rpm --root /mnt --initdb echo >/mnt/etc/fstab "$hd$root / ext2 defaults 1 1" for i in `/etc/closurepkgs /hd/Mandrake/base/depslist.ordered /hd/Mandrake/base/compssList $lang | grep I: | cut -d: -f2`; do [ -e /cdrom/Mandrake/RPMS/$i.*.rpm ] && rpm --root /mnt -ivh /cdrom/Mandrake/RPMS/$i.*.rpm --nodeps --force done umount /mnt/proc umount /cdrom eject $cd echo echo "Done. OEM hard drive ready!" echo "The hard drive is now ready for a customer." echo "Press enter to halt." read halt