diff options
author | Wu Zhangjin <wuzhangjin@gmail.com> | 2009-10-14 06:12:16 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-12-16 20:56:56 -0500 |
commit | 1b93b3c3e94be2605759735a89fc935ba5f58dcf (patch) | |
tree | 1d49ea7cca709e0380d5463357deb1c632308cc0 /arch/mips/Kconfig | |
parent | bea4c899f2b5fad80099aea979780ef19f9b1987 (diff) |
MIPS: Add support for GZIP / BZIP2 / LZMA compressed kernel images
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: Manuel Lauss <manuel.lauss@googlemail.com>
Tested-by: Alexander Clouter <alex@digriz.org.uk>
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/Kconfig')
-rw-r--r-- | arch/mips/Kconfig | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index fd7620f025fa..f6f3b990d837 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -22,6 +22,7 @@ choice | |||
22 | 22 | ||
23 | config MACH_ALCHEMY | 23 | config MACH_ALCHEMY |
24 | bool "Alchemy processor based machines" | 24 | bool "Alchemy processor based machines" |
25 | select SYS_SUPPORTS_ZBOOT | ||
25 | 26 | ||
26 | config AR7 | 27 | config AR7 |
27 | bool "Texas Instruments AR7" | 28 | bool "Texas Instruments AR7" |
@@ -36,6 +37,7 @@ config AR7 | |||
36 | select SYS_HAS_EARLY_PRINTK | 37 | select SYS_HAS_EARLY_PRINTK |
37 | select SYS_SUPPORTS_32BIT_KERNEL | 38 | select SYS_SUPPORTS_32BIT_KERNEL |
38 | select SYS_SUPPORTS_LITTLE_ENDIAN | 39 | select SYS_SUPPORTS_LITTLE_ENDIAN |
40 | select SYS_SUPPORTS_ZBOOT_UART16550 | ||
39 | select GENERIC_GPIO | 41 | select GENERIC_GPIO |
40 | select GCD | 42 | select GCD |
41 | select VLYNQ | 43 | select VLYNQ |
@@ -192,6 +194,7 @@ config LASAT | |||
192 | 194 | ||
193 | config MACH_LOONGSON | 195 | config MACH_LOONGSON |
194 | bool "Loongson family of machines" | 196 | bool "Loongson family of machines" |
197 | select SYS_SUPPORTS_ZBOOT_UART16550 | ||
195 | help | 198 | help |
196 | This enables the support of Loongson family of machines. | 199 | This enables the support of Loongson family of machines. |
197 | 200 | ||
@@ -233,6 +236,7 @@ config MIPS_MALTA | |||
233 | select SYS_SUPPORTS_MIPS_CMP | 236 | select SYS_SUPPORTS_MIPS_CMP |
234 | select SYS_SUPPORTS_MULTITHREADING | 237 | select SYS_SUPPORTS_MULTITHREADING |
235 | select SYS_SUPPORTS_SMARTMIPS | 238 | select SYS_SUPPORTS_SMARTMIPS |
239 | select SYS_SUPPORTS_ZBOOT | ||
236 | help | 240 | help |
237 | This enables support for the MIPS Technologies Malta evaluation | 241 | This enables support for the MIPS Technologies Malta evaluation |
238 | board. | 242 | board. |
@@ -1294,6 +1298,16 @@ config CPU_CAVIUM_OCTEON | |||
1294 | 1298 | ||
1295 | endchoice | 1299 | endchoice |
1296 | 1300 | ||
1301 | config SYS_SUPPORTS_ZBOOT | ||
1302 | bool | ||
1303 | select HAVE_KERNEL_GZIP | ||
1304 | select HAVE_KERNEL_BZIP2 | ||
1305 | select HAVE_KERNEL_LZMA | ||
1306 | |||
1307 | config SYS_SUPPORTS_ZBOOT_UART16550 | ||
1308 | bool | ||
1309 | select SYS_SUPPORTS_ZBOOT | ||
1310 | |||
1297 | config CPU_LOONGSON2 | 1311 | config CPU_LOONGSON2 |
1298 | bool | 1312 | bool |
1299 | select CPU_SUPPORTS_32BIT_KERNEL | 1313 | select CPU_SUPPORTS_32BIT_KERNEL |