Adrien Bourmault
f7c0fec698
This commit updates the coreboot code base from release 4.11 to 4.11_branch for kgpe-d16, kcma-d8, kfsn4-dre and addresses one new blob related to this update. The main reason to update the codebase is to prevent a bug with RAM initialization that occured with coreboot 4.11 and raised the following critical error: fam15_receiver_enable_training_seed: using seed: 0054 fam15_receiver_enable_training_seed: using seed: 0054 TrainRcvrEn: Status 2005 TrainRcvrEn: ErrStatus 4000 TrainRcvrEn: ErrCode 0 TrainRcvrEn: Done TrainDQSReceiverEnCyc_D_Fam15: lane 0 failed to train! Training for receiver 2 on DCT 0 aborted TrainDQSReceiverEnCyc: Status 2205 TrainDQSReceiverEnCyc: TrainErrors 44000 TrainDQSReceiverEnCyc: ErrStatus 44000 TrainDQSReceiverEnCyc: ErrCode 0 TrainDQSReceiverEnCyc: Done TrainDQSReceiverEnCyc: Status 2005 TrainDQSReceiverEnCyc: TrainErrors 4000 TrainDQSReceiverEnCyc: ErrStatus 4000 TrainDQSReceiverEnCyc: ErrCode 0 TrainDQSReceiverEnCyc: Done DIMM training FAILED! Restarting system...soft_reset() called! This coreboot revision also correct some bugs with SMM, SMBIOS, IPMI and BMC. Some new values in coreboot configuration make coreboot first build stop to prompt users and forcing them to choose an option to continue: - CONFIG_STM - CONFIG_DEBUG_IPMI - CONFIG_VENDOR_VIA - CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 - CONFIG_IPMI_FRU_SINGLE_RW_SZ - CONFIG_IPMI_KCS_TIMEOUT_MS A bug has been opened about CONFIG_STM on our bug tracker [1], and we decided, for now, to unset this option explicitely. So in this commit we just regenerated configurations for each fam15h board via coreboot build prompts and copied the resulting configurations in the configuration folder and that results in the following: - unset CONFIG_STM - unset CONFIG_DEBUG_IPMI - unset CONFIG_VENDOR_VIA - unset CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 - set CONFIG_IPMI_FRU_SINGLE_RW_SZ=16 - set CONFIG_IPMI_KCS_TIMEOUT_MS=5000 [1]https://savannah.gnu.org/bugs/?64535 Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org> GNUtoo: split commit into "don't build ada toolchain for generic platforms" Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> Acked-by: Adrien 'neox' Bourmault <neox@gnu.org> |
||
---|---|---|
resources | ||
tests | ||
.gitcheck | ||
.gitignore | ||
COPYING | ||
Makefile | ||
README.md | ||
build | ||
download | ||
modify | ||
projectname | ||
update |
README.md
GNU Boot
GNU Boot is a GNU project and a freedom-respecting boot firmware that initializes the hardware (e.g. memory controller, CPU, peripherals) in your computer so that software can run. GNU Boot then starts a bootloader to load your operating system. It replaces the proprietary BIOS/UEFI firmware typically found on a computer. GNU Boot is compatible with specific computer models that use the Intel/AMD x86 architecture. GNU Boot works well with GNU+Linux and BSD operating systems.
GNU Boot uses coreboot for hardware initialization. However, coreboot is notoriously difficult to compile and install for most non-technical users. There are many complicated configuration steps required, and coreboot by itself is useless; coreboot only handles basic hardware initialization, and then jumps to a separate payload program. The payload program can be anything, for example a Linux kernel, bootloader (such as GNU GRUB), UEFI implementation (such as Tianocore) or BIOS implementation (such as SeaBIOS). While not quite as complicated as building a GNU+Linux distribution from scratch, it may aswell be as far as most non-technical users are concerned.
GNU Boot solves this problem : GNU Boot is a coreboot distribution much like Debian is a GNU+Linux distribution. GNU Boot provides an automated build system that downloads, patches (where necessary) and compiles coreboot, GNU GRUB, various payloads and all other software components needed to build a complete, working ROM image that you can install to replace your current BIOS/UEFI firmware, much like a GNU+Linux distribution (e.g. Debian) provides an ISO image that you can use to replace your current operating system (e.g. Windows).
Not a coreboot fork!
GNU Boot is not a fork of coreboot. Every so often, the project re-bases on the latest version of coreboot, with the number of custom patches in use minimized. Tested, stable (static) releases are then provided in GNU Boot, based on specific coreboot revisions.
Coreboot is not entirely free software. It has binary blobs in it for some platforms. What GNU Boot does is download several revisions of coreboot, for different boards, and de-blob those coreboot revisions. This is done using the linux-libre deblob scripts, to find binary blobs in coreboot.
All new coreboot development should be done in coreboot (upstream), not GNU Boot ! GNU Boot is about deblobbing and packaging coreboot in a user-friendly way, where most work is already done for the user.
For example, if you wanted to add a new board to GNU Boot, you should add it to coreboot first. GNU Boot will automatically receive your code at a later date, when it updates itself.
The deblobbed coreboot tree used in GNU Boot is referred to as coreboot-libre, to distinguish it as a component of GNU Boot.
How this project came to exist
We believe computer users deserve to control all the software they run. This belief is the key principle of the Free Software Movement, and was the motive for developing the GNU operating system and starting the Free Software Foundation. We believe computer user freedom is a crucial human rights.
Unfortunately, such a muddle happened last year with a boot program that was free software and was called Libreboot: the development team added nonfree code to it, but continued to refer to it misleadingly as “Libreboot”.
Libreboot was first released in 2013. It has been widely recommended in the free software community for the last nine years. In November 2022, “Libreboot” began to include non-libre code. We have made repeated efforts to continue collaboration with those developers to help their version of Libreboot remain libre, but that was not successful.
Now we’ve stepped forward to stand up for freedom, ours and that of the wider community, by maintaining our own version – a genuinely libre boot distribution: GNU Boot.
LICENSE FOR THIS README: GNU Free Documentation License 1.3 as published by the Free Software Foundation, with no invariant sections, no front cover texts and no back cover texts. If you wish it, you may use a later version of the GNU Free Documentation License as published by the Free Software Foundation.
Copy of the GNU Free Documentation License v1.3 here: https://www.gnu.org/licenses/fdl-1.3.en.html
Info about Free Software Foundation: https://www.fsf.org/