]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame_incremental - src/paks/linux-pae/install.sh
linux-pae: fix grub.conf creation on pv machines
[people/pmueller/ipfire-2.x.git] / src / paks / linux-pae / install.sh
... / ...
CommitLineData
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-2016 IPFire-Team <info@ipfire.org>. #
21# #
22############################################################################
23#
24. /opt/pakfire/lib/functions.sh
25
26
27function find_partition() {
28 local mountpoint="${1}"
29
30 local root
31 local dev mp fs flags rest
32 while read -r dev mp fs flags rest; do
33 # Skip unwanted entries
34 [ "${dev}" = "rootfs" ] && continue
35
36 if [ "${mp}" = "${mountpoint}" ] && [ -b "${dev}" ]; then
37 root="$(basename "${dev}")"
38 break
39 fi
40 done < /proc/mounts
41 echo ${root}
42 return 0
43}
44
45if [ "$(grep "^flags.* pae " /proc/cpuinfo)" == "" ]; then
46 rm -f /opt/pakfire/db/installed/meta-linux-pae
47 /usr/bin/logger -p syslog.emerg -i pakfire \
48 "linux-pae: no pae support found, aborted!"
49 exit 1
50fi
51
52extract_files
53#
54KVER=xxxKVERxxx
55ROOT=`find_partition /`
56#
57# Create new module depency
58#
59depmod -a $KVER-ipfire-pae
60#
61# Made initramdisk
62#
63/usr/bin/dracut --force --early-microcode --xz /boot/initramfs-$KVER-ipfire-pae.img $KVER-ipfire-pae
64
65if [ -e /boot/grub/grub.cfg ]; then
66 #
67 # Update grub2 config
68 #
69 grub-mkconfig > /boot/grub/grub.cfg
70fi
71
72if [ -e /boot/grub/grub.conf ]; then
73 #
74 # xen pv with pygrub need grub.conf / menu.lst
75 #
76 echo "timeout 10" > /boot/grub/grub.conf
77 echo "default 0" >> /boot/grub/grub.conf
78 echo "title IPFire (pae-kernel)" >> /boot/grub/grub.conf
79 echo " root (hd0)" >> /boot/grub/grub.conf
80 echo " kernel /vmlinuz-$KVER-ipfire-pae root=/dev/$ROOT rootdelay=10 panic=10 console=hvc0" \
81 >> /boot/grub/grub.conf
82 echo " initrd /initramfs-$KVER-ipfire-pae.img" >> /boot/grub/grub.conf
83 echo "# savedefault 0" >> /boot/grub/grub.conf
84 ln -s grub.conf $MNThdd/boot/grub/menu.lst
85fi
86
87# request a reboot
88touch /var/run/need_reboot
89sync && sync