summaryrefslogtreecommitdiffstats
path: root/config/Config-images.in
blob: 47f3dfc0d9603f6e100db42d03cf49dc17e6d0ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
# 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_ZSTD if TARGET_qualcommax
			default TARGET_INITRAMFS_COMPRESSION_XZ if USES_SEPARATE_INITRAMFS
			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"

			config TARGET_INITRAMFS_COMPRESSION_ZSTD
				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
			help
			  Ignore the initramfs passed by the bootloader.

		config TARGET_ROOTFS_INITRAMFS_SEPARATE
			bool "separate ramdisk"
			depends on USES_SEPARATE_INITRAMFS && TARGET_ROOTFS_INITRAMFS && !TARGET_INITRAMFS_FORCE
			default y if USES_SEPARATE_INITRAMFS
			help
			  Generate separate 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 y
			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 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
			help
			  Select squashfs block size, must be one of:
			    4, 8, 16, 32, 64, 128, 256, 512, 1024

	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
		select PACKAGE_grub2-bios-setup
		default y

	config GRUB_EFI_IMAGES
		bool "Build GRUB EFI images"
		depends on TARGET_x86 || TARGET_armsr || TARGET_loongarch64
		depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
		select PACKAGE_grub2 if TARGET_x86
		select PACKAGE_grub2-efi if TARGET_x86
		select PACKAGE_grub2-bios-setup if TARGET_x86
		select PACKAGE_grub2-efi-arm if TARGET_armsr
		select PACKAGE_grub2-efi-loongarch64 if TARGET_loongarch64
		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_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_IMAGES || GRUB_EFI_IMAGES
		depends on TARGET_SERIAL != ""

	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 || TARGET_armsr
		depends on GRUB_IMAGES || GRUB_EFI_IMAGES
		select PACKAGE_kmod-e1000

	config VHDX_IMAGES
		bool "Build Hyper-V image files (VHDX)"
		depends on TARGET_x86
		depends on GRUB_IMAGES || GRUB_EFI_IMAGES
		select PACKAGE_kmod-e1000

	config TARGET_SERIAL
		string "Serial port device"
		depends on TARGET_x86 || TARGET_armsr || TARGET_loongarch64
		default "ttyS0"

	config TARGET_IMAGES_GZIP
		bool "GZip images"
		depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armsr || TARGET_malta || TARGET_loongarch64
		default y

	comment "Image Options"

	source "target/linux/*/image/Config.in"
	source "target/linux/*/*/image/Config.in"

	config TARGET_KERNEL_PARTSIZE
		int "Kernel partition size (in MiB)"
		depends on USES_BOOT_PART
		default 8 if TARGET_apm821xx_sata
		default 64 if TARGET_bcm27xx
		default 128 if TARGET_armsr
		default 16

	config TARGET_ROOTFS_PARTSIZE
		int "Root filesystem partition size (in MiB)"
		depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS
		default 232 if TARGET_loongarch64
		default 448 if TARGET_mediatek
		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.

	config TARGET_ROOTFS_PERSIST_VAR
		bool "Make /var persistent"
		help
		  Do not symlink /var to /tmp, so that its content will persist
		  across reboots. When enabled, /var/run will still be linked
		  to /tmp/run.

endmenu