summaryrefslogtreecommitdiff
path: root/payloads/external/iPXE/Kconfig
blob: ff25d81957f88690ba5c8804049fc240a7fd5906 (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
## SPDX-License-Identifier: GPL-2.0-only

config PXE
	prompt "Add a PXE ROM"
	def_bool n
	depends on ARCH_X86

if PXE
menu "PXE Options"

choice
	prompt "PXE ROM to use"
	default PXE_ROM

config PXE_ROM
	bool "Add an existing PXE ROM image"
	help
	  Select this option if you have a PXE ROM image that you would
	  like to add to your ROM.

config BUILD_IPXE
	bool "Build and add an iPXE ROM"
	help
	  Select this option to fetch and build a ROM from the iPXE project.

endchoice

config PXE_ROM_FILE
	string "PXE ROM filename"
	depends on PXE_ROM
	default "pxe.rom"
	help
	  The path and filename of the file to use as PXE ROM.

config PXE_ROM_ID
	string "network card PCI IDs"
	default "10ec,8168"
	help
	  The comma-separated PCI vendor and device ID that would associate
	  your PXE ROM to your network card.

	  Example: 10ec,8168

	  In the above example 10ec is the PCI vendor ID (in hex, but without
	  the "0x" prefix) and 8168 specifies the PCI device ID of the
	  network card (also in hex, without "0x" prefix).

	  Under GNU/Linux you can run `lspci -nn` to list the IDs of your PCI devices.

if BUILD_IPXE

choice
	prompt "iPXE version"
	default IPXE_STABLE

config IPXE_STABLE
	bool "2022.1"
	help
	  iPXE uses a rolling release with no stable version, for
	  reproducibility, use the last commit of a given month as the
	  'stable' version.
	  This is iPXE from the end of January, 2022.

config IPXE_MASTER
	bool "master"
	help
	  Newest iPXE version.

endchoice

config IPXE_SERIAL_CONSOLE
	bool "Enable iPXE serial console"
	def_bool y
	help
	  Enable/disable iPXE serial console. Since SeaBIOS supports serial
	  console this option might be helpful to avoid duplicated output.

	  Unselect to let only SeaBIOS handle printing output.

config IPXE_NO_PROMPT
	bool "Do not show prompt to boot from PXE"
	default n
	help
	  Don't wait for the user to press Ctrl-B.
	  The PXE still can be run as it shows up in SeaBIOS's payload list.

config IPXE_ADD_SCRIPT
	bool "Embed an iPXE script for automated provisioning"
	default n
	help
	  Enable to embed a script that is run instead of an iPXE shell.

config IPXE_SCRIPT
	string "Embedded iPXE script path and filename"
	depends on IPXE_ADD_SCRIPT
	default ""
	help
	  Path to a script that is embedded into the iPXE binary.
	  Example: startup.ipxe

	  Uses the ipxe script instead showing the prompt:
	  "Press Ctrl-B to start iPXE..."

config IPXE_HAS_HTTPS
	bool "Enable HTTPS protocol"
	default y
	help
	  Enable HTTPS protocol, which allows you to encrypt all communication
	  with a web server and to verify the server's identity

config IPXE_TRUST_CMD
	bool "Enable TRUST commands"
	default y
	help
	  Enable imgverify and imgtrust commands, which allow you to verify
	  digital signature of file prior loading it, and restrict to loading
	  trusted files only.

endif # BUILD_IPXE

endmenu

endif # PXE