Jakub Czapiga | c1e4c5a | 2021-07-23 13:35:14 +0200 | [diff] [blame] | 1 | coreboot README |
| 2 | =============== |
| 3 | |
| 4 | coreboot is a Free Software project aimed at replacing the proprietary BIOS |
| 5 | (firmware) found in most computers. coreboot performs a little bit of |
| 6 | hardware initialization and then executes additional boot logic, called a |
| 7 | payload. |
| 8 | |
| 9 | With the separation of hardware initialization and later boot logic, |
| 10 | coreboot can scale from specialized applications that run directly |
| 11 | firmware, run operating systems in flash, load custom |
| 12 | bootloaders, or implement firmware standards, like PC BIOS services or |
| 13 | UEFI. This allows for systems to only include the features necessary |
| 14 | in the target application, reducing the amount of code and flash space |
| 15 | required. |
| 16 | |
| 17 | coreboot was formerly known as LinuxBIOS. |
| 18 | |
| 19 | |
| 20 | Payloads |
| 21 | -------- |
| 22 | |
| 23 | After the basic initialization of the hardware has been performed, any |
| 24 | desired "payload" can be started by coreboot. |
| 25 | |
| 26 | See <https://www.coreboot.org/Payloads> for a list of supported payloads. |
| 27 | |
| 28 | |
| 29 | Supported Hardware |
| 30 | ------------------ |
| 31 | |
| 32 | coreboot supports a wide range of chipsets, devices, and mainboards. |
| 33 | |
| 34 | For details please consult: |
| 35 | |
| 36 | * <https://www.coreboot.org/Supported_Motherboards> |
| 37 | |
| 38 | |
| 39 | Build Requirements |
| 40 | ------------------ |
| 41 | |
| 42 | * make |
| 43 | * gcc / g++ |
| 44 | Because Linux distribution compilers tend to use lots of patches. coreboot |
| 45 | does lots of "unusual" things in its build system, some of which break due |
| 46 | to those patches, sometimes by gcc aborting, sometimes - and that's worse - |
| 47 | by generating broken object code. |
| 48 | Two options: use our toolchain (eg. make crosstools-i386) or enable the |
| 49 | `ANY_TOOLCHAIN` Kconfig option if you're feeling lucky (no support in this |
| 50 | case). |
| 51 | * iasl (for targets with ACPI support) |
| 52 | * pkg-config |
| 53 | * libssl-dev (openssl) |
| 54 | |
| 55 | Optional: |
| 56 | |
| 57 | * doxygen (for generating/viewing documentation) |
| 58 | * gdb (for better debugging facilities on some targets) |
| 59 | * ncurses (for `make menuconfig` and `make nconfig`) |
| 60 | * flex and bison (for regenerating parsers) |
| 61 | |
| 62 | |
| 63 | Building coreboot |
| 64 | ----------------- |
| 65 | |
| 66 | Please consult <https://www.coreboot.org/Build_HOWTO> for details. |
| 67 | |
| 68 | |
| 69 | Testing coreboot Without Modifying Your Hardware |
| 70 | ------------------------------------------------ |
| 71 | |
| 72 | If you want to test coreboot without any risks before you really decide |
| 73 | to use it on your hardware, you can use the QEMU system emulator to run |
| 74 | coreboot virtually in QEMU. |
| 75 | |
| 76 | Please see <https://www.coreboot.org/QEMU> for details. |
| 77 | |
| 78 | |
| 79 | Website and Mailing List |
| 80 | ------------------------ |
| 81 | |
| 82 | Further details on the project, a FAQ, many HOWTOs, news, development |
| 83 | guidelines and more can be found on the coreboot website: |
| 84 | |
| 85 | <https://www.coreboot.org> |
| 86 | |
| 87 | You can contact us directly on the coreboot mailing list: |
| 88 | |
| 89 | <https://www.coreboot.org/Mailinglist> |
| 90 | |
| 91 | |
| 92 | Copyright and License |
| 93 | --------------------- |
| 94 | |
| 95 | The copyright on coreboot is owned by quite a large number of individual |
| 96 | developers and companies. Please check the individual source files for details. |
| 97 | |
| 98 | coreboot is licensed under the terms of the GNU General Public License (GPL). |
| 99 | Some files are licensed under the "GPL (version 2, or any later version)", |
| 100 | and some files are licensed under the "GPL, version 2". For some parts, which |
| 101 | were derived from other projects, other (GPL-compatible) licenses may apply. |
| 102 | Please check the individual source files for details. |
| 103 | |
| 104 | This makes the resulting coreboot images licensed under the GPL, version 2. |