]> git.ipfire.org Git - ipfire-2.x.git/blob - src/paks/linux-pae/install.sh
e5f82c567fd4747ee9ce33500e1b08b536b7bc4e
[ipfire-2.x.git] / src / paks / linux-pae / 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-2016 IPFire-Team <info@ipfire.org>. #
21 # #
22 ############################################################################
23 #
24 . /opt/pakfire/lib/functions.sh
25
26
27 function 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
45 if [ "$(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
50 fi
51
52 extract_files
53 #
54 KVER=xxxKVERxxx
55 ROOT=`find_partition /`
56 #
57 # Create new module depency
58 #
59 depmod -a $KVER-ipfire-pae
60 #
61 # Made initramdisk
62 #
63 /usr/bin/dracut --force --xz /boot/initramfs-$KVER-ipfire-pae.img $KVER-ipfire-pae
64
65 if [ -e /boot/grub/grub.cfg ]; then
66 #
67 # Update grub2 config
68 #
69 grub-mkconfig > /boot/grub/grub.cfg
70 else
71 #
72 # xen pv with pygrub need grub.conf / menu.lst
73 #
74 echo "timeout 10" > /boot/grub/grub.conf
75 echo "default 0" >> /boot/grub/grub.conf
76 echo "title IPFire (pae-kernel)" >> /boot/grub/grub.conf
77 echo " root (hd0)" >> /boot/grub/grub.conf
78 echo " kernel /vmlinuz-$KVER-ipfire-pae root=/dev/$ROOT rootdelay=10 panic=10 console=hvc0" \
79 >> /boot/grub/grub.conf
80 echo " initrd /initramfs-$KVER-ipfire-pae.img" >> /boot/grub/grub.conf
81 echo "# savedefault 0" >> /boot/grub/grub.conf
82 ln -s grub.conf $MNThdd/boot/grub/menu.lst
83 fi
84
85 # request a reboot
86 touch /var/run/need_reboot
87 sync && sync