From 07ca0d932f1a9ef270334a882673c2be81549530 Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Wed, 1 Oct 2008 16:08:10 +0200 Subject: [PATCH] Changed alternative kernel to a package --- config/grub/grub.conf | 5 -- config/rootfiles/{common => packages}/linux25 | 0 config/rootfiles/updater/filelists/linux25 | 1 - config/rootfiles/updater/update.sh | 1 - lfs/initrd | 1 - lfs/linux25 | 5 ++ src/install+setup/install/main.c | 7 --- src/paks/linux25/install.sh | 62 +++++++++++++++++++ src/paks/linux25/uninstall.sh | 26 ++++++++ src/paks/linux25/update.sh | 26 ++++++++ 10 files changed, 119 insertions(+), 15 deletions(-) rename config/rootfiles/{common => packages}/linux25 (100%) delete mode 120000 config/rootfiles/updater/filelists/linux25 create mode 100644 src/paks/linux25/install.sh create mode 100644 src/paks/linux25/uninstall.sh create mode 100644 src/paks/linux25/update.sh diff --git a/config/grub/grub.conf b/config/grub/grub.conf index c4b7e2adbe..886d6d77b0 100644 --- a/config/grub/grub.conf +++ b/config/grub/grub.conf @@ -34,8 +34,3 @@ title IPFire (all storage drivers) kernel /vmlinuz-KVER-ipfire root=ROOT rootdelay=10 panic=10 MOUNT initrd /ipfirerd-KVER-emergency.img savedefault 5 -title IPFire - experimental kernel-2.6.25.17 - no ipsec (vesafb 640x480) - root (hd0,0) - kernel /vmlinuz-2.6.25.17-ipfire root=ROOT rootdelay=10 panic=10 vga=785 MOUNT - initrd /ipfirerd-2.6.25.17.img - savedefault 6 diff --git a/config/rootfiles/common/linux25 b/config/rootfiles/packages/linux25 similarity index 100% rename from config/rootfiles/common/linux25 rename to config/rootfiles/packages/linux25 diff --git a/config/rootfiles/updater/filelists/linux25 b/config/rootfiles/updater/filelists/linux25 deleted file mode 120000 index c9a54cd507..0000000000 --- a/config/rootfiles/updater/filelists/linux25 +++ /dev/null @@ -1 +0,0 @@ -../../common/linux25 \ No newline at end of file diff --git a/config/rootfiles/updater/update.sh b/config/rootfiles/updater/update.sh index 18593dcde8..8952727217 100755 --- a/config/rootfiles/updater/update.sh +++ b/config/rootfiles/updater/update.sh @@ -144,7 +144,6 @@ fi fi mkinitcpio -k $KVER-ipfire -g /boot/ipfirerd-$KVER.img #mkinitcpio -k $KVER-ipfire-smp -g /boot/ipfirerd-$KVER-smp.img -mkinitcpio -k 2.6.25.17-ipfire -g /boot/ipfirerd-2.6.25.17.img # # ReInstall grub # diff --git a/lfs/initrd b/lfs/initrd index 114fab560c..b4d0e3bcfd 100644 --- a/lfs/initrd +++ b/lfs/initrd @@ -61,7 +61,6 @@ $(TARGET) : # make new dependencies depmod -a -F /boot/System.map-$(KVER)-ipfire $(KVER)-ipfire #depmod -a -F /boot/System.map-$(KVER)-ipfire-smp $(KVER)-ipfire-smp - depmod -a -F /boot/System.map-2.6.25.17-ipfire 2.6.25.17-ipfire cp -a /lib/modules/$(KVER)-ipfire/ /install/initrd/lib/modules/ diff --git a/lfs/linux25 b/lfs/linux25 index b50aafeb0d..d1d07defb1 100644 --- a/lfs/linux25 +++ b/lfs/linux25 @@ -42,6 +42,9 @@ else TARGET = $(DIR_INFO)/linux-$(VER) endif +PROG = linux25 +PAK_VER = 1 +DEPS = "" ############################################################################### # Top-level Rules @@ -75,6 +78,8 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects)) md5 : $(subst %,%_MD5,$(objects)) +dist: + @$(PAK) ############################################################################### # Downloading, checking, md5sum ############################################################################### diff --git a/src/install+setup/install/main.c b/src/install+setup/install/main.c index 6d6d12cf6a..910fd96daa 100644 --- a/src/install+setup/install/main.c +++ b/src/install+setup/install/main.c @@ -455,10 +455,6 @@ int main(int argc, char *argv[]) KERNEL_VERSION); mysystem(commandstring); */ - snprintf(commandstring, STRING_SIZE, - "/bin/touch /harddisk/lib/modules/2.6.25.17-ipfire/modules.dep"); - mysystem(commandstring); - /* Rename uname */ rename ("/harddisk/bin/uname.bak", "/harddisk/bin/uname"); @@ -532,9 +528,6 @@ int main(int argc, char *argv[]) /* snprintf(commandstring, STRING_SIZE, "/sbin/chroot /harddisk /sbin/mkinitcpio -g /boot/ipfirerd-%s-smp.img -k %s-ipfire-smp", KERNEL_VERSION, KERNEL_VERSION ); runcommandwithstatus(commandstring, ctr[TR_BUILDING_INITRD]); */ - snprintf(commandstring, STRING_SIZE, "/sbin/chroot /harddisk /sbin/mkinitcpio -g /boot/ipfirerd-2.6.25.17.img -k 2.6.25.17-ipfire"); - runcommandwithstatus(commandstring, ctr[TR_BUILDING_INITRD]); - sprintf(string, "root=%s3", hdparams.devnode_part_run); diff --git a/src/paks/linux25/install.sh b/src/paks/linux25/install.sh new file mode 100644 index 0000000000..0794b03db9 --- /dev/null +++ b/src/paks/linux25/install.sh @@ -0,0 +1,62 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +extract_files +# +KVER=2.6.25.17 +ROOT=`grep "root=" /boot/grub/grub.conf | cut -d"=" -f2 | cut -d" " -f1 | tail -n 1` +MOUNT=`grep "kernel" /boot/grub/grub.conf | tail -n 1` +# Nur den letzten Parameter verwenden +echo $MOUNT > /dev/null +MOUNT=$_ +ENTRY=`grep "savedefault" /boot/grub/grub.conf | tail -n 1` +# Nur den letzten Parameter verwenden +echo $ENTRY > /dev/null +let ENTRY=$_+1 +# +# backup grub.conf +# +cp /boot/grub/grub.conf /boot/grub/grub-backup-$KVER.conf +# +# Add new Entry to grub.conf +# +echo "" >> /boot/grub/grub.conf +echo "title IPFire alternative Kernel:$KVER" >> /boot/grub/grub.conf +echo " root (hd0,0)" >> /boot/grub/grub.conf +echo " kernel /vmlinuz-$KVER-ipfire root=$ROOT rootdelay=10 panic=10 $MOUNT" >> /boot/grub/grub.conf +echo " initrd /ipfirerd-$KVER.img" >> /boot/grub/grub.conf +echo " savedefault $ENTRY" >> /boot/grub/grub.conf +# +# Made initramdisk +# +mkinitcpio -k $KVER-ipfire -g /boot/ipfirerd-$KVER.img +# +# ReInstall grub +# +grub-install --no-floppy ${ROOT::`expr length $ROOT`-1} +# +# Create new module depency +# +depmod -a $KVER-ipfire + diff --git a/src/paks/linux25/uninstall.sh b/src/paks/linux25/uninstall.sh new file mode 100644 index 0000000000..9a967627e9 --- /dev/null +++ b/src/paks/linux25/uninstall.sh @@ -0,0 +1,26 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +remove_files +mv -f /boot/grub/grub-backup-2.6.25.17.conf /boot/grub/grub.conf diff --git a/src/paks/linux25/update.sh b/src/paks/linux25/update.sh new file mode 100644 index 0000000000..89c40d0d7c --- /dev/null +++ b/src/paks/linux25/update.sh @@ -0,0 +1,26 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +./uninstall.sh +./install.sh -- 2.39.2