]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
kernel: use correct external modules at initrd build.
authorArne Fitzenreiter <arne_f@ipfire.org>
Sat, 1 Nov 2014 18:57:51 +0000 (19:57 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sat, 1 Nov 2014 22:04:38 +0000 (23:04 +0100)
config/rootfiles/common/i586/linux-initrd [new file with mode: 0644]
config/rootfiles/common/i586/linux-initrd-pae [new file with mode: 0644]
lfs/linux
lfs/linux-initrd [new file with mode: 0644]
make.sh

diff --git a/config/rootfiles/common/i586/linux-initrd b/config/rootfiles/common/i586/linux-initrd
new file mode 100644 (file)
index 0000000..5679550
--- /dev/null
@@ -0,0 +1 @@
+#boot/initramfs-KVER-ipfire.img
diff --git a/config/rootfiles/common/i586/linux-initrd-pae b/config/rootfiles/common/i586/linux-initrd-pae
new file mode 100644 (file)
index 0000000..083efc2
--- /dev/null
@@ -0,0 +1 @@
+#boot/initramfs-KVER-ipfire-pae.img
index 52efdbc0a1eeeee3e23f2788cc19ee92cd1ce13e..bcbdeb0ffa5ea05b38fb27e2859dbf3340d2a572 100644 (file)
--- a/lfs/linux
+++ b/lfs/linux
@@ -226,16 +226,6 @@ ifeq "$(MACHINE_TYPE)" "arm"
                        done
 endif
 
-       # Create initramfs images
-       dracut --force --verbose --strip --xz /boot/initramfs-$(KVER)-$(VERSUFIX).img $(KVER)-$(VERSUFIX)
-
-ifeq "$(KCFG)" "-kirkwood"
-       cd /boot && mkimage -A arm -T ramdisk -C lzma -d initramfs-$(KVER)-$(VERSUFIX).img uInit-$(VERSUFIX)
-endif
-
-ifeq "$(KCFG)" "-multi"
-       cd /boot && mkimage -A arm -T ramdisk -C lzma -d initramfs-$(KVER)-$(VERSUFIX).img uInit-$(VERSUFIX)
-endif
 
 ifeq "$(LASTKERNEL)" "1"
        # Only do this once
@@ -264,5 +254,9 @@ ifeq "$(LASTKERNEL)" "1"
 endif
 endif
 
+       #force new build of external modules and initrd if the kernel was rebuild
+       -rm -f /usr/src/log/*-kmod-$(VER)-$(VERSUFIX)
+       -rm -f /usr/src/log/linux-initrd-$(VER)-$(VERSUFIX)
+
        @rm -rf $(DIR_SRC)/patch-o-matic* $(DIR_SRC)/iptables* $(DIR_SRC)/squashfs* $(DIR_SRC)/netfilter-layer7-*
        @$(POSTBUILD)
diff --git a/lfs/linux-initrd b/lfs/linux-initrd
new file mode 100644 (file)
index 0000000..1b048b5
--- /dev/null
@@ -0,0 +1,70 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2014  IPFire Team <info@ipfire.org>                      #
+#                                                                             #
+# This program 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 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = $(KVER)
+
+THISAPP    = linux-initrd-$(VER)
+
+VERSUFIX=ipfire$(KCFG)
+
+TARGET = $(DIR_INFO)/$(THISAPP)-$(VERSUFIX)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist:
+       @$(PAK)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+
+       # rebuild module deps
+       depmod -a $(KVER)-$(VERSUFIX)
+
+       # Create initramfs images
+       dracut --force --verbose --strip --xz /boot/initramfs-$(KVER)-$(VERSUFIX).img $(KVER)-$(VERSUFIX)
+
+ifeq "$(KCFG)" "-kirkwood"
+       cd /boot && mkimage -A arm -T ramdisk -C lzma -d initramfs-$(KVER)-$(VERSUFIX).img uInit-$(VERSUFIX)
+endif
+
+ifeq "$(KCFG)" "-multi"
+       cd /boot && mkimage -A arm -T ramdisk -C lzma -d initramfs-$(KVER)-$(VERSUFIX).img uInit-$(VERSUFIX)
+endif
+       @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 6ea9b593bdf1eb890cc82f7a3991f47dc15f5c0d..3121fdd31a611931796b7d1b93b1e841d8bc1876 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -419,7 +419,7 @@ buildipfire() {
                ipfiremake e1000e                       KCFG="-pae"
                ipfiremake igb                          KCFG="-pae"
                ipfiremake ixgbe                        KCFG="-pae"
-
+               ipfiremake linux-initrd                 KCFG="-pae"
 
                # x86 kernel build
                ipfiremake linux                        KCFG=""
@@ -434,6 +434,7 @@ buildipfire() {
                ipfiremake e1000e                       KCFG=""
                ipfiremake igb                          KCFG=""
                ipfiremake ixgbe                        KCFG=""
+               ipfiremake linux-initrd                 KCFG=""
                ;;
 
        armv5tel)
@@ -443,6 +444,7 @@ buildipfire() {
 #              ipfiremake mISDN                        KCFG="-rpi" NOPCI=1
                ipfiremake cryptodev                    KCFG="-rpi"
 #              ipfiremake compat-drivers               KCFG="-rpi"
+               ipfiremake linux-initrd                 KCFG="-rpi"
 
                # arm multi platform (Panda, Wandboard ...) kernel build
                ipfiremake linux                        KCFG="-multi"
@@ -450,6 +452,7 @@ buildipfire() {
                ipfiremake e1000e                       KCFG="-multi"
                ipfiremake igb                          KCFG="-multi"
                ipfiremake ixgbe                        KCFG="-multi"
+               ipfiremake linux-initrd                 KCFG="-multi"
 
                # arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
                ipfiremake linux                        KCFG="-kirkwood"
@@ -463,6 +466,7 @@ buildipfire() {
                ipfiremake e1000e                       KCFG="-kirkwood"
                ipfiremake igb                          KCFG="-kirkwood"
                ipfiremake ixgbe                        KCFG="-kirkwood"
+               ipfiremake linux-initrd                 KCFG="-kirkwood"
                ;;
   esac
   ipfiremake pkg-config