Coreboot-15h: Difference between revisions
No edit summary |
|||
| (76 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 == | |||
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''' | |||
<nowiki> | <nowiki> | ||
apt install git build-essential m4 bison flex zlib1g-dev libncurses-dev imagemagick python-is-python3 | |||
apt install git build-essential m4 bison flex zlib1g-dev | </nowiki> | ||
'''FreeBSD 14.2 Dependencies''' | |||
<nowiki> | |||
### This list may be incomplete | |||
pkg install git bash gmake gcc12 m4 bison ImageMagick7 python autoconf automake gettext-tools gnu-unifont | |||
</nowiki> | |||
'''Configuring and Compiling''' | |||
<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 ( | ### 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 | ||
# Build the cross compiler (may take a while) | ### 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) | 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 | cp configs/config.asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_2mb .config | ||
### Optional: | ### Optional: Review or adjust your configuration | ||
make menuconfig | make menuconfig | ||
### Build coreboot, your ROM will be at ./build/coreboot.rom | ### Build coreboot, your ROM will be at ./build/coreboot.rom | ||
make</nowiki> | # Tip: Add the 'UPDATED_SUBMODULES=1' argument to skip fetching/updating all submodules | ||
make | |||
</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''' | |||
If you want to switch motherboards, you must first clean the build environment. Afterwards, continue from the config selection step. | |||
<nowiki> | <nowiki> | ||
make distclean</nowiki> | make distclean</nowiki> | ||
== | ==Stable== | ||
===KGPE-D16=== | === [[KCMA-D8|ASUS KCMA-D8]] === | ||
{| class="wikitable" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|2025.11.11-v4.11-61cbef5bdd2 | |||
| | |||
* Initial v4.11 AGESA release | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [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" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|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 | |||
* Enabled the HPET | |||
* Added coreinfo and memtest | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [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.10.11-v4.11-63a34806baf | |||
| | |||
* Added support for microcode removal | |||
* Created configs with blobs removed | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [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.10.10-v4.11-a99acc20d4a | |||
| | |||
* 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 | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [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" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|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 | |||
** [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 | |||
| | |||
* Fixed support for rev 1.02 motherboards | |||
* 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/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 | |||
| | |||
* Updated config | |||
** Onboard VGA is no longer primary by default | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [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.23-v4.11-583f5e6a34 | |||
| | |||
* 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/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" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|2025.11.18-v4.11-4094163932a | |||
| | |||
* Partial UART support | |||
** Requires the BMC to be online | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [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.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/c/cc/Coreboot-15h_2025.11.09-v4.11-6f1fd5cf220_supermicro_h8sgl_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 | |||
** [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.09.15-v4.11-58cfb23a680 | |||
| | |||
* Initial release | |||
** IOMMU is disabled | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [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] | |||
|} | |||
==Beta== | |||
=== [[F2A85-M|ASUS F2A85-M]] === | |||
{| class="wikitable" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|2025.03.08-v4.11-9f78cb25cd | |||
| | |||
* Initial release | |||
** Uses the existing AGESA 15TN codebase | |||
| | |||
* SeaBIOS + uCode + XHCI-FW + VGA-OpROMs | |||
** [https://15h.org/images/0/03/Coreboot-15h_2025.03.08-v4.11-9f78cb25cd_asus_f2a85-m_seabios_ucode_xhci-fw_vga-oproms_8mb.tar.gz 8MB] | |||
|} | |||
=== [[F2A85-M PRO|ASUS F2A85-M PRO]] === | |||
{| class="wikitable" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|2025.03.09-v4.11-1ca15f788b | |||
| | |||
* Initial release | |||
** Uses the existing AGESA 15TN codebase | |||
| | |||
* SeaBIOS + uCode + XHCI-FW + VGA-OpROMs | |||
** [https://15h.org/images/a/a5/Coreboot-15h_2025.03.09-v4.11-1ca15f788b_asus_f2a85-m-pro_seabios_ucode_xhci-fw_vga-oproms_8mb.tar.gz 8MB-UNTESTED] | |||
|} | |||
=== [[F2A85-M LE|ASUS F2A85-M LE]] === | |||
{| class="wikitable" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|2025.03.09-v4.11-1ca15f788b | |||
| | |||
* Initial release | |||
** Uses the existing AGESA 15TN codebase | |||
| | |||
* SeaBIOS + uCode + XHCI-FW + VGA-OpROMs | |||
** [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]] === | |||
{| class="wikitable" | {| class="wikitable" | ||
| {{center|'''Release'''}} | | {{center|'''Release'''}} | ||
| {{center|'''Notes'''}} | | {{center|'''Notes'''}} | ||
| {{center|''' | | {{center|'''Download Options'''}} | ||
|- | |||
|2025.05.03-v4.11-6656887228f | |||
| | |||
* Initial support | |||
** No fan control | |||
** Northbridge 2 is offline | |||
** IOMMU is disabled | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/0/08/Coreboot-15h_2025.05.03-v4.11-6656887228f_supermicro_h8dgi_seabios_ucode_matrox-oprom_vga-oproms.tar.gz 2MB] | |||
|} | |||
=== [[H8DG6|SuperMicro H8DG6]] === | |||
{| class="wikitable" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|2025.05.08-v4.11-7f9e8d15532 | |||
| | |||
* Initial support | |||
** Onboard SAS enabled | |||
** No fan control | |||
** Northbridge 2 is offline | |||
** IOMMU is disabled | |||
| | |||
* 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] | |||
|} | |||
=== [[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 == | |||
=== [[KGPE-D16 (Raptor)|ASUS KGPE-D16 (Raptor)]] === | |||
{| class="wikitable" | |||
| {{center|'''Release'''}} | |||
| {{center|'''Notes'''}} | |||
| {{center|'''Download Options'''}} | |||
|- | |||
|2025.03.08-v4.11-9f78cb25cd | |||
| | |||
* Updated configs | |||
** Sets default CMOS settings each boot | |||
** Expanded CBFS for 16MB | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/b/b7/Coreboot-15h_2025.03.08-v4.11-9f78cb25cd_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_16mb.tar.gz 16MB] | |||
* SeaBIOS + uCode | |||
** [https://15h.org/images/a/aa/Coreboot-15h_2025.03.08-v4.11-9f78cb25cd_asus_kgpe-d16_seabios_ucode_no-oproms_16mb.tar.gz 16MB] | |||
* SeaBIOS (blob-free) | |||
** [https://15h.org/images/7/72/Coreboot-15h_2025.03.08-v4.11-9f78cb25cd_asus_kgpe-d16_seabios_no-ucode_no-oproms_16mb.tar.gz 16MB] | |||
|- | |||
|2025.02.23-v4.11-583f5e6a34 | |||
| | |||
* Added fan control | |||
| | |||
* SeaBIOS + uCode + VGA-OpROMs | |||
** [https://15h.org/images/5/59/Coreboot-15h_2025.02.23-v4.11-583f5e6a34_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_2mb.tar.gz 2MB] [https://15h.org/images/a/af/Coreboot-15h_2025.02.23-v4.11-583f5e6a34_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_16mb.tar.gz 16MB] | |||
* SeaBIOS + uCode | |||
** [https://15h.org/images/d/de/Coreboot-15h_2025.02.23-v4.11-583f5e6a34_asus_kgpe-d16_seabios_ucode_no-oproms_2mb.tar.gz 2MB] [https://15h.org/images/a/af/Coreboot-15h_2025.02.23-v4.11-583f5e6a34_asus_kgpe-d16_seabios_ucode_no-oproms_16mb.tar.gz 16MB] | |||
* SeaBIOS (blob-free) | |||
** [https://15h.org/images/d/dc/Coreboot-15h_2025.02.23-v4.11-583f5e6a34_asus_kgpe-d16_seabios_no-ucode_no-oproms_2mb.tar.gz 2MB] [https://15h.org/images/4/4f/Coreboot-15h_2025.02.23-v4.11-583f5e6a34_asus_kgpe-d16_seabios_no-ucode_no-oproms_16mb.tar.gz 16MB] | |||
|- | |- | ||
|2024.09.16 v4.11-d176edf4ae | |2024.09.16-v4.11-d176edf4ae | ||
| | | | ||
* Added more configuration variants | * Added more configuration variants | ||
| Line 76: | Line 503: | ||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [https://15h.org/images/ | ** [https://15h.org/images/3/35/Coreboot-15h_2024.09.16-v4.11-d176edf4ae_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_2mb.tar.gz 2MB] [https://15h.org/images/3/32/Coreboot-15h_2024.09.16-v4.11-d176edf4ae_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_16mb.tar.gz 16MB] | ||
* SeaBIOS + uCode | * SeaBIOS + uCode | ||
** [https://15h.org/images/ | ** [https://15h.org/images/0/01/Coreboot-15h_2024.09.16-v4.11-d176edf4ae_asus_kgpe-d16_seabios_ucode_no-oproms_2mb.tar.gz 2MB] [https://15h.org/images/e/e6/Coreboot-15h_2024.09.16-v4.11-d176edf4ae_asus_kgpe-d16_seabios_ucode_no-oproms_16mb.tar.gz 16MB] | ||
* SeaBIOS (blob-free) | * SeaBIOS (blob-free) | ||
** [https://15h.org/images/ | ** [https://15h.org/images/5/5d/Coreboot-15h_2024.09.16-v4.11-d176edf4ae_asus_kgpe-d16_seabios_no-ucode_no-oproms_2mb.tar.gz 2MB] [https://15h.org/images/5/5a/Coreboot-15h_2024.09.16-v4.11-d176edf4ae_asus_kgpe-d16_seabios_no-ucode_no-oproms_16mb.tar.gz 16MB] | ||
|- | |- | ||
| | | | ||
2024.09.14 v4.11-065549759c | 2024.09.14-v4.11-065549759c | ||
| | | | ||
* Improved board stability | * Improved board stability | ||
| Line 90: | Line 517: | ||
| | | | ||
* SeaBIOS + uCode + VGA-OpROMs | * SeaBIOS + uCode + VGA-OpROMs | ||
** [ | ** [https://15h.org/images/1/18/Coreboot-15h_2024.09.14-v4.11-065549759c_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_2mb.tar.gz 2MB] [https://15h.org/images/d/d4/Coreboot-15h_2024.09.14-v4.11-065549759c_asus_kgpe-d16_seabios_ucode_ast2050-oprom_vga-oproms_16mb.tar.gz 16MB] | ||
|} | |} | ||
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 |
|