diff options
Diffstat (limited to 'packages')
76 files changed, 224 insertions, 55086 deletions
diff --git a/packages/images/slugos-image.bb b/packages/images/slugos-image.bb index d78528d700..be746009b6 100644 --- a/packages/images/slugos-image.bb +++ b/packages/images/slugos-image.bb @@ -14,7 +14,7 @@ PACKAGE_INSTALL = "task-slugos" COMPATIBLE_MACHINE = "nslu2" IMAGE_NAME = "${IMAGE_BASENAME}-${DISTRO_VERSION}" -IMAGE_FSTYPES = "jffs2" +IMAGE_FSTYPES = "jffs2 tar.gz" EXTRA_IMAGECMD_jffs2 += " -D ${SLUGOS_DEVICE_TABLE}" IMAGE_LINGUAS = "" diff --git a/packages/linux/compulab-pxa270_2.6.16.bb b/packages/linux/compulab-pxa270_2.6.16.bb index 6064224d80..52b87d0ef6 100644 --- a/packages/linux/compulab-pxa270_2.6.16.bb +++ b/packages/linux/compulab-pxa270_2.6.16.bb @@ -1,15 +1,19 @@ SECTION = "kernel" DESCRIPTION = "Linux kernel for the Compulab PXA270 system" LICENSE = "GPL" -PR = "r5" +PR = "r6" # Note, the compulab package contains a binary NAND driver that is not # EABI compatible +# if you get a md5 sum error on x270-linux-drv.zip, compulab has probably +# changed the binary. Remove it and the md5 file from your tmp directory, +# and rebuild the kernel. If you still get md5 failures, contact cbrake +# on the #oe IRC channel -- this recipe probably needs updated. SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2 \ file://linux-2.6.16.patch;patch=1 \ file://defconfig \ - http://www.compulab.co.il/x270/download/x270-linux-drv.zip;md5sum=6b8c1bda1dd066674b7a9f614976a715" + http://www.compulab.co.il/x270/download/x270-linux-drv.zip;md5sum=05989295a5f99055c2f60f8b6f7abb6b" S = "${WORKDIR}/linux-2.6.16" diff --git a/packages/linux/ixp4xx-kernel/2.6.15/00-memory-h-page-shift.patch b/packages/linux/ixp4xx-kernel/2.6.15/00-memory-h-page-shift.patch deleted file mode 100644 index 30d34952d5..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.15/00-memory-h-page-shift.patch +++ /dev/null @@ -1,91 +0,0 @@ -http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3218/1 - -PAGE_SHIFT is undeclared in include/asm-arm/arch-ixp4xx/memory.h, identified by the following kernel compilation error: - -CC [M] sound/core/memory.o -In file included from include/asm/memory.h:27, -from include/asm/io.h:28, -from sound/core/memory.c:24: -include/asm/arch/memory.h: In function `__arch_adjust_zones': -include/asm/arch/memory.h:28: error: `PAGE_SHIFT' undeclared (first use -in this function) - -This patch replaces my previous attempt at fixing this problem (Patch 3214/1) and is based on the following feedback: - -Russell King wrote: -> The error you see came up on SA1100. The best solution was to move -> the __arch_adjust_zones() function out of line. I suggest ixp4xx -> does the same. - -I have moved the function out of line into arch/arm/mach-ixp4xx/common-pci.c as suggested. - -Signed-off-by: Rod Whitby <rod@whitby.id.au> - ---- linux-2.6.15-rc7/include/asm-arm/arch-ixp4xx/memory.h~ 2005-12-30 05:18:27.000000000 +1030 -+++ linux-2.6.15-rc7/include/asm-arm/arch-ixp4xx/memory.h 2005-12-30 05:36:04.000000000 +1030 -@@ -16,31 +16,10 @@ - - #ifndef __ASSEMBLY__ - --/* -- * Only first 64MB of memory can be accessed via PCI. -- * We use GFP_DMA to allocate safe buffers to do map/unmap. -- * This is really ugly and we need a better way of specifying -- * DMA-capable regions of memory. -- */ --static inline void __arch_adjust_zones(int node, unsigned long *zone_size, -- unsigned long *zhole_size) --{ -- unsigned int sz = SZ_64M >> PAGE_SHIFT; -- -- /* -- * Only adjust if > 64M on current system -- */ -- if (node || (zone_size[0] <= sz)) -- return; -- -- zone_size[1] = zone_size[0] - sz; -- zone_size[0] = sz; -- zhole_size[1] = zhole_size[0]; -- zhole_size[0] = 0; --} -+void ixp4xx_adjust_zones(int node, unsigned long *size, unsigned long *holes); - - #define arch_adjust_zones(node, size, holes) \ -- __arch_adjust_zones(node, size, holes) -+ ixp4xx_adjust_zones(node, size, holes) - - #define ISA_DMA_THRESHOLD (SZ_64M - 1) - ---- linux-2.6.15-rc7/arch/arm/mach-ixp4xx/common-pci.c~ 2005-12-30 05:16:03.000000000 +1030 -+++ linux-2.6.15-rc7/arch/arm/mach-ixp4xx/common-pci.c 2005-12-30 05:43:55.000000000 +1030 -@@ -341,6 +341,29 @@ int dma_needs_bounce(struct device *dev, - return (dev->bus == &pci_bus_type ) && ((dma_addr + size) >= SZ_64M); - } - -+/* -+ * Only first 64MB of memory can be accessed via PCI. -+ * We use GFP_DMA to allocate safe buffers to do map/unmap. -+ * This is really ugly and we need a better way of specifying -+ * DMA-capable regions of memory. -+ */ -+void __init ixp4xx_adjust_zones(int node, unsigned long *zone_size, -+ unsigned long *zhole_size) -+{ -+ unsigned int sz = SZ_64M >> PAGE_SHIFT; -+ -+ /* -+ * Only adjust if > 64M on current system -+ */ -+ if (node || (zone_size[0] <= sz)) -+ return; -+ -+ zone_size[1] = zone_size[0] - sz; -+ zone_size[0] = sz; -+ zhole_size[1] = zhole_size[0]; -+ zhole_size[0] = 0; -+} -+ - void __init ixp4xx_pci_preinit(void) - { - unsigned long processor_id; diff --git a/packages/linux/ixp4xx-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch b/packages/linux/ixp4xx-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch deleted file mode 100644 index 3fa0535abf..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch +++ /dev/null @@ -1,70 +0,0 @@ -drivers/mtd/redboot.c: recognise a foreign byte sex partition table - -The RedBoot boot loader writes flash partition tables containing native -byte sex 32 bit values. When booting an opposite byte sex kernel (e.g. an -LE kernel from BE RedBoot) the current MTD driver fails to handle the -partition table and therefore is unable to generate the correct partition -map for the flash. - -The patch recognises that the FIS directory (the partition table) is -byte-reversed by examining the partition table size, which is known to be -one erase block (this is an assumption made elsewhere in redboot.c). If -the size matches the erase block after byte swapping the value then -byte-reversal is assumed, if not no further action is taken. The patched -code is fail safe; should redboot.c be changed to support a partition table -with a modified size field the test will fail and the partition table will -be assumed to have the host byte sex. - -If byte-reversal is detected the patch byte swaps the remainder of the 32 -bit fields in the copy of the table; this copy is then used to set up the -MTD partition map. - -Signed-off-by: John Bowler <jbowler@acm.org> -Signed-off-by: Andrew Morton <akpm@osdl.org> -Modified slightly and -Signed-off-by: David Woodhouse <dwmw2@infradead.org> - -Index: drivers/mtd/redboot.c -=================================================================== -RCS file: /home/cvs/mtd/drivers/mtd/redboot.c,v -retrieving revision 1.18 -retrieving revision 1.19 -diff -u -p -r1.18 -r1.19 ---- linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000 -@@ -89,8 +89,32 @@ static int parse_redboot_partitions(stru - i = numslots; - break; - } -- if (!memcmp(buf[i].name, "FIS directory", 14)) -+ if (!memcmp(buf[i].name, "FIS directory", 14)) { -+ /* This is apparently the FIS directory entry for the -+ * FIS directory itself. The FIS directory size is -+ * one erase block; if the buf[i].size field is -+ * swab32(erasesize) then we know we are looking at -+ * a byte swapped FIS directory - swap all the entries! -+ * (NOTE: this is 'size' not 'data_length'; size is -+ * the full size of the entry.) -+ */ -+ if (swab32(buf[i].size) == master->erasesize) { -+ int j; -+ for (j = 0; j < numslots && buf[j].name[0] != 0xff; ++j) { -+ /* The unsigned long fields were written with the -+ * wrong byte sex, name and pad have no byte sex. -+ */ -+ swab32s(&buf[j].flash_base); -+ swab32s(&buf[j].mem_base); -+ swab32s(&buf[j].size); -+ swab32s(&buf[j].entry_point); -+ swab32s(&buf[j].data_length); -+ swab32s(&buf[j].desc_cksum); -+ swab32s(&buf[j].file_cksum); -+ } -+ } - break; -+ } - } - if (i == numslots) { - /* Didn't find it */ - - diff --git a/packages/linux/ixp4xx-kernel/2.6.15/11-mtdpart-redboot-config-byteswap.patch b/packages/linux/ixp4xx-kernel/2.6.15/11-mtdpart-redboot-config-byteswap.patch deleted file mode 100644 index e258567462..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.15/11-mtdpart-redboot-config-byteswap.patch +++ /dev/null @@ -1,74 +0,0 @@ -A more robust test for swapped RedBoot FIS directory partitions. This -changes the test to check the flash_base value for the FIS directory, -since we know where the FIS directory base is we can work out whether -the flash address stored in the directory itself is byte swapped under -most circumstances. If the value is 0 the directory is at the start -of the flash and the test fails. In this case the fallback is to use -the original test made slightly more robust. - -Signed-off-by: John Bowler <jbowler@acm.org> - ---- linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000 -@@ -91,14 +91,41 @@ static int parse_redboot_partitions(stru - } - if (!memcmp(buf[i].name, "FIS directory", 14)) { - /* This is apparently the FIS directory entry for the -- * FIS directory itself. The FIS directory size is -- * one erase block; if the buf[i].size field is -- * swab32(erasesize) then we know we are looking at -- * a byte swapped FIS directory - swap all the entries! -- * (NOTE: this is 'size' not 'data_length'; size is -- * the full size of the entry.) -+ * FIS directory itself. To discover whether the entries -+ * in this are native byte sex or byte swapped look at -+ * the flash_base field - we know the FIS directory is -+ * at 'offset' within the flash. - */ -- if (swab32(buf[i].size) == master->erasesize) { -+ int maybe_native, maybe_swapped; -+ if (fis_origin != 0) { -+ maybe_native = -+ buf[i].flash_base == fis_origin + offset; -+ maybe_swapped = -+ swab32(buf[i].flash_base) == fis_origin + offset; -+ } else if (offset != 0 || buf[i].flash_base != 0) { -+ maybe_native = -+ (buf[i].flash_base & (master->size-1)) == offset; -+ maybe_swapped = -+ (swab32(buf[i].flash_base) & (master->size-1)) == offset; -+ } else { -+ /* The FIS directory is at the start of the flash and -+ * the 'flash_base' field is 0. The critical case is when -+ * we are booting off this flash, but then we don't expect -+ * this because the boot loader is pretty much always at -+ * the start! Since the FIS directory is always less than -+ * or equal to one erase block do the following: -+ */ -+ maybe_native = buf[i].size <= master->erasesize; -+ maybe_swapped = swab32(buf[i].size) <= master->erasesize; -+ } -+ -+ if (maybe_native && maybe_swapped) -+ printk(KERN_WARNING "RedBoot directory 0x%lx(0x%lx) assumed native\n", -+ buf[i].flash_base, buf[i].size); -+ else if (!maybe_native && !maybe_swapped) -+ printk(KERN_ERR "RedBoot directory 0x%lx(0x%lx) forced native\n", -+ buf[i].flash_base, buf[i].size); -+ else if (maybe_swapped) { - int j; - for (j = 0; j < numslots && buf[j].name[0] != 0xff; ++j) { - /* The unsigned long fields were written with the -@@ -112,7 +139,11 @@ static int parse_redboot_partitions(stru - swab32s(&buf[j].desc_cksum); - swab32s(&buf[j].file_cksum); - } -- } -+ printk(KERN_NOTICE "RedBoot directory 0x%lx(0x%lx) swapped\n", -+ buf[i].flash_base, buf[i].size); -+ } else -+ printk(KERN_NOTICE "RedBoot directory 0x%lx(0x%lx) native\n", -+ buf[i].flash_base, buf[i].size); - break; - } - } diff --git a/packages/linux/ixp4xx-kernel/2.6.15/15-jffs2-endian-config.patch b/packages/linux/ixp4xx-kernel/2.6.15/15-jffs2-endian-config.patch deleted file mode 100644 index 76e9c7e439..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.15/15-jffs2-endian-config.patch +++ /dev/null @@ -1,80 +0,0 @@ -This patch allows the endianness of the JFSS2 filesystem to be -specified by config options. - -It defaults to native-endian (the previously hard-coded option). - -Some architectures (in particular, the NSLU2) benefit from having a -single known endianness of JFFS2 filesystem (for data, not -executables) independent of the endianness of the processor (ARM -processors can be switched to either endianness at run-time). - -Signed-off-by: Rod Whitby <rod@whitby.id.au> - ---- linux-2.6.15/fs/Kconfig~ 2006-01-03 13:51:10.000000000 +1030 -+++ linux-2.6.15/fs/Kconfig 2006-01-05 01:35:36.000000000 +1030 -@@ -1132,6 +1132,31 @@ config JFFS2_CMODE_SIZE - - endchoice - -+choice -+ prompt "JFFS2 endianness" -+ default JFFS2_NATIVE_ENDIAN -+ depends on JFFS2_FS -+ help -+ You can set here the default endianness of JFFS2 from -+ the available options. Don't touch if unsure. -+ -+config JFFS2_NATIVE_ENDIAN -+ bool "native endian" -+ help -+ Uses a native endian bytestream. -+ -+config JFFS2_BIG_ENDIAN -+ bool "big endian" -+ help -+ Uses a big endian bytestream. -+ -+config JFFS2_LITTLE_ENDIAN -+ bool "little endian" -+ help -+ Uses a little endian bytestream. -+ -+endchoice -+ - config CRAMFS - tristate "Compressed ROM file system support (cramfs)" - select ZLIB_INFLATE ---- linux-2.6.15/fs/jffs2/nodelist.h~ 2006-01-05 01:37:06.000000000 +1030 -+++ linux-2.6.15/fs/jffs2/nodelist.h 2006-01-05 01:37:54.000000000 +1030 -@@ -29,12 +29,10 @@ - #include "os-linux.h" - #endif - --#define JFFS2_NATIVE_ENDIAN -- - /* Note we handle mode bits conversion from JFFS2 (i.e. Linux) to/from - whatever OS we're actually running on here too. */ - --#if defined(JFFS2_NATIVE_ENDIAN) -+#if defined(CONFIG_JFFS2_NATIVE_ENDIAN) - #define cpu_to_je16(x) ((jint16_t){x}) - #define cpu_to_je32(x) ((jint32_t){x}) - #define cpu_to_jemode(x) ((jmode_t){os_to_jffs2_mode(x)}) -@@ -42,7 +40,7 @@ - #define je16_to_cpu(x) ((x).v16) - #define je32_to_cpu(x) ((x).v32) - #define jemode_to_cpu(x) (jffs2_to_os_mode((x).m)) --#elif defined(JFFS2_BIG_ENDIAN) -+#elif defined(CONFIG_JFFS2_BIG_ENDIAN) - #define cpu_to_je16(x) ((jint16_t){cpu_to_be16(x)}) - #define cpu_to_je32(x) ((jint32_t){cpu_to_be32(x)}) - #define cpu_to_jemode(x) ((jmode_t){cpu_to_be32(os_to_jffs2_mode(x))}) -@@ -50,7 +48,7 @@ - #define je16_to_cpu(x) (be16_to_cpu(x.v16)) - #define je32_to_cpu(x) (be32_to_cpu(x.v32)) - #define jemode_to_cpu(x |
