Coreboot-15h: Difference between revisions
| (5 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
'''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. | '''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 == | ||
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'. | 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'. | ||
| Line 63: | 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 | # Tip: Add the 'UPDATED_SUBMODULES=1' argument to skip fetching/updating all submodules | ||
make | make | ||
</nowiki> | </nowiki> | ||
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 |
|