openwrtv4/config/Config-images.in
Christian Lamparter 08257a4053 apm821xx: use lzma compression for the initramfs images
The MR24's u-boot takes it sweet time decompressing the
LZMA-packed initramfs image. A user reported that
compared to the old gzip method in v2: it "takes a ton
longer to decompress like 4\x the old boot time for
decompression".

This patch also fixes a issue with the WNDR4700's initramfs
image getting to big and causing the following u-boot crash
during the decompression:

"Uncompressing Multi-File Image ... Error: inflate() returned -5
out-of-mem or overwrite error - must RESET board to recover"

This patch fixes both issues by reverting the MR24's initramfs
compression method back to gzip. And choosing to compress the
initramfs within the initramfs image as LZMA by default.

Cc: chrisrblake93@gmail.com
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2016-07-25 10:38:11 +02:00

275 lines
6.6 KiB
Text

# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
menu "Target Images"
menuconfig TARGET_ROOTFS_INITRAMFS
bool "ramdisk"
default y if USES_INITRAMFS
help
Embed the root filesystem into the kernel (initramfs).
choice
prompt "Compression"
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_apm821xx
default TARGET_INITRAMFS_COMPRESSION_NONE
depends on TARGET_ROOTFS_INITRAMFS
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"
config TARGET_INITRAMFS_COMPRESSION_LZO
bool "lzo"
config TARGET_INITRAMFS_COMPRESSION_LZ4
bool "lz4"
config TARGET_INITRAMFS_COMPRESSION_XZ
bool "xz"
endchoice
config EXTERNAL_CPIO
string
prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
default ""
help
Kernel uses specified external cpio as INITRAMFS_SOURCE.
comment "Root filesystem archives"
config TARGET_ROOTFS_CPIOGZ
bool "cpio.gz"
default y if USES_CPIOGZ
help
Build a compressed cpio archive of the root filesystem.
config TARGET_ROOTFS_TARGZ
bool "tar.gz"
default y if USES_TARGZ
help
Build a compressed tar archive of the root filesystem.
comment "Root filesystem images"
menuconfig TARGET_ROOTFS_EXT4FS
bool "ext4"
default y if USES_EXT4
help
Build an ext4 root filesystem.
config TARGET_EXT4_MAXINODE
int "Maximum number of inodes in root filesystem"
depends on TARGET_ROOTFS_EXT4FS
default 6000
help
Select the maximum number of inodes in the root filesystem.
config TARGET_EXT4_RESERVED_PCT
int "Percentage of reserved blocks in root filesystem"
depends on TARGET_ROOTFS_EXT4FS
default 0
help
Select the percentage of reserved blocks in the root filesystem.
choice
prompt "Root filesystem block size"
default TARGET_EXT4_BLOCKSIZE_4K
depends on TARGET_ROOTFS_EXT4FS
help
Select the block size of the root filesystem.
config TARGET_EXT4_BLOCKSIZE_4K
bool "4k"
config TARGET_EXT4_BLOCKSIZE_2K
bool "2k"
config TARGET_EXT4_BLOCKSIZE_1K
bool "1k"
endchoice
config TARGET_EXT4_BLOCKSIZE
int
default 4096 if TARGET_EXT4_BLOCKSIZE_4K
default 2048 if TARGET_EXT4_BLOCKSIZE_2K
default 1024 if TARGET_EXT4_BLOCKSIZE_1K
depends on TARGET_ROOTFS_EXT4FS
config TARGET_EXT4_JOURNAL
bool "Create a journaling filesystem"
depends on TARGET_ROOTFS_EXT4FS
default n
help
Create an ext4 filesystem with a journal.
config TARGET_ROOTFS_ISO
bool "iso"
default n
depends on TARGET_x86_generic
help
Create a bootable ISO image.
config TARGET_ROOTFS_JFFS2
bool "jffs2"
depends on USES_JFFS2
help
Build a JFFS2 root filesystem.
config TARGET_ROOTFS_JFFS2_NAND
bool "jffs2 for NAND"
default y if USES_JFFS2_NAND
depends on USES_JFFS2_NAND
help
Build a JFFS2 root filesystem for NAND flash.
menuconfig TARGET_ROOTFS_SQUASHFS
bool "squashfs"
default y if USES_SQUASHFS
help
Build a squashfs-lzma root filesystem.
config TARGET_SQUASHFS_BLOCK_SIZE
int "Block size (in KiB)"
depends on TARGET_ROOTFS_SQUASHFS
default 64 if LOW_MEMORY_FOOTPRINT
default 256
menuconfig TARGET_ROOTFS_UBIFS
bool "ubifs"
default y if USES_UBIFS
depends on USES_UBIFS
help
Build a UBIFS root filesystem.
choice
prompt "compression"
default TARGET_UBIFS_COMPRESSION_ZLIB
depends on TARGET_ROOTFS_UBIFS
help
Select compression type
config TARGET_UBIFS_COMPRESSION_NONE
bool "none"
config TARGET_UBIFS_COMPRESSION_LZO
bool "lzo"
config TARGET_UBIFS_COMPRESSION_ZLIB
bool "zlib"
endchoice
config TARGET_UBIFS_FREE_SPACE_FIXUP
bool "free space fixup" if TARGET_ROOTFS_UBIFS
default y
help
The filesystem free space has to be fixed up on first mount.
config TARGET_UBIFS_JOURNAL_SIZE
string
prompt "journal size" if TARGET_ROOTFS_UBIFS
default ""
config GRUB_IMAGES
bool "Build GRUB images (Linux x86 or x86_64 host only)"
depends on TARGET_x86
depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
select PACKAGE_grub2
default y
config GRUB_CONSOLE
bool "Use Console Terminal (in addition to Serial)"
depends on GRUB_IMAGES
default n if (TARGET_x86_generic_Soekris45xx || TARGET_x86_generic_Soekris48xx || TARGET_x86_net5501 || TARGET_x86_geos || TARGET_x86_alix2)
default y
config GRUB_SERIAL
string "Serial port device"
depends on GRUB_IMAGES
default "hvc0" if TARGET_x86_xen_domu
default "ttyS0" if ! TARGET_x86_xen_domu
config GRUB_BAUDRATE
int "Serial port baud rate"
depends on GRUB_IMAGES
default 38400 if TARGET_x86_generic
default 38400 if TARGET_x86_geode
default 115200
config GRUB_BOOTOPTS
string "Extra kernel boot options"
depends on GRUB_IMAGES
default "xencons=hvc" if TARGET_x86_xen_domu
help
If you don't know, just leave it blank.
config GRUB_TIMEOUT
string "Seconds to wait before booting the default entry"
depends on GRUB_IMAGES
default "5"
help
If you don't know, 5 seconds is a reasonable default.
config VDI_IMAGES
bool "Build VirtualBox image files (VDI)"
depends on TARGET_x86 || TARGET_x86_64
select GRUB_IMAGES
select TARGET_IMAGES_PAD
select PACKAGE_kmod-e1000
config VMDK_IMAGES
bool "Build VMware image files (VMDK)"
depends on TARGET_x86 || TARGET_x86_64
select GRUB_IMAGES
select TARGET_IMAGES_PAD
select PACKAGE_kmod-e1000
config TARGET_IMAGES_PAD
bool "Pad images to filesystem size (for JFFS2)"
depends on GRUB_IMAGES
config TARGET_IMAGES_GZIP
bool "GZip images"
depends on TARGET_IMAGES_PAD || TARGET_ROOTFS_EXT4FS
default y
comment "Image Options"
source "target/linux/*/image/Config.in"
config TARGET_KERNEL_PARTSIZE
int "Kernel partition size (in MB)"
depends on GRUB_IMAGES
default 4
config TARGET_ROOTFS_PARTSIZE
int "Root filesystem partition size (in MB)"
depends on GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
default 48
help
Select the root filesystem partition size.
config TARGET_ROOTFS_PARTNAME
string "Root partition on target device"
depends on GRUB_IMAGES
help
Override the root partition on the final device. If left empty,
it will be mounted by PARTUUID which makes the kernel find the
appropriate disk automatically.
endmenu