Coreboot-15h: Difference between revisions
| (45 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
''' | {{lowercase title}} | ||
'''coreboot-15h''', also known as '''Mike's coreboot''', is a distribution of [[coreboot]] for various [[Family 15h]] motherboards, developed by [[User:Mrothfuss|mrothfuss]], using AMD's open-source fam15h AGESA and CIMX for initialization. This has allowed for the reintroduction of several boards long-deprecated upstream (such as the [[H8QGi+-F]]), and has allowed several previously-unsupported Family 15h boards (particularly others from [[Supermicro]]) to be ported. On [[ASUS]] boards that were once supported by [[Raptor Engineering]]'s native initialization implementation (removed upstream in coreboot 4.12), coreboot-15h offers improved reliability and hardware compatibility over upstream coreboot 4.11 and [[Dasharo]] 0.4.0. Improvements include dramatically more reliable memory initialization (including support for more memory and denser modules), improved stability once booted, significantly improved HyperTransport configuration, native support for hardware monitoring and fan control, and patches to the build system to allow building on modern platforms. It is, at the time of writing, believed to be the most stable and complete coreboot variant available for the hardware it targets, and it currently appears to be the only actively-developed coreboot variant supporting family 15h. | |||
== History == | == History == | ||
coreboot-D16 | Attempts were made in 2022 to complete the [[Raptor Engineering]] port of coreboot for the [[KGPE-D16|ASUS KGPE-D16]] motherboard. This involved an effort by [[User:Mrothfuss|mrothfuss]] to fix bugs in the previous 4.11 codebase<ref>https://github.com/mrothfuss/coreboot-D16 coreboot-D16</ref> and development by [[Dasharo]] to migrate the platform to coreboot 4.15<ref>https://docs.dasharo.com/variants/asus_kgpe_d16/overview/</ref>. Improvements made by [[User:Mrothfuss|mrothfuss]] were upstreamed to [[Dasharo]]'s fork<ref>https://github.com/Dasharo/coreboot/pull/116</ref>. Both efforts ultimately failed to produce reliable firmware for the [[KGPE-D16|ASUS KGPE-D16]] motherboard. | ||
Initial testing and development of AMD's open source AGESA/CIMx codebases by [[User:Mrothfuss|mrothfuss]] began in 2023 as a fork of coreboot 4.0 called [https://github.com/mrothfuss/coreboot-agesa coreboot-agesa]. Support for AMD Fam15 on the existing [[Supermicro]] [[H8SCM]] and [[H8QGi%2B-F]] motherboards was confirmed and improved. A new port for the [[H8DGi]] was successfully made using this codebase, providing a reliable and performant dual socket G34 motherboard similar to the [[KGPE-D16|ASUS KGPE-D16]]. Compilation of this old source code, however, required an inconvenient Debian 6 environment. | |||
In early 2025, the AGESA/CIMx codebases were successfully reintegrated into coreboot 4.11 under the [[coreboot-15h]] project. Initially the previous [[Supermicro]] motherboards ([[H8QGi%2B-F]], [[H8DGi]], [[H8SCM]]) were supported. New AGESA/CIMx ports for the [[ASUS]] motherboards, [[KGPE-D16]] and [[KCMA-D8]], were developed and tested by [[User:Mrothfuss|mrothfuss]] and [[User:Rane|rane]]. Integration of the AGESA/CIMx codebase into coreboot was subsequently improved, namely adding IOMMU support for AMD Fam15 motherboards. At this point, [[coreboot-15h]] surpassed all other firmware options for the supported motherboards; providing more features, better multicore performance, better power efficiency, and speculative-execution mitigation support. | |||
== Compiling coreboot from source == | == Compiling coreboot from source == | ||
| Line 19: | Line 24: | ||
<nowiki> | <nowiki> | ||
### This list may be incomplete | ### This list may be incomplete | ||
pkg install git gmake gcc12 m4 bison ImageMagick7 python | pkg install git bash gmake gcc12 m4 bison ImageMagick7 python autoconf automake gettext-tools gnu-unifont | ||
</nowiki> | </nowiki> | ||
| Line 26: | Line 31: | ||
<nowiki> | <nowiki> | ||
### Fetch coreboot-15h source | ### Fetch coreboot-15h source | ||
# Tip: Add the '--depth=1' argument to save bandwidth. You | |||
# will not be able to checkout previous commits if you | |||
# use this shallow clone option. | |||
git clone https://git.15h.org/mrothfuss/coreboot-15h.git | git clone https://git.15h.org/mrothfuss/coreboot-15h.git | ||
cd coreboot-15h | cd coreboot-15h | ||
### Optional: Fetch blobs (required for | ### Optional: Checkout a specific commit to reproduce a release | ||
# | # git commit-id's are included at the end of a release name | ||
# Example: 2025.11.09-v4.11-6f1fd5cf220 | |||
git checkout 6f1fd5cf220 | |||
### Optional: Fetch blobs (required for VGABIOS ROMs) | |||
# Blobs can be explicitly excluded from the build by menuconfig | |||
# Tip: Add the '--depth=1' argument to save bandwidth | |||
git submodule update --init --checkout 3rdparty/blobs | git submodule update --init --checkout 3rdparty/blobs | ||
### Optional: | ### Optional: Manually fetch the vboot submodule | ||
# This submodule will be fetched automatically, but needs to be | |||
# manually downloaded if you want to use the 'UPDATED_SUBMODULES=1' | |||
# option during the coreboot.rom compilation (see below). | |||
# Tip: Add the '--depth=1' argument to save bandwidth | |||
git submodule update --init --checkout 3rdparty/vboot | git submodule update --init --checkout 3rdparty/vboot | ||
| Line 40: | Line 58: | ||
### Select a config template from ./configs | ### Select a config template from ./configs | ||
# These config files are used to compile the releases distributed on 15h.org | |||
# Copy the config you want to start with, you can adjust it in the next step | |||
cp configs/config.asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_2mb .config | |||
cp configs/config. | |||
### Optional: Review or adjust your configuration | ### Optional: Review or adjust your configuration | ||
| Line 49: | Line 66: | ||
### Build coreboot, your ROM will be at ./build/coreboot.rom | ### Build coreboot, your ROM will be at ./build/coreboot.rom | ||
# Tip: Add the 'UPDATED_SUBMODULES=1' argument to skip fetching/updating all submodules | |||
make | make | ||
</nowiki> | </nowiki> | ||
'''Listing Source Files''' | |||
To review a precise list of files compiled into your ./build/coreboot.rom file, use this command. | |||
<nowiki> | |||
make filelist</nowiki> | |||
This command works after a successful 'make' and changes depending on the motherboard and configuration options selected. | |||
'''Fetching Updates''' | |||
<nowiki> | |||
git pull</nowiki> | |||
'''Switching Motherboards''' | '''Switching Motherboards''' | ||
| Line 60: | Line 91: | ||
==Stable== | ==Stable== | ||
=== [[ | === [[KCMA-D8|ASUS KCMA-D8]] === | ||
{| class="wikitable" | {| class="wikitable" | ||
| {{center|'''Release'''}} | | {{center|'''Release'''}} | ||
| Line 66: | Line 97: | ||
| {{center|'''Download Options'''}} | | {{center|'''Download Options'''}} | ||
|- | |- | ||
|2025. | |2025.11.11-v4.11-61cbef5bdd2 | ||
| | | | ||
* Initial v4.11 AGESA release | * Initial v4.11 AGESA release | ||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/4/4f/Coreboot-15h_2025.11.11-v4.11-61cbef5bdd2_asus_kcma-d8_seabios_ucode_ast2050-oprom_vga-oproms_2mb.tar.gz 2MB] | ||
* SeaBIOS + uCode (text-mode) | |||
** [https://15h.org/images/f/f5/Coreboot-15h_2025.11.11-v4.11-61cbef5bdd2_asus_kcma-d8_seabios_ucode_no-oproms_2mb.tar.gz 2MB] | |||
* SeaBIOS (text-mode, blob-free) | |||
** [https://15h.org/images/4/48/Coreboot-15h_2025.11.11-v4.11-61cbef5bdd2_asus_kcma-d8_seabios_no-ucode_no-oproms_2mb.tar.gz 2MB] | |||
|} | |} | ||
=== [[ | === [[KGPE-D16|ASUS KGPE-D16]] === | ||
{| class="wikitable" | {| class="wikitable" | ||
| {{center|'''Release'''}} | | {{center|'''Release'''}} | ||
| Line 87: | Line 115: | ||
| {{center|'''Download Options'''}} | | {{center|'''Download Options'''}} | ||
|- | |- | ||
|2025. | |2025.11.09-v4.11-6f1fd5cf220 | ||
| | |||
* Optimized HyperTransport Speed and Deemphasis | |||
* Optimized RAM Power Saving | |||
* Optimized RAM ECC Scrub Rates | |||
* Setup Thermal Throttling | |||
* Enabled Thermal Shutdown | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/9/9c/Coreboot-15h_2025.11.09-v4.11-6f1fd5cf220_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_2mb.tar.gz 2MB] | |||
* SeaBIOS + uCode (text-mode) | |||
** [https://15h.org/images/8/86/Coreboot-15h_2025.11.09-v4.11-6f1fd5cf220_asus_kgpe-d16_seabios_ucode_no-oproms_2mb.tar.gz 2MB] | |||
* SeaBIOS (text-mode, blob-free) | |||
** [https://15h.org/images/4/4c/Coreboot-15h_2025.11.09-v4.11-6f1fd5cf220_asus_kgpe-d16_seabios_no-ucode_no-oproms_2mb.tar.gz 2MB] | |||
|- | |||
|2025.10.31-v4.11-c71dd7896fe | |||
| | | | ||
* | * Enabled the IOMMU | ||
* Added | * Enabled the HPET | ||
* Added coreinfo and memtest | |||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/0/0b/Coreboot-15h_2025.10.31-v4.11-c71dd7896fe_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_2mb.tar.gz 2MB] | ||
* SeaBIOS + uCode (text-mode) | |||
** [https://15h.org/images/f/f9/Coreboot-15h_2025.10.31-v4.11-c71dd7896fe_asus_kgpe-d16_seabios_ucode_no-oproms_2mb.tar.gz 2MB] | |||
* SeaBIOS (text-mode, blob-free) | |||
** [https://15h.org/images/2/22/Coreboot-15h_2025.10.31-v4.11-c71dd7896fe_asus_kgpe-d16_seabios_no-ucode_no-oproms_2mb.tar.gz 2MB] | |||
|- | |- | ||
|2025. | |2025.10.11-v4.11-63a34806baf | ||
| | | | ||
* | * Added support for microcode removal | ||
* | * Created configs with blobs removed | ||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/1/16/Coreboot-15h_2025.10.11-v4.11-63a34806baf_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_2mb.tar.gz 2MB] | ||
* SeaBIOS + uCode (text-mode) | |||
** [https://15h.org/images/2/27/Coreboot-15h_2025.10.11-v4.11-63a34806baf_asus_kgpe-d16_seabios_ucode_no-oproms_2mb.tar.gz 2MB] | |||
* SeaBIOS (text-mode, blob-free) | |||
** [https://15h.org/images/8/89/Coreboot-15h_2025.10.11-v4.11-63a34806baf_asus_kgpe-d16_seabios_no-ucode_no-oproms_2mb.tar.gz 2MB] | |||
|- | |- | ||
|2025. | |2025.10.10-v4.11-a99acc20d4a | ||
| | | | ||
* Initial v4.11 AGESA release | * Initial v4.11 AGESA release | ||
** | ** Robust support for all DIMM slots | ||
** | *** up to 32GB RDIMMs supported | ||
** | *** up to 64GB LRDIMMs supported | ||
** Up to 4 PCIe cards supported | |||
** Native fan control | |||
** Latest microcode | |||
** IOMMU is disabled | ** IOMMU is disabled | ||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/6/6c/Coreboot-15h_2025.10.10-v4.11-a99acc20d4a_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_2mb.tar.gz 2MB] | ||
|} | |} | ||
=== [[ | === [[H8SCM|SuperMicro H8SCM]] === | ||
{| class="wikitable" | {| class="wikitable" | ||
| {{center|'''Release'''}} | | {{center|'''Release'''}} | ||
| Line 123: | Line 176: | ||
| {{center|'''Download Options'''}} | | {{center|'''Download Options'''}} | ||
|- | |- | ||
|2025.09. | |2025.11.18-v4.11-4094163932a | ||
| | |||
* Partial UART support | |||
** Requires the BMC to be online | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/c/c7/Coreboot-15h_2025.11.18-v4.11-4094163932a_supermicro_h8scm_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|- | |||
|2025.11.11-v4.11-61cbef5bdd2 | |||
| | |||
* Minor bug fixes relating to the C32 socket | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/a/ab/Coreboot-15h_2025.11.11-v4.11-61cbef5bdd2_supermicro_h8scm_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|- | |||
|2025.11.09-v4.11-6f1fd5cf220 | |||
| | |||
* Optimized HyperTransport Speed and Deemphasis | |||
* Optimized RAM Power Saving | |||
* Optimized RAM ECC Scrub Rates | |||
* Setup Thermal Throttling | |||
* Enabled Thermal Shutdown | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/2/22/Coreboot-15h_2025.11.09-v4.11-6f1fd5cf220_supermicro_h8scm_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|- | |||
|2025.10.31-v4.11-c71dd7896fe | |||
| | | | ||
* | * Enabled the IOMMU | ||
** | * Enabled the HPET | ||
* Added coreinfo and memtest | |||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/3/31/Coreboot-15h_2025.10.31-v4.11-c71dd7896fe_supermicro_h8scm_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | ||
|- | |- | ||
|2025.04.28-v4.11-34811b78c48 | |2025.04.28-v4.11-34811b78c48 | ||
| | | | ||
* Fixed support for rev 1.02 motherboards | |||
* Added support for UDIMM and LRDIMM memory | * Added support for UDIMM and LRDIMM memory | ||
* Updated config | * Updated config | ||
| Line 145: | Line 219: | ||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/6/61/Coreboot-15h_2025.04.28-v4.11-34811b78c48_supermicro_h8scm_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | ||
|- | |- | ||
|2025.03.08-v4.11-9f78cb25cd | |2025.03.08-v4.11-9f78cb25cd | ||
| Line 153: | Line 227: | ||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/3/34/Coreboot-15h_2025.03.08-v4.11-9f78cb25cd_supermicro_h8scm_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | ||
|- | |- | ||
|2025.02. | |2025.02.23-v4.11-583f5e6a34 | ||
| | | | ||
* Initial v4.11 AGESA release | * Initial v4.11 AGESA release | ||
| Line 164: | Line 238: | ||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/5/58/Coreboot-15h_2025.02.23-v4.11-583f5e6a34_supermicro_h8scm_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | ||
|} | |} | ||
=== [[ | === [[H8SGL|SuperMicro H8SGL]] === | ||
{| class="wikitable" | {| class="wikitable" | ||
| {{center|'''Release'''}} | | {{center|'''Release'''}} | ||
| Line 173: | Line 247: | ||
| {{center|'''Download Options'''}} | | {{center|'''Download Options'''}} | ||
|- | |- | ||
|2025. | |2025.11.18-v4.11-4094163932a | ||
| | | | ||
* | * Partial UART support | ||
** Requires the BMC to be online | |||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/2/26/Coreboot-15h_2025.11.18-v4.11-4094163932a_supermicro_h8sgl_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | ||
|- | |- | ||
|2025. | |2025.11.09-v4.11-6f1fd5cf220 | ||
| | | | ||
* | * Optimized HyperTransport Speed and Deemphasis | ||
* | * Optimized RAM Power Saving | ||
** | * Optimized RAM ECC Scrub Rates | ||
* Setup Thermal Throttling | |||
* Enabled Thermal Shutdown | |||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/c/cc/Coreboot-15h_2025.11.09-v4.11-6f1fd5cf220_supermicro_h8sgl_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | ||
|- | |- | ||
|2025. | |2025.10.31-v4.11-c71dd7896fe | ||
| | | | ||
* | * Enabled the IOMMU | ||
** | * Enabled the HPET | ||
* Added coreinfo and memtest | |||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/5/51/Coreboot-15h_2025.10.31-v4.11-c71dd7896fe_supermicro_h8sgl_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | ||
|- | |- | ||
|2025. | |2025.09.15-v4.11-58cfb23a680 | ||
| | | | ||
* Initial | * Initial release | ||
** IOMMU is disabled | ** IOMMU is disabled | ||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/a/a4/Coreboot-15h_2025.09.15-v4.11-58cfb23a680_supermicro_h8sgl_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | ||
|} | |} | ||
| Line 257: | Line 330: | ||
** [https://15h.org/images/e/ee/Coreboot-15h_2025.03.09-v4.11-1ca15f788b_asus_f2a85-m-le_seabios_ucode_xhci-fw_vga-oproms_8mb.tar.gz 8MB-UNTESTED] | ** [https://15h.org/images/e/ee/Coreboot-15h_2025.03.09-v4.11-1ca15f788b_asus_f2a85-m-le_seabios_ucode_xhci-fw_vga-oproms_8mb.tar.gz 8MB-UNTESTED] | ||
|} | |} | ||
=== [[H8DGi|SuperMicro H8DGi]] === | === [[H8DGi|SuperMicro H8DGi]] === | ||
| Line 291: | Line 365: | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/6/63/Coreboot-15h_2025.05.08-v4.11-7f9e8d15532_supermicro_h8dg6_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | ** [https://15h.org/images/6/63/Coreboot-15h_2025.05.08-v4.11-7f9e8d15532_supermicro_h8dg6_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | ||
|} | |||
=== [[H8QGi%2B-F|SuperMicro H8QGi+-F]] === | |||
{| class="wikitable" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|2025.10.31-v4.11-c71dd7896fe | |||
| | |||
* Enabled the IOMMU | |||
* Enabled the HPET | |||
* Added coreinfo and memtest | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/a/a5/Coreboot-15h_2025.10.31-v4.11-c71dd7896fe_supermicro_h8qgi-pm-f_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|- | |||
|2025.04.28-v4.11-34811b78c48 | |||
| | |||
* Added support for UDIMM and LRDIMM memory | |||
* Updated config | |||
** RAM interleaving is only enabled for channels, not bank nor nodes | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/9/95/Coreboot-15h_2025.04.28-v4.11-34811b78c48_supermicro_h8qgi-pm-f_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|- | |||
|2025.03.08-v4.11-9f78cb25cd | |||
| | |||
* Updated config | |||
** Onboard VGA is no longer primary by default | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/d/d7/Coreboot-15h_2025.03.08-v4.11-9f78cb25cd_supermicro_h8qgi-pm-f_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|- | |||
|2025.02.25-v4.11-97011b87c1 | |||
| | |||
* Initial v4.11 AGESA release | |||
** Microcode Updated | |||
** Added fan control | |||
** Various AGESA bugs fixed | |||
** IOMMU is disabled | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/3/3b/Coreboot-15h_2025.02.25-v4.11-97011b87c1_supermicro_h8qgi-pm-f_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|} | |||
=== [[H8QG6%2B-F|SuperMicro H8QG6+-F]] === | |||
{| class="wikitable" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|2025.10.31-v4.11-c71dd7896fe | |||
| | |||
* Enabled the IOMMU | |||
* Enabled the HPET | |||
* Added coreinfo and memtest | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/f/f9/Coreboot-15h_2025.10.31-v4.11-c71dd7896fe_supermicro_h8qg6-pm-f_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|- | |||
|2025.05.03-v4.11-6656887228f | |||
| | |||
* Activated PCIe slots 1 and 3 | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/6/6c/Coreboot-15h_2025.05.03-v4.11-6656887228f_supermicro_h8qg6-pm-f_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|- | |||
|2025.04.28-v4.11-34811b78c48 | |||
| | |||
* Added support for UDIMM and LRDIMM memory | |||
* Updated config | |||
** RAM interleaving is only enabled for channels, not bank nor nodes | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/d/dc/Coreboot-15h_2025.04.28-v4.11-34811b78c48_supermicro_h8qg6-pm-f_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|- | |||
|2025.03.08-v4.11-9f78cb25cd | |||
| | |||
* Updated config | |||
** Onboard VGA is no longer primary by default | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/6/65/Coreboot-15h_2025.03.08-v4.11-9f78cb25cd_supermicro_h8qg6-pm-f_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|- | |||
|2025.02.25-v4.11-97011b87c1 | |||
| | |||
* Initial v4.11 AGESA release | |||
** Microcode Updated | |||
** Added fan control | |||
** Enabled onboard SAS controller | |||
** Various AGESA bugs fixed | |||
** Northbridge 2 is offline | |||
** IOMMU is disabled | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/6/64/Coreboot-15h_2025.02.25-v4.11-97011b87c1_supermicro_h8qg6-pm-f_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|} | |} | ||
== Deprecated == | == Deprecated == | ||
=== [[KGPE-D16|ASUS KGPE-D16 (Raptor)]] === | === [[KGPE-D16 (Raptor)|ASUS KGPE-D16 (Raptor)]] === | ||
{| class="wikitable" | {| class="wikitable" | ||
| {{center|'''Release'''}} | | {{center|'''Release'''}} | ||
Latest revision as of 18:17, 19 November 2025
coreboot-15h, also known as Mike's coreboot, is a distribution of coreboot for various Family 15h motherboards, developed by mrothfuss, using AMD's open-source fam15h AGESA and CIMX for initialization. This has allowed for the reintroduction of several boards long-deprecated upstream (such as the H8QGi+-F), and has allowed several previously-unsupported Family 15h boards (particularly others from Supermicro) to be ported. On ASUS boards that were once supported by Raptor Engineering's native initialization implementation (removed upstream in coreboot 4.12), coreboot-15h offers improved reliability and hardware compatibility over upstream coreboot 4.11 and Dasharo 0.4.0. Improvements include dramatically more reliable memory initialization (including support for more memory and denser modules), improved stability once booted, significantly improved HyperTransport configuration, native support for hardware monitoring and fan control, and patches to the build system to allow building on modern platforms. It is, at the time of writing, believed to be the most stable and complete coreboot variant available for the hardware it targets, and it currently appears to be the only actively-developed coreboot variant supporting family 15h.
History
Attempts were made in 2022 to complete the Raptor Engineering port of coreboot for the ASUS KGPE-D16 motherboard. This involved an effort by mrothfuss to fix bugs in the previous 4.11 codebase[1] and development by Dasharo to migrate the platform to coreboot 4.15[2]. Improvements made by mrothfuss were upstreamed to Dasharo's fork[3]. Both efforts ultimately failed to produce reliable firmware for the ASUS KGPE-D16 motherboard.
Initial testing and development of AMD's open source AGESA/CIMx codebases by mrothfuss began in 2023 as a fork of coreboot 4.0 called coreboot-agesa. Support for AMD Fam15 on the existing Supermicro H8SCM and H8QGi+-F motherboards was confirmed and improved. A new port for the H8DGi was successfully made using this codebase, providing a reliable and performant dual socket G34 motherboard similar to the ASUS KGPE-D16. Compilation of this old source code, however, required an inconvenient Debian 6 environment.
In early 2025, the AGESA/CIMx codebases were successfully reintegrated into coreboot 4.11 under the coreboot-15h project. Initially the previous Supermicro motherboards (H8QGi+-F, H8DGi, H8SCM) were supported. New AGESA/CIMx ports for the ASUS motherboards, KGPE-D16 and KCMA-D8, were developed and tested by mrothfuss and rane. Integration of the AGESA/CIMx codebase into coreboot was subsequently improved, namely adding IOMMU support for AMD Fam15 motherboards. At this point, coreboot-15h surpassed all other firmware options for the supported motherboards; providing more features, better multicore performance, better power efficiency, and speculative-execution mitigation support.
Compiling coreboot from source
Compilation has been tested on Debian 12 and FreeBSD 14.2. Building on FreeBSD is the same as building on Linux, but 'make' is replaced with 'gmake'.
Debian 12 Dependencies
apt install git build-essential m4 bison flex zlib1g-dev libncurses-dev imagemagick python-is-python3
FreeBSD 14.2 Dependencies
### This list may be incomplete pkg install git bash gmake gcc12 m4 bison ImageMagick7 python autoconf automake gettext-tools gnu-unifont
Configuring and Compiling
### Fetch coreboot-15h source # Tip: Add the '--depth=1' argument to save bandwidth. You # will not be able to checkout previous commits if you # use this shallow clone option. git clone https://git.15h.org/mrothfuss/coreboot-15h.git cd coreboot-15h ### Optional: Checkout a specific commit to reproduce a release # git commit-id's are included at the end of a release name # Example: 2025.11.09-v4.11-6f1fd5cf220 git checkout 6f1fd5cf220 ### Optional: Fetch blobs (required for VGABIOS ROMs) # Blobs can be explicitly excluded from the build by menuconfig # Tip: Add the '--depth=1' argument to save bandwidth git submodule update --init --checkout 3rdparty/blobs ### Optional: Manually fetch the vboot submodule # This submodule will be fetched automatically, but needs to be # manually downloaded if you want to use the 'UPDATED_SUBMODULES=1' # option during the coreboot.rom compilation (see below). # Tip: Add the '--depth=1' argument to save bandwidth git submodule update --init --checkout 3rdparty/vboot ### Build the cross compiler (may take a while) make crossgcc-i386 CPUS=$(nproc) ### Select a config template from ./configs # These config files are used to compile the releases distributed on 15h.org # Copy the config you want to start with, you can adjust it in the next step cp configs/config.asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_2mb .config ### Optional: Review or adjust your configuration make menuconfig ### Build coreboot, your ROM will be at ./build/coreboot.rom # Tip: Add the 'UPDATED_SUBMODULES=1' argument to skip fetching/updating all submodules make
Listing Source Files
To review a precise list of files compiled into your ./build/coreboot.rom file, use this command.
make filelist
This command works after a successful 'make' and changes depending on the motherboard and configuration options selected.
Fetching Updates
git pull
Switching Motherboards
If you want to switch motherboards, you must first clean the build environment. Afterwards, continue from the config selection step.
make distclean
Stable
Release
|
Notes
|
Download Options
|
| 2025.11.11-v4.11-61cbef5bdd2 |
|
Release
|
Notes
|
Download Options
|
| 2025.11.09-v4.11-6f1fd5cf220 |
|
|
| 2025.10.31-v4.11-c71dd7896fe |
|
|
| 2025.10.11-v4.11-63a34806baf |
|
|
| 2025.10.10-v4.11-a99acc20d4a |
|
|
Release
|
Notes
|
Download Options
|
| 2025.11.18-v4.11-4094163932a |
|
|
| 2025.11.11-v4.11-61cbef5bdd2 |
|
|
| 2025.11.09-v4.11-6f1fd5cf220 |
|
|
| 2025.10.31-v4.11-c71dd7896fe |
|
|
| 2025.04.28-v4.11-34811b78c48 |
|
|
| 2025.03.08-v4.11-9f78cb25cd |
|
|
| 2025.02.23-v4.11-583f5e6a34 |
|
|
Release
|
Notes
|
Download Options
|
| 2025.11.18-v4.11-4094163932a |
|
|
| 2025.11.09-v4.11-6f1fd5cf220 |
|
|
| 2025.10.31-v4.11-c71dd7896fe |
|
|
| 2025.09.15-v4.11-58cfb23a680 |
|
|
Beta
Release
|
Notes
|
Download Options
|
| 2025.03.08-v4.11-9f78cb25cd |
|
|
Release
|
Notes
|
Download Options
|
| 2025.03.09-v4.11-1ca15f788b |
|
|
Release
|
Notes
|
Download Options
|
| 2025.03.09-v4.11-1ca15f788b |
|
|
Release
|
Notes
|
Download Options
|
| 2025.05.03-v4.11-6656887228f |
|
|
Release
|
Notes
|
Download Options
|
| 2025.05.08-v4.11-7f9e8d15532 |
|
|
Release
|
Notes
|
Download Options
|
| 2025.10.31-v4.11-c71dd7896fe |
|
|
| 2025.04.28-v4.11-34811b78c48 |
|
|
| 2025.03.08-v4.11-9f78cb25cd |
|
|
| 2025.02.25-v4.11-97011b87c1 |
|
|
Release
|
Notes
|
Download Options
|
| 2025.10.31-v4.11-c71dd7896fe |
|
|
| 2025.05.03-v4.11-6656887228f |
|
|
| 2025.04.28-v4.11-34811b78c48 |
|
|
| 2025.03.08-v4.11-9f78cb25cd |
|
|
| 2025.02.25-v4.11-97011b87c1 |
|
|
Deprecated
Release
|
Notes
|
Download Options
|
| 2025.03.08-v4.11-9f78cb25cd |
|
|
| 2025.02.23-v4.11-583f5e6a34 |
|
|
| 2024.09.16-v4.11-d176edf4ae |
|
|
|
2024.09.14-v4.11-065549759c |
|