kernel: update to 2.6.32.40.
[people/pmueller/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) 2010 IPFire-Team <info@ipfire.org>.                        #
21 #                                                                          #
22 ############################################################################
23 #
24 . /opt/pakfire/lib/functions.sh
25 extract_files
26 #
27 KVER=2.6.32.40
28 ROOT=`mount | grep " / " | cut -d" " -f1`
29 ROOTUUID=`blkid -c /dev/null -sUUID $ROOT | cut -d'"' -f2`
30 if [ ! -z $ROOTUUID ]; then
31         ROOT="UUID=$ROOTUUID"
32 fi
33
34 MOUNT=`grep "kernel" /boot/grub/grub.conf | tail -n 1`
35 # Nur den letzten Parameter verwenden
36 echo $MOUNT > /dev/null
37 MOUNT=$_
38 if [ ! $MOUNT == "rw" ]; then
39         MOUNT="ro"
40 fi
41
42 ENTRY=`grep "savedefault" /boot/grub/grub.conf | tail -n 1`
43 # Nur den letzten Parameter verwenden
44 echo $ENTRY > /dev/null
45 let ENTRY=$_+1
46 #
47 # backup grub.conf
48 #
49 cp /boot/grub/grub.conf /boot/grub/grub-backup-$KVER-xen.conf
50 #
51 # Add new Entry to grub.conf
52 #
53 echo "" >> /boot/grub/grub.conf
54 echo "title IPFire (XEN-Kernel $KVER)" >> /boot/grub/grub.conf
55 echo "  kernel /vmlinuz-$KVER-ipfire-xen root=$ROOT panic=10 console=xvc0 $MOUNT" >> /boot/grub/grub.conf
56 echo "  initrd /ipfirerd-$KVER-xen.img" >> /boot/grub/grub.conf
57 echo "# savedefault $ENTRY" >> /boot/grub/grub.conf
58 #
59 # Test if we running already on xen
60 #
61 uname -r | grep "ipfire-xen";
62 if [ ${?} = 0 ]; then
63         #Xen Kernel is active
64         #Set grub default entry to this kernel
65         sed -i -e "s|^default .*|default $ENTRY|g" /boot/grub/grub.conf
66         #Remove ramdisk of normal kernel (not enough space)
67         rm -f /boot/ipfirerd-$KVER.img
68 else
69         #Normal Kernel
70         #pygrub crash with "default saved"
71         sed -i -e "s|^default saved|#default saved|g" /boot/grub/grub.conf
72 fi
73 #
74 # Made initramdisk
75 #
76 /sbin/dracut --force --verbose /boot/ipfirerd-$KVER-xen.img $KVER-ipfire-xen
77 #
78 # Create new module depency
79 #
80 depmod -a $KVER-ipfire-xen