summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-08-16 05:35:34 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-08-16 05:35:34 +0000
commit9d40adf19889147d7b68b997feab6e272f6eb9ef (patch)
tree4742f40fd9cb092136469bcb1116ef41aa5d9d3b
parenta7cf249b3cde291890fa1addf96c96da30a9f9f0 (diff)
add menuconfig option for selecting initramfs compression
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17283 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--Config.in49
-rw-r--r--include/kernel-defaults.mk12
2 files changed, 44 insertions, 17 deletions
diff --git a/Config.in b/Config.in
index 4076479021..ab4fbe8cd8 100644
--- a/Config.in
+++ b/Config.in
@@ -20,6 +20,31 @@ menu "Target Images"
help
Embed the rootfs into the kernel (initramfs)
+ choice
+ prompt "ramdisk compression"
+ depends TARGET_ROOTFS_INITRAMFS
+ depends !LINUX_2_6_21
+ depends !LINUX_2_6_25
+ depends !LINUX_2_6_27
+ depends !LINUX_2_6_28
+ default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
+ default TARGET_INITRAMFS_COMPRESSION_NONE
+ help
+ Select ramdisk compression.
+
+ config TARGET_INITRAMFS_COMPRESSION_NONE
+ bool "NONE"
+
+ config TARGET_INITRAMFS_COMPRESSION_GZIP
+ bool "GZIP"
+
+ config TARGET_INITRAMFS_COMPRESSION_BZIP2
+ bool "BZIP2"
+
+ config TARGET_INITRAMFS_COMPRESSION_LZMA
+ bool "LZMA"
+ endchoice
+
config TARGET_ROOTFS_JFFS2
bool "jffs2"
default y if USES_JFFS2
@@ -40,14 +65,14 @@ menu "Target Images"
depends !TARGET_ROOTFS_INITRAMFS
help
Build a compressed tar archive of the the root filesystem
-
+
config TARGET_ROOTFS_CPIOGZ
bool "cpiogz"
default y if USES_CPIOGZ
depends !TARGET_ROOTFS_INITRAMFS
help
Build a compressed cpio archive of the the root filesystem
-
+
config TARGET_ROOTFS_EXT2FS
bool "ext2"
default y if USES_EXT2
@@ -55,12 +80,12 @@ menu "Target Images"
help
Ext2 file system with some free space for uml images
- config TARGET_ROOTFS_ISO
- bool "iso"
- default n
- depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
- help
- Create some bootable ISO image
+ config TARGET_ROOTFS_ISO
+ bool "iso"
+ default n
+ depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
+ help
+ Create some bootable ISO image
comment "Image Options"
@@ -158,11 +183,11 @@ config DEBUG_DIR
This will install all compiled package binaries into build_dir/target-*/debug-*/,
useful for cross-debugging via gdb/gdbserver
-config IPV6
- bool
+config IPV6
+ bool
prompt "Enable IPv6 support in packages"
- default n
- help
+ default n
+ help
Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
comment "Kernel build options"
diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk
index 0ba1e056a6..4266157d26 100644
--- a/include/kernel-defaults.mk
+++ b/include/kernel-defaults.mk
@@ -1,4 +1,4 @@
-#
+#
# Copyright (C) 2006-2007 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
@@ -49,7 +49,7 @@ define Kernel/Prepare/Default
endef
else
define Kernel/Prepare/Default
- git clone --reference $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY) $(CONFIG_KERNEL_GIT_CLONE_URI) $(LINUX_DIR)
+ git clone --reference $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY) $(CONFIG_KERNEL_GIT_CLONE_URI) $(LINUX_DIR)
endef
endif
endif
@@ -67,12 +67,14 @@ ifeq ($(KERNEL),2.6)
ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
define Kernel/SetInitramfs
mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
- grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
+ grep -v -e INITRAMFS -e CONFIG_RD_ $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
echo 'CONFIG_INITRAMFS_SOURCE="$(strip $(TARGET_DIR) $(INITRAMFS_EXTRA_FILES))"' >> $(LINUX_DIR)/.config
echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config
echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config
- echo 'CONFIG_INITRAMFS_COMPRESSION_NONE=y' >> $(LINUX_DIR)/.config
- echo '# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set' >> $(LINUX_DIR)/.config
+ echo "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE),CONFIG_INITRAMFS_COMPRESSION_NONE=y,# CONFIG_INITRAMFS_COMPRESSION_NONE is not set)" >> $(LINUX_DIR)/.config
+ echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),CONFIG_INITRAMFS_COMPRESSION_GZIP=y\nCONFIG_RD_GZIP=y,# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set\n# CONFIG_RD_GZIP is not set)" >> $(LINUX_DIR)/.config
+ echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),CONFIG_INITRAMFS_COMPRESSION_BZIP2=y\nCONFIG_RD_BZIP2=y,# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set\n# CONFIG_RD_BZIP2 is not set)" >> $(LINUX_DIR)/.config
+ echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),CONFIG_INITRAMFS_COMPRESSION_LZMA=y\nCONFIG_RD_LZMA=y,# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set\n# CONFIG_RD_LZMA is not set)" >> $(LINUX_DIR)/.config
endef
else
define Kernel/SetInitramfs