1 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2006-2013 OpenWrt.org
7 menuconfig TARGET_ROOTFS_INITRAMFS
9 default y if USES_INITRAMFS
11 Embed the root filesystem into the kernel (initramfs).
15 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_apm821xx
16 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ath79_mikrotik
17 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_lantiq
18 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_mpc85xx
19 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
20 default TARGET_INITRAMFS_COMPRESSION_NONE
21 depends on TARGET_ROOTFS_INITRAMFS
23 Select ramdisk compression.
25 config TARGET_INITRAMFS_COMPRESSION_NONE
28 config TARGET_INITRAMFS_COMPRESSION_GZIP
31 config TARGET_INITRAMFS_COMPRESSION_BZIP2
34 config TARGET_INITRAMFS_COMPRESSION_LZMA
37 config TARGET_INITRAMFS_COMPRESSION_LZO
40 config TARGET_INITRAMFS_COMPRESSION_LZ4
43 config TARGET_INITRAMFS_COMPRESSION_XZ
46 config TARGET_INITRAMFS_COMPRESSION_ZSTD
47 depends on !LINUX_5_4 && !LINUX_4_19
53 prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
56 Kernel uses specified external cpio as INITRAMFS_SOURCE.
58 config TARGET_INITRAMFS_FORCE
60 depends on TARGET_ROOTFS_INITRAMFS
63 Ignore the initramfs passed by the bootloader.
65 comment "Root filesystem archives"
67 config TARGET_ROOTFS_CPIOGZ
69 default y if USES_CPIOGZ
71 Build a compressed cpio archive of the root filesystem.
73 config TARGET_ROOTFS_TARGZ
75 default y if USES_TARGZ
77 Build a compressed tar archive of the root filesystem.
79 comment "Root filesystem images"
81 menuconfig TARGET_ROOTFS_EXT4FS
83 default y if USES_EXT4
85 Build an ext4 root filesystem.
87 config TARGET_EXT4_RESERVED_PCT
88 int "Percentage of reserved blocks in root filesystem"
89 depends on TARGET_ROOTFS_EXT4FS
92 Select the percentage of reserved blocks in the root filesystem.
95 prompt "Root filesystem block size"
96 default TARGET_EXT4_BLOCKSIZE_4K
97 depends on TARGET_ROOTFS_EXT4FS
99 Select the block size of the root filesystem.
101 config TARGET_EXT4_BLOCKSIZE_4K
104 config TARGET_EXT4_BLOCKSIZE_2K
107 config TARGET_EXT4_BLOCKSIZE_1K
111 config TARGET_EXT4_BLOCKSIZE
113 default 4096 if TARGET_EXT4_BLOCKSIZE_4K
114 default 2048 if TARGET_EXT4_BLOCKSIZE_2K
115 default 1024 if TARGET_EXT4_BLOCKSIZE_1K
116 depends on TARGET_ROOTFS_EXT4FS
118 config TARGET_EXT4_JOURNAL
119 bool "Create a journaling filesystem"
120 depends on TARGET_ROOTFS_EXT4FS
123 Create an ext4 filesystem with a journal.
125 config TARGET_ROOTFS_JFFS2
127 depends on USES_JFFS2
129 Build a JFFS2 root filesystem.
131 config TARGET_ROOTFS_JFFS2_NAND
132 bool "jffs2 for NAND"
133 default y if USES_JFFS2_NAND
134 depends on USES_JFFS2_NAND
136 Build a JFFS2 root filesystem for NAND flash.
138 menuconfig TARGET_ROOTFS_SQUASHFS
140 default y if USES_SQUASHFS
142 Build a squashfs-lzma root filesystem.
144 config TARGET_SQUASHFS_BLOCK_SIZE
145 int "Block size (in KiB)"
146 depends on TARGET_ROOTFS_SQUASHFS
147 default 64 if LOW_MEMORY_FOOTPRINT
148 default 1024 if (SMALL_FLASH && !LOW_MEMORY_FOOTPRINT)
151 menuconfig TARGET_ROOTFS_UBIFS
153 default y if USES_UBIFS
154 depends on USES_UBIFS
156 Build a UBIFS root filesystem.
160 default TARGET_UBIFS_COMPRESSION_ZLIB
161 depends on TARGET_ROOTFS_UBIFS
163 Select compression type
165 config TARGET_UBIFS_COMPRESSION_NONE
168 config TARGET_UBIFS_COMPRESSION_LZO
171 config TARGET_UBIFS_COMPRESSION_ZLIB
175 config TARGET_UBIFS_FREE_SPACE_FIXUP
176 bool "free space fixup" if TARGET_ROOTFS_UBIFS
179 The filesystem free space has to be fixed up on first mount.
181 config TARGET_UBIFS_JOURNAL_SIZE
183 prompt "journal size" if TARGET_ROOTFS_UBIFS
187 bool "Build GRUB images (Linux x86 or x86_64 host only)"
188 depends on TARGET_x86
189 depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
193 config GRUB_EFI_IMAGES
194 bool "Build GRUB EFI images (Linux x86 or x86_64 host only)"
195 depends on TARGET_x86
196 depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
198 select PACKAGE_grub2-efi
199 select PACKAGE_kmod-fs-vfat
203 bool "Use Console Terminal (in addition to Serial)"
204 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
208 string "Serial port device"
209 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
213 int "Serial port baud rate"
214 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
215 default 38400 if TARGET_x86_generic
218 config GRUB_FLOWCONTROL
219 bool "Use RTE/CTS on serial console"
220 depends on GRUB_SERIAL != ""
224 string "Extra kernel boot options"
225 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
227 If you don't know, just leave it blank.
230 string "Seconds to wait before booting the default entry"
231 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
234 If you don't know, 5 seconds is a reasonable default.
237 string "Title for the menu entry in GRUB"
238 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
241 This is the title of the GRUB menu entry.
242 If unspecified, it defaults to OpenWrt.
245 bool "Build LiveCD image (ISO)"
246 depends on TARGET_x86
247 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
250 bool "Build VirtualBox image files (VDI)"
251 depends on TARGET_x86
252 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
253 select PACKAGE_kmod-e1000
256 bool "Build VMware image files (VMDK)"
257 depends on TARGET_x86
258 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
259 select PACKAGE_kmod-e1000
261 config TARGET_IMAGES_GZIP
263 depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armvirt || TARGET_malta
266 comment "Image Options"
268 source "target/linux/*/image/Config.in"
270 config TARGET_KERNEL_PARTSIZE
271 int "Kernel partition size (in MB)"
272 depends on USES_BOOT_PART
273 default 8 if TARGET_apm821xx_sata
274 default 64 if TARGET_bcm27xx
277 config TARGET_ROOTFS_PARTSIZE
278 int "Root filesystem partition size (in MB)"
279 depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS || TARGET_omap || TARGET_sunxi || TARGET_uml
282 Select the root filesystem partition size.
284 config TARGET_ROOTFS_PARTNAME
285 string "Root partition on target device"
286 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
288 Override the root partition on the final device. If left empty,
289 it will be mounted by PARTUUID which makes the kernel find the
290 appropriate disk automatically.