add menuconfig option for selecting initramfs compression

SVN-Revision: 17283
owl
Gabor Juhos 2009-08-16 05:35:34 +00:00
parent 82a092bece
commit e2f5de7a46
2 changed files with 44 additions and 17 deletions

View File

@ -20,6 +20,31 @@ menu "Target Images"
help help
Embed the rootfs into the kernel (initramfs) 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 config TARGET_ROOTFS_JFFS2
bool "jffs2" bool "jffs2"
default y if USES_JFFS2 default y if USES_JFFS2
@ -40,14 +65,14 @@ menu "Target Images"
depends !TARGET_ROOTFS_INITRAMFS depends !TARGET_ROOTFS_INITRAMFS
help help
Build a compressed tar archive of the the root filesystem Build a compressed tar archive of the the root filesystem
config TARGET_ROOTFS_CPIOGZ config TARGET_ROOTFS_CPIOGZ
bool "cpiogz" bool "cpiogz"
default y if USES_CPIOGZ default y if USES_CPIOGZ
depends !TARGET_ROOTFS_INITRAMFS depends !TARGET_ROOTFS_INITRAMFS
help help
Build a compressed cpio archive of the the root filesystem Build a compressed cpio archive of the the root filesystem
config TARGET_ROOTFS_EXT2FS config TARGET_ROOTFS_EXT2FS
bool "ext2" bool "ext2"
default y if USES_EXT2 default y if USES_EXT2
@ -55,12 +80,12 @@ menu "Target Images"
help help
Ext2 file system with some free space for uml images Ext2 file system with some free space for uml images
config TARGET_ROOTFS_ISO config TARGET_ROOTFS_ISO
bool "iso" bool "iso"
default n default n
depends TARGET_ROOTFS_INITRAMFS && TARGET_x86 depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
help help
Create some bootable ISO image Create some bootable ISO image
comment "Image Options" comment "Image Options"
@ -158,11 +183,11 @@ config DEBUG_DIR
This will install all compiled package binaries into build_dir/target-*/debug-*/, This will install all compiled package binaries into build_dir/target-*/debug-*/,
useful for cross-debugging via gdb/gdbserver useful for cross-debugging via gdb/gdbserver
config IPV6 config IPV6
bool bool
prompt "Enable IPv6 support in packages" prompt "Enable IPv6 support in packages"
default n default n
help help
Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts). Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
comment "Kernel build options" comment "Kernel build options"

View File

@ -1,4 +1,4 @@
# #
# Copyright (C) 2006-2007 OpenWrt.org # Copyright (C) 2006-2007 OpenWrt.org
# #
# This is free software, licensed under the GNU General Public License v2. # This is free software, licensed under the GNU General Public License v2.
@ -49,7 +49,7 @@ define Kernel/Prepare/Default
endef endef
else else
define Kernel/Prepare/Default 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 endef
endif endif
endif endif
@ -67,12 +67,14 @@ ifeq ($(KERNEL),2.6)
ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
define Kernel/SetInitramfs define Kernel/SetInitramfs
mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old 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_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_UID=$(shell id -u)' >> $(LINUX_DIR)/.config
echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config
echo 'CONFIG_INITRAMFS_COMPRESSION_NONE=y' >> $(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 '# CONFIG_INITRAMFS_COMPRESSION_LZMA 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 endef
else else
define Kernel/SetInitramfs define Kernel/SetInitramfs