08257a4053
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>
276 lines
6.6 KiB
Plaintext
276 lines
6.6 KiB
Plaintext
# 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
|