# Makefiles are based on LFSMake, which is #
# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
# #
-# Modifications by: #
-# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> #
-# - Modified Makefile for IPCop build #
-# #
-# $Id: linux,v 1.42.2.57 2005/07/28 07:01:27 gespinasse Exp $
-# #
###############################################################################
###############################################################################
include Config
-VER = 2.4.31
+PATCHLEVEL = .1
+VER = 2.6.22.1
THISAPP = linux-$(VER)
-DL_FILE = $(THISAPP).tar.gz
-DL_FROM = $(URL_KERNEL)/linux/kernel/v2.4
+DL_FILE = $(THISAPP).tar.bz2
+DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
CFLAGS =
CXXFLAGS =
-# Normal build or /tools build.
+OPENSWAN = openswan-2.4.9
+MISDN = mISDN-1_1_5
+LAYER7 = netfilter-layer7-v2.13
+
+# Normal build or SMP build.
#
-ifeq "$(ROOT)" ""
-ifeq "$(LFS_PASS)" "ipcop"
-ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)-ipcop
-endif
ifeq "$(SMP)" "1"
- TARGET = $(DIR_INFO)/$(THISAPP)-ipcop-smp
-endif
-ifeq "$(SMP)" "installer"
- TARGET = $(DIR_INFO)/$(THISAPP)-ipcop-installer
-endif
-else
- TARGET = $(DIR_INFO)/$(THISAPP)
-endif
+ TARGET = $(DIR_INFO)/linux-$(VER)-smp
else
- TARGET = $(DIR_INFO)/$(THISAPP)-tools
+ TARGET = $(DIR_INFO)/linux-$(VER)
endif
+
###############################################################################
# Top-level Rules
###############################################################################
objects =$(DL_FILE) \
- openswan-1.0.10rc2.tar.gz \
- iptables-1.3.5.tar.bz2 \
- patch-o-matic-ng-20060206.tar.bz2 \
- kbc_option_2420.patch \
- net4801.kernel.patch_2.4.31 \
- netfilter-layer7-v2.1.tar.gz
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-openswan-1.0.10rc2.tar.gz = http://www.openswan.org/download/openswan-1.0.10rc2.tar.gz
-patch-o-matic-ng-20060206.tar.bz2 = ftp://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20060206.tar.bz2
-iptables-1.3.5.tar.bz2 = http://www.netfilter.org/files/iptables-1.3.5.tar.bz2
-kbc_option_2420.patch = http://developer.osdl.org/rddunlap/patches/kbc_option_2420.patch
-net4801.kernel.patch_2.4.31 = http://www.sk-tech.net/support/net4801.kernel.patch_2.4.31
-netfilter-layer7-v2.1.tar.gz = http://belnet.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.1.tar.gz
-
-$(DL_FILE)_MD5 = ea3f99fc82617886059d58d0644dab26
-openswan-1.0.10rc2.tar.gz_MD5 = 20d51ff963da78f826f4e0f0ebc4bcef
-patch-o-matic-ng-20060206.tar.bz2_MD5 = eca9893afb753e331caddfe63142b566
-iptables-1.3.5.tar.bz2_MD5 = 00fb916fa8040ca992a5ace56d905ea5
-kbc_option_2420.patch_MD5 = 6d37870344f7fcf97ace1fbf43323c60
-net4801.kernel.patch_2.4.31_MD5 = c7d64e3caedb2f2b10e1c11db7f73a04
-netfilter-layer7-v2.1.tar.gz_MD5 = 551626a158c2a2cbfd937d27ecc7fac1
+ $(OPENSWAN).tar.gz \
+ $(MISDN).tar.gz \
+ $(LAYER7).tar.gz
+
+$(DL_FILE) = $(URL_IPFIRE)/$(DL_FILE)
+$(LAYER7).tar.gz = $(URL_IPFIRE)/$(LAYER7).tar.gz
+$(MISDN).tar.gz = $(URL_IPFIRE)/$(MISDN).tar.gz
+$(OPENSWAN).tar.gz = $(URL_IPFIRE)/$(OPENSWAN).tar.gz
+
+$(DL_FILE)_MD5 = 50249e822a2a112d9221129a4a3af374
+$(LAYER7).tar.gz_MD5 = c8097875074405be31e4372682b68d7a
+$(MISDN).tar.gz_MD5 = 93b1cff7817b82638a0475c2b7b7f1b6
+$(OPENSWAN).tar.gz_MD5 = 845f12d80d443cfa1a52f2b53b987bee
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) $(DIR_SRC)/linux && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_SRC) && ln -sf linux-$(VER) linux
- cd $(DIR_APP) && sed -i -e 's/-Werror//' drivers/scsi/aic7xxx/Makefile
+ @rm -rf $(DIR_APP) $(DIR_SRC)/linux && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+ ln -s linux-$(VER) /usr/src/linux
- # Openswan
+ # Openswan 2
cd $(DIR_SRC) && rm -rf openswan-*
- cd $(DIR_SRC) && tar xfz $(DIR_DL)/openswan-1.0.10rc2.tar.gz
- cd $(DIR_SRC)/openswan-1.0.10rc2 && patch -Np1 < $(DIR_SRC)/src/patches/openswan-1.0.1-plutoctl.patch
- cd $(DIR_SRC)/openswan-1.0.10rc2 && patch -Np1 < $(DIR_SRC)/src/patches/openswan-1.0.6-numif.patch
- cd $(DIR_SRC)/openswan-1.0.10rc2 && sed -i 's+^KERNELSRC.*$$+KERNELSRC=$(ROOT)/usr/src/linux-$(VER)+' Makefile.inc
- cd $(DIR_SRC)/openswan-1.0.10rc2 && sed -i -e 's/local\/sbin/local\/sbin:\/tools\/bin/' utils/patcher
- cd $(DIR_SRC)/openswan-1.0.10rc2 && make insert
-
- # Patch-o-matic
- cd $(DIR_SRC) && rm -rf iptables-*
- cd $(DIR_SRC) && tar xfj $(DIR_DL)/iptables-1.3.5.tar.bz2
- cd $(DIR_SRC) && ln -sf iptables-1.3.5 iptables
- cd $(DIR_SRC) && rm -rf patch-o-matic*
- cd $(DIR_SRC) && tar xfj $(DIR_DL)/patch-o-matic-ng-20060206.tar.bz2
-
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ pending
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ base
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ h323-conntrack-nat
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ cuseeme-nat
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ mms-conntrack-nat
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ pptp-conntrack-nat
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ rtsp-conntrack
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ quake3-conntrack-nat
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ sip-conntrack-nat
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ ip_queue_vwmark
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ ipp2p
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ ipsec-01-output-hooks
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ ipsec-02-input-hooks
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ ipsec-03-policy-lookup
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ ipsec-04-policy-checks
- cd $(DIR_SRC)/patch-o-matic* && yes 'y' | ./runme --kernel-path=$(ROOT)/usr/src/linux/ --iptables-path=$(ROOT)/usr/src/iptables/ TARPIT
-
- #imq-patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.4.28-imq2.diff
-
- #layer7-patch
- cd $(DIR_SRC) && tar xzf $(DIR_DL)/netfilter-layer7-v2.1.tar.gz
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/netfilter-layer7-v2.1/kernel-2.4-layer7-2.1.patch
-
-ifeq "$(SMP)" ""
- # Only do this once on the non-SMP pass
- cd $(DIR_SRC) && tar czf $(DIR_DL)/iptables-fixed.tar.gz iptables-1.3.5
-endif
+ cd $(DIR_SRC) && tar xfz $(DIR_DL)/$(OPENSWAN).tar.gz
+ #cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(OPENSWAN).kernel-2.6-natt.patch
+ #cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(OPENSWAN).kernel-2.6-klips.patch
- # Olitec isdn gazel patch
- cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/linux-2.4.23-olitec-isdn.patch
+ cd $(DIR_SRC)/openswan-* && sed -i -e 's/INC_USRLOCAL=\/usr\/local/INC_USRLOCAL=\/usr/' Makefile.inc
- # Fix /proc/stat output
- cd $(DIR_APP) && patch -Np2 < $(DIR_SRC)/src/patches/linux-2.4.26-proc-stat.patch
+ # Reiser4
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/reiser4-for-2.6.22-2.patch
- # Fix libata-core.c
- # cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/linux-2.4.26-scsi.patch
+ # ip_conntrack permissions from 440 to 444
+ #cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/ip_conntrack_standalone-patch-for-ipfire.patch
- # frandom patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.4.27-frandom-2.patch
+ # Layer7-patch
+ cd $(DIR_SRC) && rm -rf $(DIR_SRC)/$(LAYER7)
+ cd $(DIR_SRC) && tar xzf $(DIR_DL)/$(LAYER7).tar.gz
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/$(LAYER7)/kernel-2.6.22-layer7-2.13.patch
- # Propolice
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.4.27-ssp-1.patch
+ # Linux Intermediate Queueing Device
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.21-img2.diff
- # Support ppp-2.4.3 multilink behavior (terminate when no channel is connected)
- # need updated libpcap older than 0.8.3
- # cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ppp_generic-ppp-2.4.3_multilink.patch
-
- # R8169 clone D-link GSE-528T
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.4.29_r8169clone.patch
+ # mISDN
+ cd $(DIR_SRC) && rm -rf mISDN-*
+ cd $(DIR_SRC) && tar xfz $(DIR_DL)/$(MISDN).tar.gz
+ cd $(DIR_SRC)/$(MISDN) && yes 'yes' | ./std2kern -k /usr/src/linux
# Cleanup kernel source
cd $(DIR_APP) && make mrproper
-ifeq "$(ROOT)" ""
-ifeq "$(LFS_PASS)" "ipcop"
-ifeq "$(SMP)" ""
- cp $(DIR_SRC)/config/kernel/kernel.config.$(MACHINE) $(DIR_APP)/.config
-endif
+
ifeq "$(SMP)" "1"
cp $(DIR_SRC)/config/kernel/kernel.config.$(MACHINE).smp $(DIR_APP)/.config
-endif
-ifeq "$(SMP)" "installer"
- cp $(DIR_SRC)/config/kernel/kernel.config.$(MACHINE).installer $(DIR_APP)/.config
- cd $(DIR_APP) && sed -i -e 's/-O2/-Os/g' Makefile
+else
+ cp $(DIR_SRC)/config/kernel/kernel.config.$(MACHINE) $(DIR_APP)/.config
endif
cd $(DIR_APP) && make CC="$(KGCC)" oldconfig
- cd $(DIR_APP) && make CC="$(KGCC)" dep
cd $(DIR_APP) && make CC="$(KGCC)" clean
- if [ "$(MACHINE)" = "i386" -a "$(SMP)" = "" ]; then \
- cd $(DIR_APP) && make -j 3 CC="$(KGCC)" bzImage; \
- cd $(DIR_APP) && cp arch/$(MACHINE)/boot/bzImage /boot/vmlinuz-$(VER); \
- cd $(DIR_APP) && cp System.map /boot/System.map-$(VER); \
- ln -sf vmlinuz-$(VER) /boot/vmlinuz; \
- ln -sf System.map-$(VER) /boot/System.map; \
- cd $(DIR_APP) && make CC="$(KGCC)" modules; \
- cd $(DIR_APP) && make CC="$(KGCC)" modules_install; \
- elif [ "$(MACHINE)" = "i386" -a "$(SMP)" = "1" ]; then \
- cd $(DIR_APP) && sed -i -e 's/EXTRAVERSION\ =/EXTRAVERSION\ =\ -smp/' Makefile; \
- cd $(DIR_APP) && make -j 3 CC="$(KGCC)" bzImage; \
- cd $(DIR_APP) && cp arch/$(MACHINE)/boot/bzImage /boot/vmlinuz-$(VER)-smp; \
- cd $(DIR_APP) && cp System.map /boot/System.map-$(VER)-smp; \
- ln -sf vmlinuz-$(VER)-smp /boot/vmlinuz-smp; \
- cd $(DIR_APP) && make CC="$(KGCC)" modules; \
- cd $(DIR_APP) && make CC="$(KGCC)" modules_install; \
- elif [ "$(MACHINE)" = "i386" -a "$(SMP)" = "installer" ]; then \
- cd $(DIR_APP) && make -j 3 CC="$(KGCC)" bzImage; \
- cd $(DIR_APP) && cp arch/$(MACHINE)/boot/bzImage /boot/vmlinuz-installer; \
- elif [ "$(MACHINE)" = "alpha" ]; then \
- cd $(DIR_APP) && make -j 3 CC="$(KGCC)" vmlinux; \
- cd $(DIR_APP) && gzip -9c vmlinux > /boot/vmlinuz-$(VER); \
- cd $(DIR_APP) && cp System.map /boot/System.map-$(VER); \
- ln -sf vmlinuz-$(VER) /boot/vmlinuz; \
- ln -sf System.map-$(VER) /boot/System.map; \
- cd $(DIR_APP) && make CC="$(KGCC)" modules; \
- cd $(DIR_APP) && make CC="$(KGCC)" modules_install; \
- fi
- # remove symlinked pcmcia directory
-ifeq "$(SMP)" ""
- rm -rf /lib/modules/$(VER)/pcmcia
- find /lib/modules/$(VER)/ -name '*.o' -a -type f | xargs gzip -f9
-
- # Move these SCSI drivers into same directory for probescsi.sh
- mv -f /lib/modules/$(VER)/kernel/drivers/scsi/aic7xxx/* /lib/modules/$(VER)/kernel/drivers/scsi
- rm -rf /lib/modules/$(VER)/kernel/drivers/scsi/aic7xxx
- mv -f /lib/modules/$(VER)/kernel/drivers/scsi/aacraid/* /lib/modules/$(VER)/kernel/drivers/scsi
- rm -rf /lib/modules/$(VER)/kernel/drivers/scsi/aacraid
- mv -f /lib/modules/$(VER)/kernel/drivers/scsi/sym53c8xx_2/* /lib/modules/$(VER)/kernel/drivers/scsi
- rm -rf /lib/modules/$(VER)/kernel/drivers/scsi/sym53c8xx_2
-endif
+
ifeq "$(SMP)" "1"
- rm -rf /lib/modules/$(VER)-smp/pcmcia
- find /lib/modules/$(VER)-smp/ -name '*.o' -a -type f | xargs gzip -f9
-
- # Move these SCSI drivers into same directory for probescsi.sh
- mv -f /lib/modules/$(VER)-smp/kernel/drivers/scsi/aic7xxx/* /lib/modules/$(VER)-smp/kernel/drivers/scsi
- rm -rf /lib/modules/$(VER)-smp/kernel/drivers/scsi/aic7xxx
- mv -f /lib/modules/$(VER)-smp/kernel/drivers/scsi/aacraid/* /lib/modules/$(VER)-smp/kernel/drivers/scsi
- rm -rf /lib/modules/$(VER)-smp/kernel/drivers/scsi/aacraid
- mv -f /lib/modules/$(VER)-smp/kernel/drivers/scsi/sym53c8xx_2/* /lib/modules/$(VER)-smp/kernel/drivers/scsi
- rm -rf /lib/modules/$(VER)-smp/kernel/drivers/scsi/sym53c8xx_2
+ cd $(DIR_APP) && sed -i -e 's/EXTRAVERSION\ =.*/EXTRAVERSION\ =\ $(PATCHLEVEL)-ipfire-smp/' Makefile
+ cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" bzImage
+ cd $(DIR_APP) && cp -v arch/i386/boot/bzImage /boot/vmlinuz-$(VER)-ipfire-smp
+ cd $(DIR_APP) && cp -v System.map /boot/System.map-$(VER)-ipfire-smp
+ ln -sf vmlinuz-$(VER)-ipfire-smp /boot/vmlinuz-ipfire-smp
+ cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) modules
+ cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) modules_install
+else
+ cd $(DIR_APP) && sed -i -e 's/EXTRAVERSION\ =.*/EXTRAVERSION\ =\ $(PATCHLEVEL)-ipfire/' Makefile
+ cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" bzImage
+ cd $(DIR_APP) && cp -v arch/i386/boot/bzImage /boot/vmlinuz-$(VER)-ipfire
+ cd $(DIR_APP) && cp -v System.map /boot/System.map-$(VER)-ipfire
+ cd $(DIR_APP) && cp -v .config /boot/config-$(VER)-ipfire
+ ln -sf vmlinuz-$(VER)-ipfire /boot/vmlinuz-ipfire
+ ln -sf System.map-$(VER)-ipfire /boot/System.map-ipfire
+ cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) modules
+ cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) modules_install
endif
ifeq "$(SMP)" ""
- # Only do this once on the non-SMP pass
- cd $(DIR_APP) && make mandocs
- -mkdir -p /usr/share/man/man9/
- cd $(DIR_APP) && cp -af Documentation/man/* /usr/share/man/man9/
-endif
-else
- cd $(DIR_APP) && make include/linux/version.h
- cd $(DIR_APP) && make symlinks
- cd $(DIR_APP) && cp -HRf include/asm /usr/include
- cd $(DIR_APP) && cp -Rf include/asm-generic /usr/include
- cd $(DIR_APP) && cp -Rf include/linux /usr/include
- touch /usr/include/linux/autoconf.h
-endif
-else
- cd $(DIR_APP) && make include/linux/version.h
- cd $(DIR_APP) && make symlinks
- -mkdir -p /tools/include/asm
- cd $(DIR_APP) && cp -f include/asm/* /tools/include/asm
- cd $(DIR_APP) && cp -Rf include/asm-generic /tools/include
- cd $(DIR_APP) && cp -Rf include/linux /tools/include
- cd $(DIR_APP) && touch /tools/include/linux/autoconf.h
-endif
- @rm -rf $(DIR_SRC)/patch-o-matic* $(DIR_SRC)/iptables*
+ # Only do this once on the non-SMP pass
+ cd $(DIR_APP) && install -m 755 usr/gen_init_cpio /sbin/
+endif
+
+ @rm -rf $(DIR_SRC)/mISDN-* $(DIR_SRC)/netfilter-layer7-*
@$(POSTBUILD)