summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xresources/scripts/build/boot/roms_helper14
-rwxr-xr-xresources/scripts/build/payload/seabios10
-rw-r--r--resources/seabios/config/normal91
-rw-r--r--resources/seabios/config/vgarom3
4 files changed, 105 insertions, 13 deletions
diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper
index 9bcc6933..dd4a3b19 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 af2840d8..4a7ba626 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 00000000..92b9c56c
--- /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 92b9c56c..9f543cea 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