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