d6ad9f14644737671f3f4ddb94bdac9fa2f6872d
[ipfire-2.x.git] / src / paks / linux-xen / install.sh
1 #!/bin/bash
2 ############################################################################
3 #                                                                          #
4 # This file is part of the IPFire Firewall.                                #
5 #                                                                          #
6 # IPFire is free software; you can redistribute it and/or modify           #
7 # it under the terms of the GNU General Public License as published by     #
8 # the Free Software Foundation; either version 2 of the License, or        #
9 # (at your option) any later version.                                      #
10 #                                                                          #
11 # IPFire is distributed in the hope that it will be useful,                #
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of           #
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
14 # GNU General Public License for more details.                             #
15 #                                                                          #
16 # You should have received a copy of the GNU General Public License        #
17 # along with IPFire; if not, write to the Free Software                    #
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
19 #                                                                          #
20 # Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
21 #                                                                          #
22 ############################################################################
23 #
24 . /opt/pakfire/lib/functions.sh
25 extract_files
26 #
27 KVER=2.6.32.15
28 ROOT=`grep "root=" /boot/grub/grub.conf | cut -d"=" -f2 | cut -d" " -f1 | tail -n 1`
29 MOUNT=`grep "kernel" /boot/grub/grub.conf | tail -n 1`
30 # Nur den letzten Parameter verwenden
31 echo $MOUNT > /dev/null
32 MOUNT=$_
33 ENTRY=`grep "savedefault" /boot/grub/grub.conf | tail -n 1`
34 # Nur den letzten Parameter verwenden
35 echo $ENTRY > /dev/null
36 let ENTRY=$_+1
37 #
38 # backup grub.conf
39 #
40 cp /boot/grub/grub.conf /boot/grub/grub-backup-$KVER-xen.conf
41 #
42 # Add new Entry to grub.conf
43 #
44 echo "" >> /boot/grub/grub.conf
45 echo "title IPFire (XEN-Kernel)" >> /boot/grub/grub.conf
46 echo "  kernel /vmlinuz-$KVER-ipfire-xen root=$ROOT rootdelay=10 panic=10 console=xvc0 $MOUNT" >> /boot/grub/grub.conf
47 echo "  initrd /ipfirerd-$KVER-xen.img" >> /boot/grub/grub.conf
48 echo "# savedefault $ENTRY" >> /boot/grub/grub.conf
49 #
50 # Test if we running already on xen
51 #
52 uname -r | grep "ipfire-xen";
53 if [ ${?} = 0 ]; then
54         #Xen Kernel is active
55         #Set grub default entry to this kernel
56         sed -i -e "s|^default saved|default $ENTRY|g" /boot/grub/grub.conf
57 else
58         #Normal Kernel
59         #pygrub crash with "default saved"
60         sed -i -e "s|^default saved|#default saved|g" /boot/grub/grub.conf
61 fi
62 #
63 # Made initramdisk
64 #
65 cp -f /etc/mkinitcpio.conf.org /etc/mkinitcpio.conf
66 sed -i -e "s| autodetect | |g" /etc/mkinitcpio.conf
67 mkinitcpio -k $KVER-ipfire-xen -g /boot/ipfirerd-$KVER-xen.img
68 #
69 # Create new module depency
70 #
71 depmod -a $KVER-ipfire-xen