summaryrefslogtreecommitdiff
path: root/payloads/external/iPXE/Kconfig
blob: 163613803923d4cb4c579cccd34898ed63733ebc (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
##
## This file is part of the coreboot project.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; version 2 of the License.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##

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

choice
	prompt "iPXE version"
	default IPXE_STABLE
	depends on BUILD_IPXE

config IPXE_STABLE
	bool "2019.3"
	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 March, 2019.

config IPXE_MASTER
	bool "master"
	help
	  Newest iPXE version.

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.

config PXE_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 PXE_NO_PROMT
	bool "Do not show prompt to boot from PXE"
	default n
	depends on BUILD_IPXE
	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 PXE_ADD_SCRIPT
	bool "Embed an iPXE script for automated provisioning"
	depends on BUILD_IPXE
	default n
	help
	  Enable to embed a script that is run instead of an iPXE shell.

config PXE_SCRIPT
	string "Embedded iPXE script path and filename"
	depends on PXE_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 PXE_HAS_HTTPS
	bool "Enable HTTPS protocol"
	default y
	depends on BUILD_IPXE
	help
	  Enable HTTPS protocol, which allows you to encrypt all communication
	  with a web server and to verify the server's identity

endmenu
endif