Skip to content

Commit bbe2c91

Browse files
committed
edk2: add Dasharo options to build
Signed-off-by: Michał Kopeć <[email protected]>
1 parent 9e0585e commit bbe2c91

File tree

1 file changed

+230
-15
lines changed

1 file changed

+230
-15
lines changed

payloads/external/edk2/Makefile

Lines changed: 230 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,210 @@ ifeq ($(CONFIG_EDK2_DISABLE_TPM),y)
138138
BUILD_STR += -D TPM_ENABLE=FALSE
139139
endif
140140

141+
#
142+
# The Dasharo repository has the following additional options:
143+
#
144+
145+
# ABOVE_4G_MEMORY = TRUE
146+
ifneq ($(CONFIG_EDK2_ABOVE_4G_MEMORY),y)
147+
BUILD_STR += -D ABOVE_4G_MEMORY=FALSE
148+
endif
149+
# PcdSerialRedirectionDefaultState = FALSE
150+
ifeq ($(CONFIG_EDK2_DASHARO_SERIAL_REDIRECTION_DEFAULT_ENABLE),y)
151+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdSerialRedirectionDefaultState=TRUE
152+
endif
153+
# SERIAL_TERMINAL = FALSE
154+
ifeq ($(CONFIG_EDK2_SERIAL_SUPPORT),y)
155+
BUILD_STR += -D DISABLE_SERIAL_TERMINAL=TRUE
156+
ifeq ($(CONFIG_EDK2_HAVE_2ND_UART),y)
157+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdHave2ndUart=TRUE
158+
ifeq ($(CONFIG_EDK2_DASHARO_SERIAL_REDIRECTION2_DEFAULT_ENABLE),y)
159+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdSerialRedirection2DefaultState=TRUE
160+
endif
161+
endif # CONFIG_EDK2_HAVE_2ND_UART
162+
endif # SERIAL_TERMINAL
163+
# PS2_KEYBOARD_ENABLE = FALSE
164+
ifeq ($(CONFIG_EDK2_PS2_SUPPORT),y)
165+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowPs2Option=TRUE
166+
# SKIP_PS2_DETECT = FALSE
167+
ifeq ($(CONFIG_EDK2_SKIP_PS2_DETECT),y)
168+
BUILD_STR += --pcd gUefiPayloadPkgTokenSpaceGuid.PcdSkipPs2Detect=TRUE
169+
endif # SKIP_PS2_DETECT
170+
else
171+
BUILD_STR += --pcd gUefiPayloadPkgTokenSpaceGuid.PcdSkipPs2Detect=TRUE
172+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowPs2Option=FALSE
173+
endif # PS2_KEYBOARD_ENABLE
174+
# SYSTEM76_EC_LOGGING = FALSE
175+
ifeq ($(CONFIG_EDK2_SYSTEM76_EC_LOGGING),y)
176+
BUILD_STR += -D SYSTEM76_EC_LOGGING=TRUE
177+
endif
178+
# NETWORK_IPXE = FALSE
179+
ifeq ($(CONFIG_EDK2_IPXE),y)
180+
BUILD_STR += -D NETWORK_IPXE=TRUE
181+
BUILD_STR += --pcd gUefiPayloadPkgTokenSpaceGuid.PcdiPXEOptionName=L"$(CONFIG_EDK2_IPXE_OPTION_NAME)"
182+
endif
183+
# SECURE_BOOT_DEFAULT_ENABLE = TRUE
184+
ifneq ($(CONFIG_EDK2_SECURE_BOOT_DEFAULT_ENABLE),y)
185+
BUILD_STR += -D SECURE_BOOT_DEFAULT_ENABLE=FALSE
186+
endif
187+
# SATA_PASSWORD_ENABLE = TRUE
188+
ifeq ($(CONFIG_EDK2_SATA_PASSWORD),y)
189+
BUILD_STR += -D SATA_PASSWORD_ENABLE=TRUE
190+
endif
191+
# OPAL_PASSWORD_ENABLE = TRUE
192+
ifeq ($(CONFIG_EDK2_OPAL_PASSWORD),y)
193+
BUILD_STR += -D OPAL_PASSWORD_ENABLE=TRUE
194+
endif
195+
# SETUP_PASSWORD_ENABLE = FALSE
196+
ifeq ($(CONFIG_EDK2_SETUP_PASSWORD),y)
197+
BUILD_STR += -D SETUP_PASSWORD_ENABLE=TRUE
198+
endif
199+
# NETWORK_LAN_ROM = FALSE
200+
ifneq ($(CONFIG_EDK2_LAN_ROM_DRIVER),)
201+
BUILD_STR += -D NETWORK_LAN_ROM=TRUE
202+
endif
203+
# DISABLE_MTRR_PROGRAMMING = TRUE
204+
ifneq ($(CONFIG_EDK2_DISABLE_MTRR_PROGRAMMING),y)
205+
BUILD_STR += -D DISABLE_MTRR_PROGRAMMING=FALSE
206+
endif
207+
# IOMMU_ENABLE = FALSE
208+
ifeq ($(CONFIG_IOMMU_ENABLE),y)
209+
BUILD_STR += -D IOMMU_ENABLE=TRUE
210+
endif
211+
# DASHARO_SYSTEM_FEATURES = FALSE
212+
ifeq ($(CONFIG_EDK2_DASHARO_SYSTEM_FEATURES),y)
213+
BUILD_STR += -D DASHARO_SYSTEM_FEATURES_ENABLE=TRUE
214+
endif
215+
# DASHARO_SECURITY_OPTIONS = FALSE
216+
ifeq ($(CONFIG_EDK2_DASHARO_SECURITY_OPTIONS),y)
217+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowSecurityMenu=TRUE
218+
endif
219+
# DASHARO_INTEL_ME_OPTIONS = FALSE
220+
ifeq ($(CONFIG_EDK2_DASHARO_INTEL_ME_OPTIONS),y)
221+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowIntelMeMenu=TRUE
222+
endif
223+
# DASHARO_NETWORK_CONFIG = FALSE
224+
ifeq ($(CONFIG_EDK2_DASHARO_NETWORK_CONFIG),y)
225+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowNetworkMenu=TRUE
226+
endif
227+
# DASHARO_USB_CONFIG = FALSE
228+
ifeq ($(CONFIG_EDK2_DASHARO_USB_CONFIG),y)
229+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowUsbMenu=TRUE
230+
endif
231+
# DASHARO_CHIPSET_CONFIG = FALSE
232+
ifeq ($(CONFIG_EDK2_DASHARO_CHIPSET_CONFIG),y)
233+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowChipsetMenu=TRUE
234+
endif
235+
# Always set the default power failure state to some value
236+
ifeq ($(CONFIG_HAVE_POWER_STATE_AFTER_FAILURE),y)
237+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdDefaultPowerFailureState=$(CONFIG_MAINBOARD_POWER_FAILURE_STATE)
238+
else
239+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdDefaultPowerFailureState=0
240+
endif
241+
# DASHARO_POWER_CONFIG = FALSE
242+
ifeq ($(CONFIG_EDK2_DASHARO_POWER_CONFIG),y)
243+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowPowerMenu=TRUE
244+
245+
ifneq ($(CONFIG_EDK2_SLEEP_TYPE_OPTION),y)
246+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdPowerMenuShowSleepType=FALSE
247+
endif # CONFIG_EDK2_SLEEP_TYPE_OPTION
248+
249+
ifeq ($(CONFIG_EDK2_FAN_CURVE_OPTION),y)
250+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdPowerMenuShowFanCurve=TRUE
251+
endif # CONFIG_EDK2_FAN_CURVE_OPTION
252+
253+
ifeq ($(CONFIG_EDK2_BATTERY_CONFIG_OPTION),y)
254+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdPowerMenuShowBatteryThresholds=TRUE
255+
endif
256+
257+
endif # CONFIG_EDK2_DASHARO_POWER_CONFIG
258+
# DASHARO_PCI_CONFIG = FALSE
259+
ifeq ($(CONFIG_EDK2_DASHARO_PCI_CONFIG),y)
260+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowPciMenu=TRUE
261+
endif
262+
# DASHARO_MEMORY_CONFIG = FALSE
263+
ifeq ($(CONFIG_EDK2_DASHARO_MEMORY_CONFIG),y)
264+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowMemoryMenu=TRUE
265+
endif
266+
# DASHARO_NETWORK_BOOT_DEFAULT_ENABLE = FALSE
267+
ifeq ($(CONFIG_EDK2_DASHARO_NETWORK_BOOT_DEFAULT_ENABLE),y)
268+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdDefaultNetworkBootEnable=TRUE
269+
endif
270+
ifeq ($(CONFIG_EDK2_DASHARO_OC_WDT_ENABLE),y)
271+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowOcWdtOptions=TRUE
272+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdOcWdtTimeoutDefault=$(CONFIG_EDK2_DASHARO_OC_WDT_TIMEOUT)
273+
endif
274+
# PCIEXP_SUPPORT_RESIZABLE_BARS = FALSE
275+
ifeq ($(CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS),y)
276+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdPciMenuShowResizeableBars=TRUE
277+
endif
278+
# BATTERY_CHECK = FALSE
279+
ifeq ($(CONFIG_EDK2_ENABLE_BATTERY_CHECK),y)
280+
BUILD_STR += -D BATTERY_CHECK=TRUE
281+
endif
282+
# LOAD_OPTION_ROMS = TRUE
283+
ifeq ($(CONFIG_EDK2_DISABLE_OPTION_ROMS),y)
284+
BUILD_STR += -D LOAD_OPTION_ROMS=FALSE
285+
endif
286+
# PRINT_SOL_STRINGS = FALSE
287+
ifeq ($(CONFIG_EDK2_PRINT_SOL_STRINGS),y)
288+
BUILD_STR += --pcd gUefiPayloadPkgTokenSpaceGuid.PcdPrintSolStrings=TRUE
289+
endif
290+
# CREATE_PREINSTALLED_BOOT_OPTIONS = FALSE
291+
ifeq ($(CONFIG_EDK2_CREATE_PREINSTALLED_BOOT_OPTIONS),y)
292+
BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdCreatePreInstalledBootOptions=TRUE
293+
endif
294+
# SHOW_CAMERA_OPTION = FALSE
295+
ifeq ($(CONFIG_EDK2_SHOW_CAMERA_OPTION),y)
296+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdSecurityShowCameraOption=TRUE
297+
endif
298+
# SHOW_WIFI_BT_OPTION = FALSE
299+
ifeq ($(CONFIG_EDK2_SHOW_WIFI_BT_OPTION),y)
300+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdSecurityShowWiFiBtOption=TRUE
301+
endif
302+
# PERFORMANCE_MEASUREMENT_ENABLE = FALSE
303+
ifeq ($(CONFIG_EDK2_PERFORMANCE_MEASUREMENT_ENABLE),y)
304+
BUILD_STR += -D PERFORMANCE_MEASUREMENT_ENABLE=TRUE
305+
endif
306+
ifneq ($(CONFIG_HAVE_INTEL_ME_HAP),y)
307+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdIntelMeHapAvailable=FALSE
308+
endif
309+
ifneq ($(CONFIG_INTEL_ME_DEFAULT_STATE),)
310+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdIntelMeDefaultState=$(CONFIG_INTEL_ME_DEFAULT_STATE)
311+
endif
312+
# RAM_DISK_ENABLE = FALSE
313+
ifeq ($(CONFIG_EDK2_RAM_DISK_ENABLE),y)
314+
BUILD_STR += -D RAM_DISK_ENABLE=TRUE
315+
endif
316+
# APU_CONFIG_ENABLE = FALSE
317+
ifeq ($(CONFIG_VENDOR_PCENGINES),y)
318+
BUILD_STR += -D APU_CONFIG_ENABLE=TRUE
319+
endif
320+
321+
BUILD_STR += -D BOOT_MENU_KEY=$(CONFIG_EDK2_BOOT_MENU_KEY)
322+
BUILD_STR += -D SETUP_MENU_KEY=$(CONFIG_EDK2_SETUP_MENU_KEY)
323+
324+
# PcdShowLockBios = FALSE
325+
ifeq ($(CONFIG_EDK2_ENABLE_BIOS_LOCK),y)
326+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowLockBios=TRUE
327+
endif
328+
# PcdShowSmmBwp = FALSE
329+
ifeq ($(CONFIG_EDK2_ENABLE_SMM_BWP),y)
330+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowSmmBwp=TRUE
331+
endif
332+
# PcdSleepTypeDefaultS3 = FALSE
333+
ifeq ($(CONFIG_EDK2_S3_SLEEP_DEFAULT),y)
334+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdSleepTypeDefaultS3=TRUE
335+
endif
336+
# PcdShowFum = TRUE
337+
ifneq ($(CONFIG_EDK2_ENABLE_FUM),y)
338+
BUILD_STR += --pcd gDasharoSystemFeaturesTokenSpaceGuid.PcdShowFum=FALSE
339+
endif
340+
# UART_ON_SUPERIO = FALSE
341+
ifeq ($(CONFIG_EDK2_SERIAL_ON_SUPERIO),y)
342+
BUILD_STR += -D UART_ON_SUPERIO=TRUE
343+
endif
344+
141345
endif
142346

143347
#
@@ -184,7 +388,8 @@ $(EDK2_PATH): $(WORKSPACE)
184388
git clone --recurse-submodules $(CONFIG_EDK2_REPOSITORY) $(EDK2_PATH) -j5; \
185389
fi
186390
cd $(EDK2_PATH); \
187-
git checkout MdeModulePkg/Logo/Logo.bmp > /dev/null 2>&1 || true; \
391+
git reset --hard HEAD > /dev/null 2>&1 || true; \
392+
git clean -df > /dev/null 2>&1 || true; \
188393
if [ -e UefiPayloadPkg/ShimLayer/UniversalPayload.o ]; then \
189394
rm UefiPayloadPkg/ShimLayer/UniversalPayload.o; \
190395
fi; \
@@ -206,10 +411,10 @@ $(EDK2_PATH): $(WORKSPACE)
206411
logo: $(EDK2_PATH)
207412
case "$(CONFIG_EDK2_BOOTSPLASH_FILE)" in \
208413
"") ;; \
209-
/*) convert -background None $(CONFIG_EDK2_BOOTSPLASH_FILE) \
210-
BMP3:$(EDK2_PATH)/MdeModulePkg/Logo/Logo.bmp;; \
211-
*) convert -background None $(top)/$(CONFIG_EDK2_BOOTSPLASH_FILE) \
212-
BMP3:$(EDK2_PATH)/MdeModulePkg/Logo/Logo.bmp;; \
414+
/*) cp $(CONFIG_EDK2_BOOTSPLASH_FILE) \
415+
$(EDK2_PATH)/MdeModulePkg/Logo/Logo.bmp;; \
416+
*) cp $(top)/$(CONFIG_EDK2_BOOTSPLASH_FILE) \
417+
$(EDK2_PATH)/MdeModulePkg/Logo/Logo.bmp;; \
213418
esac \
214419

215420
gop_driver:
@@ -219,6 +424,25 @@ gop_driver:
219424
cp $(top)/$(CONFIG_INTEL_GMA_VBT_FILE) $(EDK2_PATH)/UefiPayloadPkg/vbt.bin; \
220425
fi; \
221426

427+
lan_rom: $(EDK2_PATH)
428+
case "$(CONFIG_EDK2_LAN_ROM_DRIVER)" in \
429+
"") ;; \
430+
/*) mkdir -p $(EDK2_PATH)/UefiPayloadPkg/NetworkDrivers/; \
431+
cp $(CONFIG_EDK2_LAN_ROM_DRIVER) \
432+
$(EDK2_PATH)/UefiPayloadPkg/NetworkDrivers/LanRom.efi;; \
433+
*) mkdir -p $(EDK2_PATH)/UefiPayloadPkg/NetworkDrivers/; \
434+
cp $(top)/$(CONFIG_EDK2_LAN_ROM_DRIVER) \
435+
$(EDK2_PATH)/UefiPayloadPkg/NetworkDrivers/LanRom.efi;; \
436+
esac \
437+
438+
ipxe_rom: $(EDK2_PATH)
439+
if [ "$(CONFIG_EDK2_IPXE)" == "y" ]; then \
440+
echo " Including externally built iPXE"; \
441+
mkdir -p $(EDK2_PATH)/UefiPayloadPkg/NetworkDrivers/; \
442+
cp $(top)/payloads/external/iPXE/ipxe/ipxe.rom \
443+
$(EDK2_PATH)/UefiPayloadPkg/NetworkDrivers/ipxe.efi; \
444+
fi \
445+
222446
checktools:
223447
echo -n "EDK2: Checking uuid-dev:"
224448
echo "#include <uuid/uuid.h>" > libtest.c
@@ -230,15 +454,6 @@ checktools:
230454
echo -n "EDK2: Checking nasm:"
231455
type nasm > /dev/null 2>&1 && echo " Found!" || \
232456
( echo " Not found!"; echo "ERROR: Please install nasm."; exit 1 )
233-
echo -n "EDK2: Checking imagemagick:"
234-
-convert -size 1x1 xc: test.png &> /dev/null;
235-
if [ -f test.png ]; then \
236-
rm test.png && echo " Found!"; \
237-
else \
238-
echo " Not found!"; \
239-
echo "ERROR: Please install imagemagick"; \
240-
exit 1; \
241-
fi
242457

243458
print:
244459
echo " ##### $(project_name) Build Summary #####"
@@ -256,7 +471,7 @@ print:
256471
-e 's/s /Build: Silent/' \
257472
-e 's/t /Toolchain: /'
258473

259-
prep: $(EDK2_PATH) $(EDK2_PLATFORMS_PATH) clean checktools logo gop_driver
474+
prep: $(EDK2_PATH) $(EDK2_PLATFORMS_PATH) clean checktools logo gop_driver lan_rom ipxe_rom
260475
cd $(WORKSPACE); \
261476
source $(EDK2_PATH)/edksetup.sh; \
262477
unset CC; $(MAKE) -C $(EDK2_PATH)/BaseTools 2>&1; \

0 commit comments

Comments
 (0)