summaryrefslogtreecommitdiffstats
path: root/rescue/tree/etc/oem
diff options
context:
space:
mode:
Diffstat (limited to 'rescue/tree/etc/oem')
-rwxr-xr-xrescue/tree/etc/oem76
1 files changed, 62 insertions, 14 deletions
diff --git a/rescue/tree/etc/oem b/rescue/tree/etc/oem
index e95d572e1..f30c9a433 100755
--- a/rescue/tree/etc/oem
+++ b/rescue/tree/etc/oem
@@ -2,12 +2,20 @@
[ "$1" = "-f" ] || { echo "Call it with option -f, but don't fear loosing all your data, this command is dangerous!"; exit 1; }
-echo "I'm going to install the oem version on your hard drive"
-echo "!!ALL DATA IS GOING TO BE LOST!!"
-echo
-echo "Press enter to go on"
+inst=1
+swap=2
+root=3
-read
+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
@@ -20,22 +28,62 @@ 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 "Formatting (ext2) partition"
-mkfs.ext2 ${hd}1
+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 "Mounting partition"
-mkdir /hd ; mount -t ext2 ${hd}1 /hd
+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
-echo "Copying cdrom on hard drive"
-cp -a /boot /cdrom/boot /cdrom/Mandrake /hd
-rm /hd/Mandrake/mdkinst/usr/bin/runinstall2
+perl -pi -e "s/^(kernel .*)/\1 flang=$flang/" /hd/boot/grub/menu.lst
-echo "Done, oem hard drive ready! Press enter to reboot"
+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
-reboot \ No newline at end of file
+halt