new package/linux structure. so that we can maintain kernel 2.6 and 2.4 in parallel.

SVN-Revision: 1060
This commit is contained in:
Waldemar Brodkorb 2005-05-26 15:52:52 +00:00
parent ce095ae248
commit 9677bb2d2d
3 changed files with 1399 additions and 0 deletions

View File

@ -0,0 +1,69 @@
Description of kernel patches in patches:
000-linux-mips.patch
This is the diff between vanilla linux-2.4.30 and linux-mips.org kernel
(CVS tag 2_4_30 used). The kernel source from linux-mips.org CVS repository has
newer drivers and code then vanilla linux-2.4.30 especially for the mips architecture.
001-bcm47xx.patch
This is the broadcom specific code from netgear (wg602v3-GPL-v1.0.6) GPL source tarball.
There are many small patches included, so it works with linux 2.4.30 kernel.
The original code is based on Linux 2.4.20.
002-wl-fix.patch
The driver for the wireless lan chip on brcm47xx based routers is binary only.
This means it depends on older data structures in the kernel. We backported some
of the changes or changed some of the data structures to work with the binary modul.
This is a really bad hack, but without source code, there is no better chance to get
the driver working with newer kernels.
003-squashfs.patch
Support for the squashfs filesystem. It has better compression ratio then cramfs.
004-squashfs-lzma.patch
LZMA Addon patch from Oleg I. Vdovikin for the squashfs filesystem.
Even better compression ratio.
005-jffs2-compression.patch
Compression for jffs2 filesystem.
100-ebtables.patch
Filtering packets on ethernet layer. See http://ebtables.sf.net
101-netfilter-ipp2p.patch
102-netfilter-layer7.patch
103-netfilter-nat-pptp.patch
104-netfilter-maxconn.patch
105-netfilter-TTL.patch
106-mppe-mppc.patch
107-cifs.patch
108-optional-aout-support.patch
109-ipsec-nat-traversal.patch
110-netdev_random_core.patch
111-netdev_random_et.patch
200-i4l.patch
201-hfc-usb-backport.patch
202-pl2303-backport.patch
203-hfsplus-fix.patch
204-net-b44.patch
205-gcc-3.4-ldscript.patch
206-gcc-3.4-fixes.patch
207-gcc-4.0-fixes.patch

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,114 @@
#############################################################
# $Id$
#
# Linux 2.4 kernel target for the OpenWRT project
#
# patches are sorted by numbers
# 0xx needed patches for board, cpu, filesystem
# 1xx addon patches for new features (netfilter, ebtables, cifs,..)
# 2xx compile fixes, driver fixes
#
#############################################################
LINUX_FORMAT=zImage
LINUX_KARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \
-e 's/mipsel/mips/' \
-e 's/powerpc/ppc/' \
-e 's/sh[234]/sh/' \
)
LINUX_BINARY_DRIVER_SITE=http://openwrt.org/downloads/
LINUX_SOURCE=linux-$(LINUX_VERSION).tar.bz2
LINUX_KCONFIG=./linux-2.4/linux.config
LINUX_PATCHES=./linux-2.4/patches
LINUX_BINLOC=arch/$(LINUX_KARCH)/bcm947xx/compressed/piggy
# Used by pcmcia-cs and others
LINUX_SOURCE_DIR=$(LINUX_DIR)-$(LINUX_VERSION)
# proprietary driver, extracted from asus GPL sourcetree GPL_1941.zip
LINUX_BINARY_WL_DRIVER=kernel-binary-wl-0.3.tar.gz
LINUX_BINARY_WL_MD5SUM=cc45df670bcfb4e74a709b9d7beba636
LINUX_ET_DRIVER=kernel-source-et-0.7.tar.gz
LINUX_ET_MD5SUM=f2277895f52eae26ae37065685507031
TARGET_MODULES_DIR=$(TARGET_DIR)/lib/modules/$(LINUX_VERSION)
$(DL_DIR)/$(LINUX_BINARY_WL_DRIVER):
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(LINUX_BINARY_WL_DRIVER) $(LINUX_BINARY_WL_MD5SUM) $(LINUX_BINARY_DRIVER_SITE)
$(DL_DIR)/$(LINUX_ET_DRIVER):
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(LINUX_ET_DRIVER) $(LINUX_ET_MD5SUM) $(LINUX_BINARY_DRIVER_SITE)
$(LINUX_DIR)/.unpacked: $(DL_DIR)/$(LINUX_SOURCE) $(DL_DIR)/$(LINUX_BINARY_WL_DRIVER) $(DL_DIR)/$(LINUX_ET_DRIVER)
-mkdir -p $(BUILD_DIR)
bzcat $(DL_DIR)/$(LINUX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
ln -sf $(LINUX_DIR)-$(LINUX_VERSION) $(LINUX_DIR)
zcat $(DL_DIR)/$(LINUX_BINARY_WL_DRIVER) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
zcat $(DL_DIR)/$(LINUX_ET_DRIVER) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(LINUX_DIR)/.unpacked
$(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked
# copy binary wlan driver
mkdir $(LINUX_DIR)/drivers/net/{et,wl}
cp -a $(BUILD_DIR)/wl/*.o $(LINUX_DIR)/drivers/net/wl
# copy proprietary et source
cp -a $(BUILD_DIR)/et/* $(LINUX_DIR)/drivers/net/et
mkdir -p $(LINUX_DIR)/arch/mips/bcm947xx/include/
cp -a $(BUILD_DIR)/et/*.h $(LINUX_DIR)/arch/mips/bcm947xx/include/
$(PATCH) $(LINUX_DIR) $(LINUX_PATCHES)
touch $(LINUX_DIR)/.patched
$(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched
-cp $(LINUX_KCONFIG) $(LINUX_DIR)/.config
$(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" \
$(LINUX_DIR)/Makefile \
$(LINUX_DIR)/arch/mips/Makefile
$(SED) "s,\-mcpu=,\-mtune=,g;" $(LINUX_DIR)/arch/mips/Makefile
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) oldconfig include/linux/version.h
touch $(LINUX_DIR)/.configured
$(LINUX_DIR)/.depend_done: $(LINUX_DIR)/.configured
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) dep
touch $(LINUX_DIR)/.depend_done
$(LINUX_DIR)/$(LINUX_BINLOC): $(LINUX_DIR)/.depend_done
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH) CFLAGS_KERNEL="-fno-delayed-branch " $(LINUX_FORMAT)
$(LINUX_KERNEL): $(LINUX_DIR)/$(LINUX_BINLOC)
cp -fa $< $@
touch -c $(LINUX_KERNEL)
$(LINUX_IMAGE): $(LINUX_KERNEL)
cat $^ | $(BUILD_DIR)/lzma/lzma e -si -so -eos > $@ || (rm -f $@ && false)
$(LINUX_DIR)/.modules_done: $(LINUX_KERNEL) $(LINUX_IMAGE)
rm -rf $(BUILD_DIR)/modules
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH) CFLAGS_KERNEL="-fno-delayed-branch " modules
$(MAKE) -C $(LINUX_DIR) DEPMOD=true INSTALL_MOD_PATH=$(BUILD_DIR)/modules modules_install
touch $(LINUX_DIR)/.modules_done
$(STAGING_DIR)/include/linux/version.h: $(LINUX_DIR)/.configured
mkdir -p $(STAGING_DIR)/include
tar -ch -C $(LINUX_DIR)/include -f - linux | tar -xf - -C $(STAGING_DIR)/include/
tar -ch -C $(LINUX_DIR)/include -f - asm | tar -xf - -C $(STAGING_DIR)/include/
$(TARGET_MODULES_DIR):
-mkdir -p $(TARGET_MODULES_DIR)
linux: $(LINUX_DIR)/.modules_done $(TARGET_MODULES_DIR)
linux-source: $(DL_DIR)/$(LINUX_SOURCE)
# This has been renamed so we do _NOT_ by default run this on 'make clean'
linuxclean: clean
rm -f $(LINUX_KERNEL) $(LINUX_IMAGE)
-$(MAKE) -C $(LINUX_DIR) clean
linux-dirclean:
rm -f $(BUILD_DIR)/openwrt-kmodules.tar.bz2
rm -rf $(LINUX_DIR)-$(LINUX_VERSION)
rm -rf $(LINUX_DIR)
rm -rf $(BUILD_DIR)/modules
rm -rf $(BUILD_DIR)/wl
rm -rf $(BUILD_DIR)/et