From e82e715e89dde09644b274e452f437b6fe88a254 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 19 Jan 2011 23:49:22 +0100 Subject: add XX_FOR_BUILD variables, they are more standard compliant and used by autotools --- target/tools/addpattern/Makefile | 4 ++-- target/tools/addpattern/addpattern.c | 3 --- target/tools/squashfs/Makefile | 5 +++-- target/tools/srec2bin/Makefile | 4 ++-- target/tools/srec2bin/srec2bin.c | 7 ++----- target/tools/trx/Makefile | 4 ++-- target/tools/trx/trx.c | 10 +++++----- 7 files changed, 16 insertions(+), 21 deletions(-) (limited to 'target') diff --git a/target/tools/addpattern/Makefile b/target/tools/addpattern/Makefile index c60561ccf..596daeb52 100644 --- a/target/tools/addpattern/Makefile +++ b/target/tools/addpattern/Makefile @@ -1,4 +1,4 @@ include $(TOPDIR)/rules.mk -all: - $(HOSTCC) ${HOSTCFLAGS} -o ${STAGING_HOST_DIR}/bin/addpattern addpattern.c +all: addpattern.c + $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/bin/addpattern addpattern.c diff --git a/target/tools/addpattern/addpattern.c b/target/tools/addpattern/addpattern.c index 6f2a036c0..8133bf26e 100644 --- a/target/tools/addpattern/addpattern.c +++ b/target/tools/addpattern/addpattern.c @@ -116,8 +116,6 @@ int main(int argc, char **argv) time_t t; struct tm *ptm; - fprintf(stderr, "mjn3's addpattern replacement - v0.81\n"); - hdr = (struct code_header *) buf; memset(hdr, 0, sizeof(struct code_header)); @@ -229,7 +227,6 @@ int main(int argc, char **argv) if (gflag) { gflag = sizeof(buf) - n; memset(buf + n, 0xff, gflag); - fprintf(stderr, "adding %d bytes of garbage\n", gflag); n = sizeof(buf); } } diff --git a/target/tools/squashfs/Makefile b/target/tools/squashfs/Makefile index cfe4a5339..536a5e6ba 100644 --- a/target/tools/squashfs/Makefile +++ b/target/tools/squashfs/Makefile @@ -8,11 +8,14 @@ PKG_VERSION:= 4.0 PKG_RELEASE:= 2 PKG_MD5SUM:= a3c23391da4ebab0ac4a75021ddabf96 PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=squashfs/} + DISTFILES:= ${PKG_NAME}${PKG_VERSION}.tar.gz WRKDIST= ${WRKDIR}/$(PKG_NAME)${PKG_VERSION} include ../rules.mk +all: ${STAGING_HOST_DIR}/bin/mksquashfs + $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared ${MAKE} -C ${WRKBUILD}/squashfs-tools CC='${HOSTCC}' touch $@ @@ -21,6 +24,4 @@ ${STAGING_HOST_DIR}/bin/mksquashfs: $(WRKBUILD)/.compiled $(INSTALL_BIN) $(WRKBUILD)/squashfs-tools/mksquashfs \ ${STAGING_HOST_DIR}/bin -install: ${STAGING_HOST_DIR}/bin/mksquashfs - include $(TOPDIR)/mk/tools.mk diff --git a/target/tools/srec2bin/Makefile b/target/tools/srec2bin/Makefile index 9ffb27f3f..f48f8f939 100644 --- a/target/tools/srec2bin/Makefile +++ b/target/tools/srec2bin/Makefile @@ -1,4 +1,4 @@ include $(TOPDIR)/rules.mk -all: - $(HOSTCC) ${HOSTCFLAGS} -o ${STAGING_HOST_DIR}/bin/srec2bin srec2bin.c +all: srec2bin.c + $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/bin/srec2bin srec2bin.c diff --git a/target/tools/srec2bin/srec2bin.c b/target/tools/srec2bin/srec2bin.c index 1cffbaed9..8ba4387e6 100644 --- a/target/tools/srec2bin/srec2bin.c +++ b/target/tools/srec2bin/srec2bin.c @@ -433,9 +433,8 @@ int srecLine(char *pSrecLine) int srec2bin(int argc,char *argv[],int verbose) { - int i,rlen,sts; + int rlen,sts; FILE *fp; - char ac; char buff[256]; bit32u TAG_BIG = 0xDEADBE42; bit32u TAG_LITTLE = 0xFEEDFA42; @@ -513,12 +512,10 @@ int srec2bin(int argc,char *argv[],int verbose) return(1); } -main(int argc, char *argv[]) +int main(int argc, char *argv[]) { - debug = TRUE; debug = FALSE; verbose = FALSE; srec2bin(argc,argv,verbose); return 0; } - diff --git a/target/tools/trx/Makefile b/target/tools/trx/Makefile index 2def53424..d1832ee8c 100644 --- a/target/tools/trx/Makefile +++ b/target/tools/trx/Makefile @@ -1,4 +1,4 @@ include $(TOPDIR)/rules.mk -all: - $(HOSTCC) ${HOSTCFLAGS} -o ${STAGING_HOST_DIR}/bin/trx trx.c +all: trx.c + $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/bin/trx trx.c diff --git a/target/tools/trx/trx.c b/target/tools/trx/trx.c index 1c3a8701e..9e4d521ca 100644 --- a/target/tools/trx/trx.c +++ b/target/tools/trx/trx.c @@ -2,7 +2,7 @@ * Copyright (C) 2004 Manuel Novoa III * Copyright (C) 2005 Konstantin A. Klubnichkin and Oleg I. Vdovikin * Copyright (C) 2006 OpenWrt developers - * Copyright (C) 2006 Waldemar Brodkorb + * Copyright (C) 2011 Waldemar Brodkorb * * 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 @@ -52,7 +52,7 @@ void usage(void) __attribute__ (( __noreturn__ )); void usage(void) { - fprintf(stderr, "Usage: trx [-p product_id] [-v version] [-o outfile] [-m maxlen] [-a align] [-b offset] file [file [file]]\n"); + fprintf(stderr, "Usage: trx [-p product_id] [-v version] [-o outfile] [-m maxlen] [-a align] [-b offset] -f file [-f file [-f file]]\n"); exit(EXIT_FAILURE); } @@ -94,9 +94,9 @@ int main(int argc, char **argv) in = NULL; i = 0; - while ((c = getopt(argc, argv, "-:o:p:v:m:a:b:")) != -1) { + while ((c = getopt(argc, argv, "-:o:p:v:m:a:b:f:")) != -1) { switch (c) { - case 1: + case 'f': p->offsets[i++] = cur_len; if (!(in = fopen(optarg, "r"))) { @@ -209,7 +209,7 @@ int main(int argc, char **argv) } if (!in) { - fprintf(stderr, "we require atleast one filename\n"); + fprintf(stderr, "we require at least one filename\n"); usage(); } -- cgit v1.2.3 From cde33531cc2f70323f24127775eacf66364d38c8 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 20 Jan 2011 00:27:29 +0100 Subject: fix brcm targets. add LZMA and flashmap code patches. * add support for Linksys WRT54GS the automatic rflash size recognition is still open. --- target/config/Config.in | 2 + target/config/Config.in.tools | 5 + target/linux/patches/2.6.37/brcm.patch | 254 +++++++++++++++++++++++++-- target/linux/patches/2.6.37/mtd-root.patch | 64 ------- target/linux/patches/2.6.37/mtd-rootfs.patch | 26 +++ target/mipsel/Makefile | 13 +- target/mipsel/sys-available/linksys-wrt54gs | 13 ++ 7 files changed, 289 insertions(+), 88 deletions(-) create mode 100644 target/config/Config.in.tools delete mode 100644 target/linux/patches/2.6.37/mtd-root.patch create mode 100644 target/linux/patches/2.6.37/mtd-rootfs.patch create mode 100644 target/mipsel/sys-available/linksys-wrt54gs (limited to 'target') diff --git a/target/config/Config.in b/target/config/Config.in index 5e9f42073..b8fab0255 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -446,3 +446,5 @@ config ADK_TARGET_PACKAGE_TGZ directory. There will be no package manager installed onto the target. endchoice + +source "target/config/Config.in.tools" diff --git a/target/config/Config.in.tools b/target/config/Config.in.tools new file mode 100644 index 000000000..8ed343d2a --- /dev/null +++ b/target/config/Config.in.tools @@ -0,0 +1,5 @@ +config ADK_TOOLS_ADDPATTERN_ARGS + string + default "-p W54G -v v4.20.6" if ADK_TARGET_SYSTEM_LINKSYS_WRT54G + default "-p W54S -v v4.70.6" if ADK_TARGET_SYSTEM_LINKSYS_WRT54GS + default "" diff --git a/target/linux/patches/2.6.37/brcm.patch b/target/linux/patches/2.6.37/brcm.patch index 10a9a4947..6ce7fc3c8 100644 --- a/target/linux/patches/2.6.37/brcm.patch +++ b/target/linux/patches/2.6.37/brcm.patch @@ -1,14 +1,55 @@ ---- linux-2.6.36.orig/arch/mips/bcm47xx/Makefile 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36/arch/mips/bcm47xx/Makefile 2010-12-22 16:39:15.000000000 +0100 +diff -Nur linux-2.6.37.orig/arch/mips/Kconfig linux-2.6.37/arch/mips/Kconfig +--- linux-2.6.37.orig/arch/mips/Kconfig 2011-01-05 01:50:19.000000000 +0100 ++++ linux-2.6.37/arch/mips/Kconfig 2011-01-19 22:45:48.000000000 +0100 +@@ -84,6 +84,7 @@ + select GENERIC_GPIO + select SYS_HAS_EARLY_PRINTK + select CFE ++ select SYS_SUPPORTS_ZBOOT_UART16550 + help + Support for BCM47XX based boards + +diff -Nur linux-2.6.37.orig/arch/mips/Makefile linux-2.6.37/arch/mips/Makefile +--- linux-2.6.37.orig/arch/mips/Makefile 2011-01-05 01:50:19.000000000 +0100 ++++ linux-2.6.37/arch/mips/Makefile 2011-01-19 22:48:04.000000000 +0100 +@@ -76,6 +76,7 @@ + all-$(CONFIG_BOOT_ELF32) := $(vmlinux-32) + all-$(CONFIG_BOOT_ELF64) := $(vmlinux-64) + all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlinuz ++all-$(CONFIG_BCM47XX) += vmlinuz.elf + + # + # GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel +@@ -276,7 +277,7 @@ + $(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) arch/mips/boot/$@ + + # boot/compressed +-vmlinuz vmlinuz.bin vmlinuz.ecoff vmlinuz.srec: $(vmlinux-32) FORCE ++vmlinuz vmlinuz.bin vmlinuz.ecoff vmlinuz.srec vmlinuz.elf: $(vmlinux-32) FORCE + $(Q)$(MAKE) $(build)=arch/mips/boot/compressed \ + VMLINUX_LOAD_ADDRESS=$(load-y) 32bit-bfd=$(32bit-bfd) $@ + +@@ -313,6 +314,7 @@ + echo ' vmlinuz.ecoff - ECOFF zboot image' + echo ' vmlinuz.bin - Raw binary zboot image' + echo ' vmlinuz.srec - SREC zboot image' ++ echo ' vmlinuz.elf - ELF self-relocating zboot image' + echo + echo ' These will be default as apropriate for a configured platform.' + endef +diff -Nur linux-2.6.37.orig/arch/mips/bcm47xx/Makefile linux-2.6.37/arch/mips/bcm47xx/Makefile +--- linux-2.6.37.orig/arch/mips/bcm47xx/Makefile 2011-01-05 01:50:19.000000000 +0100 ++++ linux-2.6.37/arch/mips/bcm47xx/Makefile 2011-01-19 22:45:43.000000000 +0100 @@ -3,4 +3,4 @@ # under Linux. # -obj-y := gpio.o irq.o nvram.o prom.o serial.o setup.o time.o wgt634u.o +obj-y := gpio.o irq.o nvram.o prom.o serial.o setup.o time.o platform.o ---- /dev/null Fri Jan 7 17:21:57 2011 -+++ linux-2.6.36/arch/mips/bcm47xx/platform.c Fri Jan 7 17:21:42 2011 -@@ -0,0 +1,147 @@ +diff -Nur linux-2.6.37.orig/arch/mips/bcm47xx/platform.c linux-2.6.37/arch/mips/bcm47xx/platform.c +--- linux-2.6.37.orig/arch/mips/bcm47xx/platform.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.37/arch/mips/bcm47xx/platform.c 2011-01-19 22:45:57.000000000 +0100 +@@ -0,0 +1,139 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive @@ -109,16 +150,8 @@ + trx_hdr = (void *)KSEG1ADDR(mcore->flash_window + 0x40000); + + /* devices might have 2, 4 or 8 MB flash size */ -+#ifdef BCM47XX_OVERRIDE_FLASHSIZE -+ flash_size = BCM47XX_OVERRIDE_FLASHSIZE; -+ mcore->flash_window_size = flash_size; -+#define BCM47XX_OVERRODE_FLASHSIZE " (overridden)" -+#else + flash_size = mcore->flash_window_size; -+#define BCM47XX_OVERRODE_FLASHSIZE "" -+#endif -+ printk(KERN_INFO "FLASH SIZE%s: %x\n", BCM47XX_OVERRODE_FLASHSIZE, -+ flash_size); ++ printk(KERN_INFO "FLASH SIZE: 0x%x\n", flash_size); + + left = flash_size - 0x40000; + posn = flash_size; @@ -156,9 +189,161 @@ +} + +device_initcall(bcm47xx_register_devices); ---- linux-2.6.36.orig/drivers/ssb/driver_mipscore.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36/drivers/ssb/driver_mipscore.c 2010-12-22 16:38:53.000000000 +0100 -@@ -193,7 +193,7 @@ +diff -Nur linux-2.6.37.orig/arch/mips/boot/compressed/Makefile linux-2.6.37/arch/mips/boot/compressed/Makefile +--- linux-2.6.37.orig/arch/mips/boot/compressed/Makefile 2011-01-05 01:50:19.000000000 +0100 ++++ linux-2.6.37/arch/mips/boot/compressed/Makefile 2011-01-19 23:21:26.000000000 +0100 +@@ -58,8 +58,13 @@ + # Calculate the load address of the compressed kernel image + hostprogs-y := calc_vmlinuz_load_addr + ++ifdef CONFIG_BCM47XX ++# XXX just after CFE, just pray the address is static ++VMLINUZ_LOAD_ADDRESS = 0xffffffff80480000 ++else + VMLINUZ_LOAD_ADDRESS = $(shell $(obj)/calc_vmlinuz_load_addr \ + $(obj)/vmlinux.bin $(VMLINUX_LOAD_ADDRESS)) ++endif + + vmlinuzobjs-y += $(obj)/piggy.o + +@@ -105,4 +110,12 @@ + vmlinuz.srec: vmlinuz + $(call cmd,objcopy) + +-clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec} ++AFLAGS_selfreloc.o := -DVMLINUZ_LOAD_ADDRESS=$(VMLINUZ_LOAD_ADDRESS) ++CPPFLAGS_selfreloc.lds := $(KBUILD_CFLAGS) ++ ++arch/mips/boot/compressed/selfreloc.o: arch/mips/boot/compressed/selfreloc.S vmlinuz.bin ++ ++vmlinuz.elf: arch/mips/boot/compressed/selfreloc.o arch/mips/boot/compressed/selfreloc.lds ++ $(LD) $(LDFLAGS) -T arch/mips/boot/compressed/selfreloc.lds arch/mips/boot/compressed/selfreloc.o -o $@ ++ ++clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec,elf} $(objtree)/arch/mips/boot/compressed/selfreloc.{o,lds} +diff -Nur linux-2.6.37.orig/arch/mips/boot/compressed/selfreloc.S linux-2.6.37/arch/mips/boot/compressed/selfreloc.S +--- linux-2.6.37.orig/arch/mips/boot/compressed/selfreloc.S 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.37/arch/mips/boot/compressed/selfreloc.S 2011-01-19 22:45:57.000000000 +0100 +@@ -0,0 +1,54 @@ ++/*- ++ * written 2011 by Thorsten Glaser based on ++ * arch/mips/boot/compressed/head.S ++ */ ++ ++#include ++#include ++ ++ .set noreorder ++ .cprestore ++ ++ .text ++ LEAF(selfreloc_start) ++selfreloc_start: ++ /* Save boot rom start args */ ++ move s0, a0 ++ move s1, a1 ++ move s2, a2 ++ move s3, a3 ++ ++ /* Copy code to the correct place */ ++ PTR_LI a0, VMLINUZ_LOAD_ADDRESS ++ PTR_LA a1, imgbeg ++ PTR_LA a2, imgend ++1: lw t0, 0(a1) ++ sw t0, 0(a0) ++ add a1, 4 ++ add a0, 4 ++ blt a1, a2, 1b ++ nop ++ ++ /* Restore boot rom start args */ ++ move a0, s0 ++ move a1, s1 ++ move a2, s2 ++ move a3, s3 ++ ++ /* Jump to the code at its new location */ ++ PTR_LI k0, VMLINUZ_LOAD_ADDRESS ++ jr k0 ++ nop ++ ++ /* Just in case we come backā€¦ */ ++3: ++ b 3b ++ nop ++ END(selfreloc_start) ++ ++ .globl imgbeg ++ .p2align 2 ++imgbeg: .incbin "vmlinuz.bin" ++ .globl imgend ++ .p2align 2 ++imgend: +diff -Nur linux-2.6.37.orig/arch/mips/boot/compressed/selfreloc.lds.S linux-2.6.37/arch/mips/boot/compressed/selfreloc.lds.S +--- linux-2.6.37.orig/arch/mips/boot/compressed/selfreloc.lds.S 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.37/arch/mips/boot/compressed/selfreloc.lds.S 2011-01-19 22:45:48.000000000 +0100 +@@ -0,0 +1,39 @@ ++/*- ++ * written 2010 by Thorsten Glaser based on ++ * arch/mips/kernel/vmlinux.lds and arch/mips/boot/compressed/ld.script ++ */ ++ ++#include ++#include ++#include ++ ++#undef mips ++#define mips mips ++OUTPUT_ARCH(mips) ++ENTRY(selfreloc_start) ++PHDRS { ++ text PT_LOAD FLAGS(7); /* RWX */ ++} ++SECTIONS ++{ ++ . = VMLINUX_LOAD_ADDRESS; ++ .text : { ++ *(.text) ++ *(.text.*) ++ *(.rodata) ++ *(.rodata.*) ++ *(.data) ++ *(.data.*) ++ *(.bss) ++ *(.bss.*) ++ } :text ++ /DISCARD/ : { ++ *(.MIPS.options) ++ *(.options) ++ *(.pdr) ++ *(.reginfo) ++ *(.comment) ++ *(.note) ++ *(.gnu.attributes) ++ } ++} +diff -Nur linux-2.6.37.orig/arch/mips/boot/compressed/uart-16550.c linux-2.6.37/arch/mips/boot/compressed/uart-16550.c +--- linux-2.6.37.orig/arch/mips/boot/compressed/uart-16550.c 2011-01-05 01:50:19.000000000 +0100 ++++ linux-2.6.37/arch/mips/boot/compressed/uart-16550.c 2011-01-19 22:45:48.000000000 +0100 +@@ -18,6 +18,11 @@ + #define PORT(offset) (CKSEG1ADDR(AR7_REGS_UART0) + (4 * offset)) + #endif + ++#ifdef CONFIG_BCM47XX ++#define UART_BASE 0x18000300 ++#define PORT(offset) (CKSEG1ADDR(UART_BASE) + (offset)) ++#endif ++ + #ifndef PORT + #error please define the serial port address for your own machine + #endif +diff -Nur linux-2.6.37.orig/drivers/ssb/driver_mipscore.c linux-2.6.37/drivers/ssb/driver_mipscore.c +--- linux-2.6.37.orig/drivers/ssb/driver_mipscore.c 2011-01-05 01:50:19.000000000 +0100 ++++ linux-2.6.37/drivers/ssb/driver_mipscore.c 2011-01-19 22:45:57.000000000 +0100 +@@ -190,10 +190,11 @@ + { + struct ssb_bus *bus = mcore->dev->bus; + ++ printk("Check for vendor with value: %d", bus->chipco.dev->id.vendor); mcore->flash_buswidth = 2; if (bus->chipco.dev) { mcore->flash_window = 0x1c000000; @@ -167,3 +352,38 @@ if ((ssb_read32(bus->chipco.dev, SSB_CHIPCO_FLASH_CFG) & SSB_CHIPCO_CFG_DS16) == 0) mcore->flash_buswidth = 1; +diff -Nur linux-2.6.37.orig/init/Kconfig linux-2.6.37/init/Kconfig +--- linux-2.6.37.orig/init/Kconfig 2011-01-05 01:50:19.000000000 +0100 ++++ linux-2.6.37/init/Kconfig 2011-01-19 22:45:48.000000000 +0100 +@@ -158,6 +158,7 @@ + config KERNEL_GZIP + bool "Gzip" + depends on HAVE_KERNEL_GZIP ++ select DECOMPRESS_GZIP + help + The old and tried gzip compression. It provides a good balance + between compression ratio and decompression speed. +@@ -165,6 +166,7 @@ + config KERNEL_BZIP2 + bool "Bzip2" + depends on HAVE_KERNEL_BZIP2 ++ select DECOMPRESS_BZIP2 + help + Its compression ratio and speed is intermediate. + Decompression speed is slowest among the three. The kernel +@@ -175,6 +177,7 @@ + config KERNEL_LZMA + bool "LZMA" + depends on HAVE_KERNEL_LZMA ++ select DECOMPRESS_LZMA + help + The most recent compression algorithm. + Its ratio is best, decompression speed is between the other +@@ -184,6 +187,7 @@ + config KERNEL_LZO + bool "LZO" + depends on HAVE_KERNEL_LZO ++ select DECOMPRESS_LZO + help + Its compression ratio is the poorest among the 4. The kernel + size is about 10% bigger than gzip; however its speed diff --git a/target/linux/patches/2.6.37/mtd-root.patch b/target/linux/patches/2.6.37/mtd-root.patch deleted file mode 100644 index ecb9a696b..000000000 --- a/target/linux/patches/2.6.37/mtd-root.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -Nur linux-2.6.37.orig/drivers/mtd/Kconfig linux-2.6.37/drivers/mtd/Kconfig ---- linux-2.6.37.orig/drivers/mtd/Kconfig 2011-01-05 01:50:19.000000000 +0100 -+++ linux-2.6.37/drivers/mtd/Kconfig 2011-01-11 20:32:21.000000000 +0100 -@@ -53,6 +53,11 @@ - devices. Partitioning on NFTL 'devices' is a different - that's the - 'normal' form of partitioning used on a block device. - -+config MTD_ROOTFS_ROOT_DEV -+ bool "Automatically set 'rootfs' partition to be root filesystem" -+ depends on MTD_PARTITIONS -+ default y -+ - config MTD_REDBOOT_PARTS - tristate "RedBoot partition table parsing" - depends on MTD_PARTITIONS -diff -Nur linux-2.6.37.orig/drivers/mtd/mtdpart.c linux-2.6.37/drivers/mtd/mtdpart.c ---- linux-2.6.37.orig/drivers/mtd/mtdpart.c 2011-01-05 01:50:19.000000000 +0100 -+++ linux-2.6.37/drivers/mtd/mtdpart.c 2011-01-11 20:40:29.000000000 +0100 -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - - /* Our partition linked list */ - static LIST_HEAD(mtd_partitions); -@@ -48,7 +49,7 @@ - * the pointer to that structure with this macro. - */ - #define PART(x) ((struct mtd_part *)(x)) -- -+#define IS_PART(mtd) (mtd->read == part_read) - - /* - * MTD methods which simply translate the effective address and pass through -@@ -633,15 +634,24 @@ - { - struct mtd_part *slave; - uint64_t cur_offset = 0; -- int i; -+ int i, j; - - printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name); - -- for (i = 0; i < nbparts; i++) { -- slave = allocate_partition(master, parts + i, i, cur_offset); -- if (IS_ERR(slave)) -+ for (i = 0, j = 0; i < nbparts; i++) { -+ slave = add_one_partition(master, parts + i, j++, cur_offset); -+ if (!(slave)) - return PTR_ERR(slave); - -+ -+ if (!strcmp(parts[i].name, "rootfs")) { -+#ifdef CONFIG_MTD_ROOTFS_ROOT_DEV -+ if (ROOT_DEV == 0) { -+ printk(KERN_NOTICE "mtd: partition \"rootfs\" " -+ "set to be root filesystem\n"); -+ ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, slave->mtd.index); -+ } -+#endif - mutex_lock(&mtd_partitions_mutex); - list_add(&slave->list, &mtd_partitions); - mutex_unlock(&mtd_partitions_mutex); diff --git a/target/linux/patches/2.6.37/mtd-rootfs.patch b/target/linux/patches/2.6.37/mtd-rootfs.patch new file mode 100644 index 000000000..74a94ff7e --- /dev/null +++ b/target/linux/patches/2.6.37/mtd-rootfs.patch @@ -0,0 +1,26 @@ +diff -Nur linux-2.6.37.orig/drivers/mtd/mtdpart.c linux-2.6.37/drivers/mtd/mtdpart.c +--- linux-2.6.37.orig/drivers/mtd/mtdpart.c 2011-01-05 01:50:19.000000000 +0100 ++++ linux-2.6.37/drivers/mtd/mtdpart.c 2011-01-18 00:23:32.000000000 +0100 +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + + /* Our partition linked list */ + static LIST_HEAD(mtd_partitions); +@@ -642,6 +643,14 @@ + if (IS_ERR(slave)) + return PTR_ERR(slave); + ++ if (!strcmp(parts[i].name, "rootfs")) { ++ if (ROOT_DEV == 0) { ++ printk(KERN_NOTICE "mtd: partition \"rootfs\" " ++ "set to be root filesystem\n"); ++ ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, slave->mtd.index); ++ } ++ } ++ + mutex_lock(&mtd_partitions_mutex); + list_add(&slave->list, &mtd_partitions); + mutex_unlock(&mtd_partitions_mutex); diff --git a/target/mipsel/Makefile b/target/mipsel/Makefile index b04bc9011..7577faf1e 100644 --- a/target/mipsel/Makefile +++ b/target/mipsel/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/mk/kernel.mk include $(TOPDIR)/mk/modules.mk include $(TOPDIR)/mk/kernel-build.mk -ifeq (${ADK_TARGET_SYSTEM_LINKSYS_WRT54G},y) +ifeq (${ADK_KERNEL_BCM47XX},y) CUSTOM_ROOTFSSQUASHFS_BUILD=1 endif @@ -19,9 +19,9 @@ tools-compile: $(MAKE) -C ../tools/trx $(MAKE) -C ../tools/addpattern $(MAKE) -C ../tools/srec2bin - $(MAKE) -C ../tools/squashfs prepare compile install + $(MAKE) -C ../tools/squashfs -ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_WRT54G),y) +ifeq ($(ADK_KERNEL_BCM47XX),y) kernel-install: tools-compile ${TARGET_CROSS}objcopy ${OSTRIP} -S ${LINUX_DIR}/vmlinub.elf \ ${BUILD_DIR}/${TARGET_KERNEL} @@ -32,9 +32,8 @@ ${BUILD_DIR}/${ROOTFSSQUASHFS}: ${BUILD_DIR}/root.squashfs gzip -n9 <${BUILD_DIR}/${TARGET_KERNEL}.bin \ >${BUILD_DIR}/${TARGET_KERNEL}.bin.gz printf '\0' >>${BUILD_DIR}/${TARGET_KERNEL}.bin.gz - PATH='${TARGET_PATH}' trx -o $@~ ${BUILD_DIR}/${TARGET_KERNEL}.bin.gz \ - -a 1024 ${BUILD_DIR}/root.squashfs - PATH='${TARGET_PATH}' addpattern -4 -p W54G -v v4.20.6 -g -i $@~ -o $@ + PATH='${TARGET_PATH}' trx -o $@~ -f ${BUILD_DIR}/${TARGET_KERNEL}.bin.gz -a 1024 -f ${BUILD_DIR}/root.squashfs + PATH='${TARGET_PATH}' addpattern -4 ${ADK_TOOLS_ADDPATTERN_ARGS} -g -i $@~ -o $@ endif ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_AG241),y) @@ -83,7 +82,7 @@ ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_AG241),y) @echo 'tftp> binary' @echo 'tftp> put $(BIN_DIR)/${TARGET_KERNEL} upgrade_code.bin' endif -ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_WRT54G),y) +ifeq ($(ADK_KERNEL_BCM47XX),y) @echo 'Type following on the CFE prompt to boot the kernel:' @echo 'CFE> boot -elf -tftp 192.168.1.254:$(BIN_DIR)/${TARGET_KERNEL}' endif diff --git a/target/mipsel/sys-available/linksys-wrt54gs b/target/mipsel/sys-available/linksys-wrt54gs new file mode 100644 index 000000000..82246843a --- /dev/null +++ b/target/mipsel/sys-available/linksys-wrt54gs @@ -0,0 +1,13 @@ +config ADK_TARGET_SYSTEM_LINKSYS_WRT54GS + bool "Linksys WRT54GS" + select ADK_mipsel + select ADK_linksys_wrt54gs + select ADK_KERNEL_BCM47XX + select ADK_KERNEL_KERNEL_LZMA + select ADK_TARGET_WITH_MTD + select ADK_TARGET_WITH_SSB + select ADK_TARGET_WITH_WATCHDOG + help + Linksys WRT54GS WLAN router. + (Broadcom BCM47xx platform) + -- cgit v1.2.3 From 52b1b0100c53b1f8699955df618fcb47744e0a7e Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 20 Jan 2011 14:20:37 +0100 Subject: use all targets for tools --- target/cris/Makefile | 4 ++-- target/tools/e100boot/Makefile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'target') diff --git a/target/cris/Makefile b/target/cris/Makefile index a0654575d..ff8f19473 100644 --- a/target/cris/Makefile +++ b/target/cris/Makefile @@ -12,9 +12,9 @@ KERNEL:=$(LINUX_DIR)/arch/cris/boot/zImage tools-compile: $(MAKE) -C ../tools/mkfimage ifneq ($(ADK_HOST_DARWIN),y) - $(MAKE) -C ../tools/e100boot prepare compile install + $(MAKE) -C ../tools/e100boot endif - $(MAKE) -C ../tools/squashfs prepare compile install + $(MAKE) -C ../tools/squashfs $(INSTALL_BIN) ../tools/boot_linux $(BIN_DIR)/ kernel-install: tools-compile diff --git a/target/tools/e100boot/Makefile b/target/tools/e100boot/Makefile index bec2b4302..2cdf28837 100644 --- a/target/tools/e100boot/Makefile +++ b/target/tools/e100boot/Makefile @@ -13,6 +13,8 @@ WRKDIST= ${WRKDIR}/${PKG_NAME} include ../rules.mk +all: $(BIN_DIR)/etrax100boot + $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared $(MAKE) -C $(WRKBUILD) touch $@ @@ -20,6 +22,4 @@ $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared $(BIN_DIR)/etrax100boot: $(WRKBUILD)/.compiled $(INSTALL_BIN) $(WRKBUILD)/sbl/e100boot.stripped $(BIN_DIR)/etrax100boot -install: $(BIN_DIR)/etrax100boot - include $(TOPDIR)/mk/tools.mk -- cgit v1.2.3 From 9436a026e2e23d207fbdcb9e8bc9b076e3573700 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 22 Jan 2011 22:37:50 +0100 Subject: activate GCC cflags check, cleanup FLAGS stuff in OpenADK. * remove TCFLAGS/TLDFLAGS/TCPPFLAGS and only use TARGET_CFLAGS/TARGET_LDFLAGS/TARGET_CPPFLAGS, ... * activate GCC_HONOUR_COPTS and fix all packages to honour CFLAGS * use CC_FOR_BUILD, CFLAGS_FOR_BUILD, ... for all build compilation, remove HOST* variants * introduce KERNEL_MODULE_FLAGS for external kernel modules * mark rpm package as broken, mark syslinux for native builds only, mark libhugetlb for eglibc/glibc only usage --- target/packages/pkg-available/development | 5 +++-- target/packages/pkg-available/laptop | 1 + target/tools/mkfimage/Makefile | 4 ++-- target/tools/squashfs/Makefile | 2 +- target/tools/squashfs/patches/honour-cflags.patch | 2 +- target/tools/uboot-mkimage/Makefile | 4 ++-- 6 files changed, 10 insertions(+), 8 deletions(-) (limited to 'target') diff --git a/target/packages/pkg-available/development b/target/packages/pkg-available/development index 6b6498749..bf479c1c5 100644 --- a/target/packages/pkg-available/development +++ b/target/packages/pkg-available/development @@ -9,7 +9,7 @@ config ADK_PKG_DEVELOPMENT select ADK_PACKAGE_GAWK select ADK_PACKAGE_GCC select ADK_PACKAGE_GIT - select ADK_PACKAGE_GREP + #select ADK_PACKAGE_GREP select ADK_PACKAGE_UCLIBC_DEV if ADK_TARGET_LIB_UCLIBC select ADK_PACKAGE_EGLIBC_DEV if ADK_TARGET_LIB_EGLIBC select ADK_PACKAGE_GLIBC_DEV if ADK_TARGET_LIB_GLIBC @@ -17,10 +17,11 @@ config ADK_PKG_DEVELOPMENT select ADK_PACKAGE_LIBNCURSES_DEV select ADK_PACKAGE_M4 select ADK_PACKAGE_MAKE - select ADK_PACKAGE_PATCH + #select ADK_PACKAGE_PATCH select ADK_PACKAGE_PKG_CONFIG select ADK_PACKAGE_MICROPERL select ADK_PACKAGE_TSORT + select BUSYBOX_PATCH select BUSYBOX_STAT select BUSYBOX_FEATURE_STAT_FORMAT select BUSYBOX_TR diff --git a/target/packages/pkg-available/laptop b/target/packages/pkg-available/laptop index 52312c9ab..41e4f5e3f 100644 --- a/target/packages/pkg-available/laptop +++ b/target/packages/pkg-available/laptop @@ -11,6 +11,7 @@ config ADK_PKG_LAPTOP select ADK_PACKAGE_OPENSC select ADK_PACKAGE_PCSC_LITE select ADK_PACKAGE_CCID + select ADK_PACKAGE_ALSA_UTILS select ADK_PACKAGE_OPENSSL_PKCS11 select ADK_PACKAGE_OPENSSH_CLIENT select ADK_PACKAGE_OPENSSH_CLIENT_UTILS diff --git a/target/tools/mkfimage/Makefile b/target/tools/mkfimage/Makefile index 82e645285..a72cfdff1 100644 --- a/target/tools/mkfimage/Makefile +++ b/target/tools/mkfimage/Makefile @@ -1,4 +1,4 @@ include $(TOPDIR)/rules.mk -all: - $(HOSTCC) ${HOSTCFLAGS} -o ${STAGING_HOST_DIR}/bin/mkfimage mkfimage.c +all: mkfimage.c + $(CC_FOR_BUILD) ${FLAGS_FOR_BUILD} -o ${STAGING_HOST_DIR}/bin/mkfimage mkfimage.c diff --git a/target/tools/squashfs/Makefile b/target/tools/squashfs/Makefile index 536a5e6ba..bcc966274 100644 --- a/target/tools/squashfs/Makefile +++ b/target/tools/squashfs/Makefile @@ -17,7 +17,7 @@ include ../rules.mk all: ${STAGING_HOST_DIR}/bin/mksquashfs $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared - ${MAKE} -C ${WRKBUILD}/squashfs-tools CC='${HOSTCC}' + ${MAKE} -C ${WRKBUILD}/squashfs-tools CC='${CC_FOR_BUILD}' touch $@ ${STAGING_HOST_DIR}/bin/mksquashfs: $(WRKBUILD)/.compiled diff --git a/target/tools/squashfs/patches/honour-cflags.patch b/target/tools/squashfs/patches/honour-cflags.patch index 2ee7de909..a50d94263 100644 --- a/target/tools/squashfs/patches/honour-cflags.patch +++ b/target/tools/squashfs/patches/honour-cflags.patch @@ -5,7 +5,7 @@ INCLUDEDIR = . -CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -O2 -+CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -O2 ${HOSTCFLAGS} ++CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -O2 ${CFLAGS_FOR_BUILD} all: mksquashfs unsquashfs diff --git a/target/tools/uboot-mkimage/Makefile b/target/tools/uboot-mkimage/Makefile index c9d85a28e..e93964ff2 100644 --- a/target/tools/uboot-mkimage/Makefile +++ b/target/tools/uboot-mkimage/Makefile @@ -1,4 +1,4 @@ include $(TOPDIR)/rules.mk -all: - $(HOSTCC) ${HOSTCFLAGS} -o ${STAGING_HOST_DIR}/bin/mkimage mkimage.c crc32.c +all: mkimage.c crc32.c + $(CC_FOR_BUILD) ${FLAGS_FOR_BUILD} -o ${STAGING_HOST_DIR}/bin/mkimage mkimage.c crc32.c -- cgit v1.2.3