1. 27 2月, 2010 1 次提交
  2. 28 1月, 2010 2 次提交
    • A
      MIPS: Fix vmlinuz build for 32bit-only math shells · 9c4a6fce
      Alexander Clouter 提交于
      POSIX requires $((<expression>)) arithmetic in sh only to have long
      arithmetic so on 32-bit sh binaries might do only 32-bit arithmetic but
      the arithmetic done in arch/mips/boot/compressed/Makefile needs 64-bit.
      
      I play with the AR7 platform, so VMLINUX_LOAD_ADDRESS is
      0xffffffff94100000, and for an example 4MiB kernel
      VMLINUZ_LOAD_ADDRESS is made out to be:
      ----
      alex@berk:~$ bash -c 'printf "%x\n" $((0xffffffff94100000 + 0x400000))'
      ffffffff94500000
      alex@berk:~$ dash -c 'printf "%x\n" $((0xffffffff94100000 + 0x400000))'
      80000000003fffff
      ----
      
      The former is obviously correct whilst the later breaks things royally.
      
      Fortunately working with only the lower 32bit's works for both bash and
      dash:
      ----
      $ bash -c 'printf "%x\n" $((0x94100000 + 0x400000))'
      94500000
      $ dash -c 'printf "%x\n" $((0x94100000 + 0x400000))'
      94500000
      ----
      
      So, we can split the original 64bit string to two parts, and only
      calculate the low 32bit part, which is big enough (1GiB kernel sizes
      anyone?) for a normal Linux kernel image file, now, we calculate the
      VMLINUZ_LOAD_ADDRESS like this:
      
      1. if present, append top 32bit of VMLINUX_LOAD_ADDRESS" as a prefix
      2. get the sum of the low 32bit of VMLINUX_LOAD_ADDRESS + VMLINUX_SIZE
      
      This patch fixes vmlinuz kernel builds on systems where only a
      32bit-only math shell is available.
      
      Patch Changelog:
        Version 2
          - simplified method by using 'expr' for 'substr' and making it work
      	with dash once again
        Version 1
          - Revert the removals of '-n "$(VMLINUX_SIZE)"' to avoid the error
              of "make clean"
          - Consider more cases of the VMLINUX_LOAD_ADDRESS
        Version 0
          - initial release
      Signed-off-by: NAlexander Clouter <alex@digriz.org.uk>
      Acked-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Patchwork: http://patchwork.linux-mips.org/patch/861/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      9c4a6fce
    • W
      MIPS: Add support of LZO-compressed kernels · fe1d45e0
      Wu Zhangjin 提交于
      The necessary changes to the x86 Kconfig and boot/compressed to allow the
      use of this new compression method.
      Signed-off-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Patchwork: http://patchwork.linux-mips.org/patch/857/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      fe1d45e0
  3. 13 1月, 2010 1 次提交
  4. 17 12月, 2009 1 次提交
    • W
      MIPS: Add support for GZIP / BZIP2 / LZMA compressed kernel images · 1b93b3c3
      Wu Zhangjin 提交于
      This patch helps to generate smaller kernel images for linux-MIPS,
      
      Here is the effect when using lzma:
      
      $ ls -sh vmlinux
      7.1M vmlinux
      $ ls -sh vmlinuz
      1.5M vmlinuz
      
      Have tested the 32bit kernel on Qemu/Malta and 64bit kernel on FuLoong
      Mini PC. both of them work well. and also, tested by Alexander Clouter
      on an AR7 based Linksys WAG54Gv2, and by Manuel Lauss on an Alchemy
      board.
      
      This -v2 version incorporate the feedback from Ralf, and add the
      following changes:
      
      1. add .ecoff, .bin, .erec format support
      2. only enable it and the debug source code for the machines we tested
      3. a dozen of fixups and cleanups
      
      and if you want to enable it for your board, please try to select
      SYS_SUPPORTS_ZBOOT for it, and if the board have an 16550 compatible
      uart, you can select SYS_SUPPORTS_ZBOOT_UART16550 directly. and then
      sending the relative patches to Ralf.
      Tested-by: NManuel Lauss <manuel.lauss@googlemail.com>
      Tested-by: NAlexander Clouter <alex@digriz.org.uk>
      Signed-off-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      1b93b3c3