330bd380e8
Instead of embedding the initrd cpio archive into the kernel, allow for having an external ramdisk added to the FIT or uImage. This is useful to overcome kernel size limitations present in many stock bootloaders, as the ramdisk is then loaded seperately and doesn't add to the kernel size. Hence we can have larger ramdisks to host ie. installers with all binaries to flash included (or a web-based firmware selector). In terms of performance and total size the differences are neglectible. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
304 lines
7.6 KiB
Plaintext
304 lines
7.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Copyright (C) 2006-2013 OpenWrt.org
|
|
|
|
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_apm821xx
|
|
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ath79_mikrotik
|
|
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_lantiq
|
|
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_mpc85xx
|
|
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
|
|
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
|
|
depends on !TARGET_ROOTFS_INITRAMFS_SEPERATE
|
|
bool "lzo"
|
|
|
|
config TARGET_INITRAMFS_COMPRESSION_LZ4
|
|
depends on !TARGET_ROOTFS_INITRAMFS_SEPERATE
|
|
bool "lz4"
|
|
|
|
config TARGET_INITRAMFS_COMPRESSION_XZ
|
|
bool "xz"
|
|
|
|
config TARGET_INITRAMFS_COMPRESSION_ZSTD
|
|
depends on !LINUX_5_4 && !LINUX_4_19
|
|
bool "zstd"
|
|
endchoice
|
|
|
|
config EXTERNAL_CPIO
|
|
string
|
|
prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
|
|
default ""
|
|
help
|
|
Kernel uses specified external cpio as INITRAMFS_SOURCE.
|
|
|
|
config TARGET_INITRAMFS_FORCE
|
|
bool "Force"
|
|
depends on TARGET_ROOTFS_INITRAMFS
|
|
default n
|
|
help
|
|
Ignore the initramfs passed by the bootloader.
|
|
|
|
config TARGET_ROOTFS_INITRAMFS_SEPERATE
|
|
bool "seperate ramdisk"
|
|
depends on TARGET_ROOTFS_INITRAMFS && !TARGET_INITRAMFS_FORCE
|
|
default y if USES_SEPERATE_INITRAMFS
|
|
help
|
|
Generate seperate initrd.cpio instead of embedding it.
|
|
This is useful for generating images with a dedicated
|
|
ramdisk e.g. in U-Boot's uImage and uImage.FIT formats.
|
|
|
|
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_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_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 1024 if (SMALL_FLASH && !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_JFFS2 || TARGET_ROOTFS_SQUASHFS
|
|
select PACKAGE_grub2
|
|
default y
|
|
|
|
config GRUB_EFI_IMAGES
|
|
bool "Build GRUB EFI images (Linux x86 or x86_64 host only)"
|
|
depends on TARGET_x86
|
|
depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
|
|
select PACKAGE_grub2
|
|
select PACKAGE_grub2-efi
|
|
select PACKAGE_kmod-fs-vfat
|
|
default y
|
|
|
|
config GRUB_CONSOLE
|
|
bool "Use Console Terminal (in addition to Serial)"
|
|
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
|
|
default y
|
|
|
|
config GRUB_SERIAL
|
|
string "Serial port device"
|
|
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
|
|
default "ttyS0"
|
|
|
|
config GRUB_BAUDRATE
|
|
int "Serial port baud rate"
|
|
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
|
|
default 38400 if TARGET_x86_generic
|
|
default 115200
|
|
|
|
config GRUB_FLOWCONTROL
|
|
bool "Use RTE/CTS on serial console"
|
|
depends on GRUB_SERIAL != ""
|
|
default n
|
|
|
|
config GRUB_BOOTOPTS
|
|
string "Extra kernel boot options"
|
|
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
|
|
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 || GRUB_EFI_IMAGES
|
|
default "5"
|
|
help
|
|
If you don't know, 5 seconds is a reasonable default.
|
|
|
|
config GRUB_TITLE
|
|
string "Title for the menu entry in GRUB"
|
|
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
|
|
default "OpenWrt"
|
|
help
|
|
This is the title of the GRUB menu entry.
|
|
If unspecified, it defaults to OpenWrt.
|
|
|
|
config ISO_IMAGES
|
|
bool "Build LiveCD image (ISO)"
|
|
depends on TARGET_x86
|
|
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
|
|
|
|
config VDI_IMAGES
|
|
bool "Build VirtualBox image files (VDI)"
|
|
depends on TARGET_x86
|
|
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
|
|
select PACKAGE_kmod-e1000
|
|
|
|
config VMDK_IMAGES
|
|
bool "Build VMware image files (VMDK)"
|
|
depends on TARGET_x86
|
|
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
|
|
select PACKAGE_kmod-e1000
|
|
|
|
config TARGET_IMAGES_GZIP
|
|
bool "GZip images"
|
|
depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armvirt || TARGET_malta
|
|
default y
|
|
|
|
comment "Image Options"
|
|
|
|
source "target/linux/*/image/Config.in"
|
|
|
|
config TARGET_KERNEL_PARTSIZE
|
|
int "Kernel partition size (in MB)"
|
|
depends on USES_BOOT_PART
|
|
default 8 if TARGET_apm821xx_sata
|
|
default 64 if TARGET_bcm27xx
|
|
default 16
|
|
|
|
config TARGET_ROOTFS_PARTSIZE
|
|
int "Root filesystem partition size (in MB)"
|
|
depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS || TARGET_omap || TARGET_sunxi || TARGET_uml
|
|
default 104
|
|
help
|
|
Select the root filesystem partition size.
|
|
|
|
config TARGET_ROOTFS_PARTNAME
|
|
string "Root partition on target device"
|
|
depends on GRUB_IMAGES || GRUB_EFI_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
|