coreboot (formerly known as LinuxBIOS) believes in the principles of Open Source software. It borrows many well known concepts from other Open Source projects, like Kconfig, the Linux kernel coding style, a git repository, and gerrit for code reviews.
Traditional firmware development works with one-off shots for a given device. That is why you can still buy so many devices with buggy firmware. The bug was fixed a long time ago, just not in your copy of the tree. This won't happen to you with coreboot.
Clone the repository:
git clone https://review.coreboot.org/coreboot.git
Once you created your Gerrit Review account, set up your gerrit http password and add it to your $HOME/.netrc file:
machine review.coreboot.org login YourUserNameHere password YourPasswordHere
Clone the repository:
git clone https://review.coreboot.org/coreboot.git
Setup all git hooks:
make gitconfig
You are now ready to start contributing code. Please read the sign-off procedure below, and welcome to the community.
The coreboot project employs a sign-off procedure similar to what is used by the Linux kernel. Each gerrit commit requires a sign-off line saying that the contributed code abides by the Developer's certificate of origin, below.
Signed-off-by: Random J Developer <random@developer.example.org>
Using '-s' with 'git commit' will automatically add a Signed-off-by line to your commit message.
Patches without a Signed-off-by should not be pushed to gerrit, and will be rejected by coreboot's CI system.
You must use a known identity in the Signed-off-by line. Anonymous patches cannot be committed!
This can be anything sufficient to identify and contact the source of a contribution, such as your name or an established alias/nickname.
By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it; and (d) In the case of each of (a), (b), or (c), I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license indicated in the file.Note: The Developer's Certificate of Origin 1.1 is licensed under the terms of the Creative Commons Attribution-ShareAlike 2.5 License.
coreboot architecture Gerrit Review guidelines Coding Style
The coreboot project as a whole is licensed as GPLv2. The files within the codebase are licensed individually, with many files licensed as BSD, or GPLv2+. The libpayload subproject is licensed as BSD. All contributions to libpayload MUST be compatible with the BSD license.
IRC Matrix Discord Mailing list Gerrit Review Bugtracker Jenkins CI Coverity Scan-build Calendar for events Code of Conduct 9elements QA System
We carefully selected a list of hardware tools that will make dealing with coreboot a lot easier. Part of the process of choosing this hardware is that it either works with open source utilities, or we write Open Source utilities for it. These utilities make it easy to build and deploy coreboot in automated environments.
Our documentation contains a tutorial to get started. Part 1 shows how to build coreboot on your PC and run it on a QEMU virtual machine.