diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper
index 9bcc693392f574f6306772369d3a53d26d2d5e27..dd4a3b192c59509e25bd20db2c4bea57fef62ce8 100755
--- a/resources/scripts/build/boot/roms_helper
+++ b/resources/scripts/build/boot/roms_helper
@@ -217,7 +217,8 @@ fi
 
 if [ ! -f "${seavgabiosrom}" ] \
 		|| [ ! -f payload/seabios/seabios_libgfxinit.elf ] \
-		|| [ ! -f payload/seabios/seabios_vgarom.elf ]; then
+		|| [ ! -f payload/seabios/seabios_vgarom.elf ] \
+		|| [ ! -f payload/seabios/seabios_normal.elf ]; then
 	if [ "${payload_seabios}" = "y" ]; then
 		./build payload seabios
 	elif [ "${payload_grub}" = "y" ] \
@@ -361,14 +362,7 @@ make_seabios_rom() {
 	target_opromloadonly="${3}" # 0 or 1. if 1, only load but don't execute oproms
 	target_initmode="${4}" # e.g. libgfxinit
 
-	if [ "${target_initmode}" = "normal" ]; then
-		target_seabioself="payload/seabios/seabios_vgarom.elf"
-		# if normal, etc/pci-optionrom-exec will be set to 2
-	else
-		target_seabioself="payload/seabios/seabios_${target_initmode}.elf"
-		# if libgfxinit, etc/pci-optionrom-exec will be set to 2
-		# if vgarom, etc/pci-optionrom-exec will be set to 0
-	fi
+	target_seabioself="payload/seabios/seabios_${target_initmode}.elf"
 	target_seavgabios_rom="payload/seabios/seavgabios.bin"
 
 	tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX)
@@ -378,7 +372,7 @@ make_seabios_rom() {
 	"${cbfstool}" "${tmprom}" add-int -i 3000 -n etc/ps2-keyboard-spinup || exit 1
 	if [ "${target_initmode}" = "normal" ] || [ "${target_initmode}" = "libgfxinit" ]; then
 		"${cbfstool}" "${tmprom}" add-int -i 2 -n etc/pci-optionrom-exec || exit 1
-	elif [ "${target_initmode}" = "vgarom" ]; then
+	elif [ "${target_initmode}" = "vgarom" ]; then # coreboot executes the rom
 		"${cbfstool}" "${tmprom}" add-int -i 0 -n etc/pci-optionrom-exec || exit 1
 	fi # for undefined modes, don't add this integer. rely on SeaBIOS defaults
 	"${cbfstool}" "${tmprom}" add-int -i 0 -n etc/optionroms-checksum || exit 1
diff --git a/resources/scripts/build/payload/seabios b/resources/scripts/build/payload/seabios
index af2840d8e4a9e308af6cbe6baf4a0163d12d0bc7..4a7ba626bf4831d5501fddf1514287cb2ba21be6 100755
--- a/resources/scripts/build/payload/seabios
+++ b/resources/scripts/build/payload/seabios
@@ -2,7 +2,7 @@
 
 #  helper script: builds SeaBIOS source code
 #
-#	Copyright (C) 2020, 2021 Leah Rowe <info@minifree.org>
+#	Copyright (C) 2020, 2021, 2023 Leah Rowe <info@minifree.org>
 #	Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
 #
 #    This program is free software: you can redistribute it and/or modify
@@ -55,6 +55,14 @@ make -j$(nproc)
 mv out/bios.bin.elf ../payload/seabios/seabios_vgarom.elf
 rm .config
 
+# for normal setup:
+[ -f Makefile ] && make distclean
+cp ../resources/seabios/config/normal .config
+make silentoldconfig -j$(nproc)
+make -j$(nproc)
+mv out/bios.bin.elf ../payload/seabios/seabios_normal.elf
+rm .config
+
 # clean it again. gotta keep it clean!
 [ -f Makefile ] && make distclean
 
diff --git a/resources/seabios/config/normal b/resources/seabios/config/normal
new file mode 100644
index 0000000000000000000000000000000000000000..92b9c56c68eb29b40785971df17fd47db40ee3be
--- /dev/null
+++ b/resources/seabios/config/normal
@@ -0,0 +1,91 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# SeaBIOS Configuration
+#
+
+#
+# General Features
+#
+CONFIG_COREBOOT=y
+# CONFIG_QEMU is not set
+# CONFIG_CSM is not set
+# CONFIG_QEMU_HARDWARE is not set
+CONFIG_THREADS=y
+CONFIG_RELOCATE_INIT=y
+CONFIG_BOOTMENU=y
+CONFIG_BOOTSPLASH=y
+CONFIG_BOOTORDER=y
+CONFIG_HOST_BIOS_GEOMETRY=y
+CONFIG_COREBOOT_FLASH=y
+CONFIG_LZMA=y
+CONFIG_CBFS_LOCATION=0
+CONFIG_MULTIBOOT=y
+CONFIG_ENTRY_EXTRASTACK=y
+CONFIG_MALLOC_UPPERMEMORY=y
+CONFIG_ROM_SIZE=0
+
+#
+# Hardware support
+#
+CONFIG_ATA=y
+CONFIG_ATA_DMA=y
+# CONFIG_ATA_PIO32 is not set
+CONFIG_AHCI=y
+CONFIG_SDCARD=y
+CONFIG_MEGASAS=y
+CONFIG_FLOPPY=y
+CONFIG_FLASH_FLOPPY=y
+CONFIG_NVME=y
+CONFIG_PS2PORT=y
+CONFIG_USB=y
+CONFIG_USB_UHCI=y
+CONFIG_USB_OHCI=y
+CONFIG_USB_EHCI=y
+CONFIG_USB_XHCI=y
+CONFIG_USB_MSC=y
+CONFIG_USB_UAS=y
+CONFIG_USB_HUB=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_USB_MOUSE=y
+CONFIG_SERIAL=y
+CONFIG_SERCON=y
+CONFIG_LPT=y
+CONFIG_RTC_TIMER=y
+CONFIG_HARDWARE_IRQ=y
+CONFIG_PMTIMER=y
+CONFIG_TSC_TIMER=y
+
+#
+# BIOS interfaces
+#
+CONFIG_DRIVES=y
+CONFIG_CDROM_BOOT=y
+CONFIG_CDROM_EMU=y
+CONFIG_PCIBIOS=y
+CONFIG_APMBIOS=y
+CONFIG_PNPBIOS=y
+CONFIG_OPTIONROMS=y
+CONFIG_PMM=y
+CONFIG_BOOT=y
+CONFIG_KEYBOARD=y
+CONFIG_KBD_CALL_INT15_4F=y
+CONFIG_MOUSE=y
+CONFIG_S3_RESUME=y
+CONFIG_VGAHOOKS=y
+# CONFIG_DISABLE_A20 is not set
+CONFIG_TCGBIOS=y
+
+#
+# VGA ROM
+#
+CONFIG_NO_VGABIOS=y
+# CONFIG_VGA_GEODEGX2 is not set
+# CONFIG_VGA_GEODELX is not set
+# CONFIG_VGA_COREBOOT is not set
+# CONFIG_BUILD_VGABIOS is not set
+CONFIG_VGA_EXTRA_STACK_SIZE=512
+
+#
+# Debugging
+#
+CONFIG_DEBUG_LEVEL=0
diff --git a/resources/seabios/config/vgarom b/resources/seabios/config/vgarom
index 92b9c56c68eb29b40785971df17fd47db40ee3be..9f543ceab95fe7d0be8a0227ff33c4a8d7ec7d40 100644
--- a/resources/seabios/config/vgarom
+++ b/resources/seabios/config/vgarom
@@ -64,8 +64,7 @@ CONFIG_CDROM_EMU=y
 CONFIG_PCIBIOS=y
 CONFIG_APMBIOS=y
 CONFIG_PNPBIOS=y
-CONFIG_OPTIONROMS=y
-CONFIG_PMM=y
+# CONFIG_OPTIONROMS is not set
 CONFIG_BOOT=y
 CONFIG_KEYBOARD=y
 CONFIG_KBD_CALL_INT15_4F=y