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