Config-images.in 8.1 KB

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