x86: generate EFI platform bootable images
[oweals/openwrt.git] / config / Config-images.in
1 # Copyright (C) 2006-2013 OpenWrt.org
2 #
3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
5 #
6
7 menu "Target Images"
8
9         menuconfig TARGET_ROOTFS_INITRAMFS
10                 bool "ramdisk"
11                 default y if USES_INITRAMFS
12                 help
13                   Embed the root filesystem into the kernel (initramfs).
14
15                 choice
16                         prompt "Compression"
17                         default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_apm821xx
18                         default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
19                         default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_lantiq
20                         default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_mpc85xx
21                         default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
22                         default TARGET_INITRAMFS_COMPRESSION_NONE
23                         depends on TARGET_ROOTFS_INITRAMFS
24                         help
25                           Select ramdisk compression.
26
27                         config TARGET_INITRAMFS_COMPRESSION_NONE
28                                 bool "none"
29
30                         config TARGET_INITRAMFS_COMPRESSION_GZIP
31                                 bool "gzip"
32
33                         config TARGET_INITRAMFS_COMPRESSION_BZIP2
34                                 bool "bzip2"
35
36                         config TARGET_INITRAMFS_COMPRESSION_LZMA
37                                 bool "lzma"
38
39                         config TARGET_INITRAMFS_COMPRESSION_LZO
40                                 bool "lzo"
41
42                         config TARGET_INITRAMFS_COMPRESSION_LZ4
43                                 bool "lz4"
44
45                         config TARGET_INITRAMFS_COMPRESSION_XZ
46                                 bool "xz"
47                 endchoice
48
49                 config EXTERNAL_CPIO
50                         string
51                         prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
52                         default ""
53                         help
54                           Kernel uses specified external cpio as INITRAMFS_SOURCE.
55
56                 config TARGET_INITRAMFS_FORCE
57                         bool "Force"
58                         depends on TARGET_ROOTFS_INITRAMFS
59                         default n
60                         help
61                           Ignore the initramfs passed by the bootloader.
62
63         comment "Root filesystem archives"
64
65         config TARGET_ROOTFS_CPIOGZ
66                 bool "cpio.gz"
67                 default y if USES_CPIOGZ
68                 help
69                   Build a compressed cpio archive of the root filesystem.
70
71         config TARGET_ROOTFS_TARGZ
72                 bool "tar.gz"
73                 default y if USES_TARGZ
74                 help
75                   Build a compressed tar archive of the root filesystem.
76
77         comment "Root filesystem images"
78
79         menuconfig TARGET_ROOTFS_EXT4FS
80                 bool "ext4"
81                 default y if USES_EXT4
82                 help
83                   Build an ext4 root filesystem.
84
85                 config TARGET_EXT4_RESERVED_PCT
86                         int "Percentage of reserved blocks in root filesystem"
87                         depends on TARGET_ROOTFS_EXT4FS
88                         default 0
89                         help
90                           Select the percentage of reserved blocks in the root filesystem.
91
92                 choice
93                         prompt "Root filesystem block size"
94                         default TARGET_EXT4_BLOCKSIZE_4K
95                         depends on TARGET_ROOTFS_EXT4FS
96                         help
97                           Select the block size of the root filesystem.
98
99                         config TARGET_EXT4_BLOCKSIZE_4K
100                                 bool "4k"
101
102                         config TARGET_EXT4_BLOCKSIZE_2K
103                                 bool "2k"
104
105                         config TARGET_EXT4_BLOCKSIZE_1K
106                                 bool "1k"
107                 endchoice
108
109                 config TARGET_EXT4_BLOCKSIZE
110                         int
111                         default 4096 if TARGET_EXT4_BLOCKSIZE_4K
112                         default 2048 if TARGET_EXT4_BLOCKSIZE_2K
113                         default 1024 if TARGET_EXT4_BLOCKSIZE_1K
114                         depends on TARGET_ROOTFS_EXT4FS
115
116                 config TARGET_EXT4_JOURNAL
117                         bool "Create a journaling filesystem"
118                         depends on TARGET_ROOTFS_EXT4FS
119                         default n
120                         help
121                           Create an ext4 filesystem with a journal.
122
123         config TARGET_ROOTFS_JFFS2
124                 bool "jffs2"
125                 depends on USES_JFFS2
126                 help
127                   Build a JFFS2 root filesystem.
128
129         config TARGET_ROOTFS_JFFS2_NAND
130                 bool "jffs2 for NAND"
131                 default y if USES_JFFS2_NAND
132                 depends on USES_JFFS2_NAND
133                 help
134                   Build a JFFS2 root filesystem for NAND flash.
135
136         menuconfig TARGET_ROOTFS_SQUASHFS
137                 bool "squashfs"
138                 default y if USES_SQUASHFS
139                 help
140                   Build a squashfs-lzma root filesystem.
141
142                 config TARGET_SQUASHFS_BLOCK_SIZE
143                         int "Block size (in KiB)"
144                         depends on TARGET_ROOTFS_SQUASHFS
145                         default 64 if LOW_MEMORY_FOOTPRINT
146                         default 1024 if (SMALL_FLASH && !LOW_MEMORY_FOOTPRINT)
147                         default 256
148
149         menuconfig TARGET_ROOTFS_UBIFS
150                 bool "ubifs"
151                 default y if USES_UBIFS
152                 depends on USES_UBIFS
153                 help
154                   Build a UBIFS root filesystem.
155
156                 choice
157                         prompt "compression"
158                         default TARGET_UBIFS_COMPRESSION_ZLIB
159                         depends on TARGET_ROOTFS_UBIFS
160                         help
161                           Select compression type
162
163                         config TARGET_UBIFS_COMPRESSION_NONE
164                                 bool "none"
165
166                         config TARGET_UBIFS_COMPRESSION_LZO
167                                 bool "lzo"
168
169                         config TARGET_UBIFS_COMPRESSION_ZLIB
170                                 bool "zlib"
171                 endchoice
172
173                 config TARGET_UBIFS_FREE_SPACE_FIXUP
174                         bool "free space fixup" if TARGET_ROOTFS_UBIFS
175                         default y
176                         help
177                           The filesystem free space has to be fixed up on first mount.
178
179                 config TARGET_UBIFS_JOURNAL_SIZE
180                         string
181                         prompt "journal size" if TARGET_ROOTFS_UBIFS
182                         default ""
183
184         config GRUB_IMAGES
185                 bool "Build GRUB images (Linux x86 or x86_64 host only)"
186                 depends on TARGET_x86
187                 depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
188                 select PACKAGE_grub2
189                 default y
190
191         config GRUB_EFI_IMAGES
192                 bool "Build GRUB EFI images (Linux x86 or x86_64 host only)"
193                 depends on TARGET_x86
194                 depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
195                 select PACKAGE_grub2
196                 select PACKAGE_grub2-efi
197                 select PACKAGE_kmod-fs-vfat
198                 default y
199
200         config GRUB_CONSOLE
201                 bool "Use Console Terminal (in addition to Serial)"
202                 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
203                 default y
204
205         config GRUB_SERIAL
206                 string "Serial port device"
207                 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
208                 default "ttyS0"
209
210         config GRUB_BAUDRATE
211                 int "Serial port baud rate"
212                 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
213                 default 38400 if TARGET_x86_generic
214                 default 115200
215
216         config GRUB_FLOWCONTROL
217                 bool "Use RTE/CTS on serial console"
218                 depends on GRUB_SERIAL != ""
219                 default n
220
221         config GRUB_BOOTOPTS
222                 string "Extra kernel boot options"
223                 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
224                 help
225                   If you don't know, just leave it blank.
226
227         config GRUB_TIMEOUT
228                 string "Seconds to wait before booting the default entry"
229                 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
230                 default "5"
231                 help
232                   If you don't know, 5 seconds is a reasonable default.
233
234         config GRUB_TITLE
235                 string "Title for the menu entry in GRUB"
236                 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
237                 default "OpenWrt"
238                 help
239                   This is the title of the GRUB menu entry.
240                   If unspecified, it defaults to OpenWrt.
241
242         config ISO_IMAGES
243                 bool "Build LiveCD image (ISO)"
244                 depends on TARGET_x86
245                 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
246
247         config VDI_IMAGES
248                 bool "Build VirtualBox image files (VDI)"
249                 depends on TARGET_x86
250                 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
251                 select PACKAGE_kmod-e1000
252
253         config VMDK_IMAGES
254                 bool "Build VMware image files (VMDK)"
255                 depends on TARGET_x86
256                 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
257                 select PACKAGE_kmod-e1000
258
259         config TARGET_IMAGES_GZIP
260                 bool "GZip images"
261                 depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armvirt || TARGET_malta
262                 default y
263
264         comment "Image Options"
265
266         source "target/linux/*/image/Config.in"
267
268         config TARGET_KERNEL_PARTSIZE
269                 int "Kernel partition size (in MB)"
270                 depends on USES_BOOT_PART
271                 default 8 if TARGET_apm821xx_sata
272                 default 64 if TARGET_bcm27xx
273                 default 16
274
275         config TARGET_ROOTFS_PARTSIZE
276                 int "Root filesystem partition size (in MB)"
277                 depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS || TARGET_omap || TARGET_rb532 || TARGET_sunxi || TARGET_uml
278                 default 104
279                 help
280                   Select the root filesystem partition size.
281
282         config TARGET_ROOTFS_PARTNAME
283                 string "Root partition on target device"
284                 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
285                 help
286                   Override the root partition on the final device. If left empty,
287                   it will be mounted by PARTUUID which makes the kernel find the
288                   appropriate disk automatically.
289
290 endmenu