Coreboot-15h

From 15h.org
Revision as of 02:17, 11 October 2025 by Mrothfuss (talk | contribs) (Deprecated)
Jump to navigation Jump to search

Coreboot-15h, also known as Mike's Coreboot, is a distribution of Coreboot for the ASUS KGPE-D16, developed by mrothfuss, focused on improving reliability and hardware compatibility over upstream Coreboot 4.11 and Dasharo 0.4.0. coreboot-15h includes changes for dramatically more stable memory initialization, significantly improved HyperTransport configuration, support for hardware monitoring and fan control, and patches to the build system to allow building on current Linux distributions. It is, at the time of writing, believed to be the most stable and complete Coreboot variant available for the hardware it targets.

History

As coreboot-D16, coreboot-15h was previously provided in two versions - coreboot-4.11 and coreboot-4.15. The former was based on upstream Coreboot 4.11, while the latter is based on Dasharo's KGPE-D16 port (an earlier out-of-tree effort to reintroduce KGPE-D16 support in Coreboot, ultimately not upstreamed), which is itself effectively a fork of Coreboot around the 4.15 release. Despite being based on an older version of Coreboot, the coreboot-4.11 version was more actively developed, was in much more widespread use, has seen significantly more testing, and was generally considered more stable and performant. The older coreboot-4.15 version can be found in the old GitHub repo.

coreboot-D16 also includes a modified version of fand.cpp, for use with OpenBMC, providing improved BMC-based fan control for KGPE-D16 users running OpenBMC. At present, you will need to manually replace this file in your OpenBMC source with the coreboot-D16 version before building OpenBMC in order to use it.

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 gmake gcc12 m4 bison ImageMagick7  python
 

Configuring and Compiling

### Fetch coreboot-15h source
git clone https://git.15h.org/mrothfuss/coreboot-15h.git
cd coreboot-15h

### Optional: Fetch blobs (required for AMD microcode and VGABIOS)
### Both can be explicitly excluded from the build by menuconfig
git submodule update --init --checkout 3rdparty/blobs

### Optional: Fetch vboot (experimental TPM Measured boot support)
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.supermicro_h8scm_seabios_ucode_matrox-oprom_vga-oproms .config

### Optional: Review or adjust your configuration
make menuconfig

### Build coreboot, your ROM will be at ./build/coreboot.rom
make

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.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
Release
Notes
Download Options
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
2025.03.08-v4.11-9f78cb25cd
  • Updated config
    • Onboard VGA is no longer primary by default
  • SeaBIOS + uCode + VGA-OpROMs
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
Release
Notes
Download Options
2025.09.15-v4.11-58cfb23a680
  • Initial release
    • IOMMU is disabled
  • SeaBIOS + uCode + VGA-OpROMs
Release
Notes
Download Options
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
2025.03.08-v4.11-9f78cb25cd
  • Updated config
    • Onboard VGA is no longer primary by default
  • SeaBIOS + uCode + VGA-OpROMs
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
Release
Notes
Download Options
2025.05.03-v4.11-6656887228f
  • Activated PCIe slots 1 and 3
  • SeaBIOS + uCode + VGA-OpROMs
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
2025.03.08-v4.11-9f78cb25cd
  • Updated config
    • Onboard VGA is no longer primary by default
  • SeaBIOS + uCode + VGA-OpROMs
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

Beta

Release
Notes
Download Options
2025.03.08-v4.11-9f78cb25cd
  • Initial release
    • Uses the existing AGESA 15TN codebase
  • SeaBIOS + uCode + XHCI-FW + VGA-OpROMs
Release
Notes
Download Options
2025.03.09-v4.11-1ca15f788b
  • Initial release
    • Uses the existing AGESA 15TN codebase
Release
Notes
Download Options
2025.03.09-v4.11-1ca15f788b
  • Initial release
    • Uses the existing AGESA 15TN codebase
Release
Notes
Download Options
2025.05.03-v4.11-6656887228f
  • Initial support
    • No fan control
    • Northbridge 2 is offline
    • IOMMU is disabled
  • SeaBIOS + uCode + VGA-OpROMs
Release
Notes
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

Deprecated

Release
Notes
Download Options
2025.03.08-v4.11-9f78cb25cd
  • Updated configs
    • Sets default CMOS settings each boot
    • Expanded CBFS for 16MB
  • SeaBIOS + uCode + VGA-OpROMs
  • SeaBIOS + uCode
  • SeaBIOS (blob-free)
2025.02.23-v4.11-583f5e6a34
  • Added fan control
2024.09.16-v4.11-d176edf4ae
  • Added more configuration variants
  • Removed coreinfo as a secondary payload
  • coreboot codebase unchanged

2024.09.14-v4.11-065549759c

  • Improved board stability
    • Fixed bugs in RAM initialization code
    • Fixed HyperTransport Deemphasis values
  • SeaBIOS + uCode + VGA-OpROMs