blob: 651aa6191c6327d5e9ff43d85ee0bcf71c2b2392 [file] [log] [blame]
Uwe Hermann10d55b42006-10-20 21:50:01 +00001-------------------------------------------------------------------------------
Uwe Hermann0346c222009-04-17 17:11:39 +00002coreboot README
Uwe Hermann10d55b42006-10-20 21:50:01 +00003-------------------------------------------------------------------------------
4
Stefan Reinauer5eef65b2011-06-10 20:05:53 +02005coreboot is a Free Software project aimed at replacing the proprietary BIOS
6(firmware) found in most computers. coreboot performs a little bit of
7hardware initialization and then executes additional boot logic, called a
8payload.
Uwe Hermann10d55b42006-10-20 21:50:01 +00009
Stefan Reinauer5eef65b2011-06-10 20:05:53 +020010With the separation of hardware initialization and later boot logic,
11coreboot can scale from specialized applications that run directly
12firmware, run operating systems in flash, load custom
13bootloaders, or implement firmware standards, like PC BIOS services or
14UEFI. This allows for systems to only include the features necessary
15in the target application, reducing the amount of code and flash space
16required.
17
18coreboot was formerly known as LinuxBIOS.
Uwe Hermann10d55b42006-10-20 21:50:01 +000019
20
21Payloads
22--------
23
24After the basic initialization of the hardware has been performed, any
Uwe Hermann0346c222009-04-17 17:11:39 +000025desired "payload" can be started by coreboot.
Uwe Hermann10d55b42006-10-20 21:50:01 +000026
Paul Menzela8843de2017-06-05 12:33:23 +020027See https://www.coreboot.org/Payloads for a list of supported payloads.
Uwe Hermann10d55b42006-10-20 21:50:01 +000028
29
30Supported Hardware
31------------------
32
Uwe Hermann0346c222009-04-17 17:11:39 +000033coreboot supports a wide range of chipsets, devices, and mainboards.
Uwe Hermann10d55b42006-10-20 21:50:01 +000034
35For details please consult:
36
Paul Menzela8843de2017-06-05 12:33:23 +020037 * https://www.coreboot.org/Supported_Motherboards
38 * https://www.coreboot.org/Supported_Chipsets_and_Devices
Uwe Hermann10d55b42006-10-20 21:50:01 +000039
40
Uwe Hermann0346c222009-04-17 17:11:39 +000041Build Requirements
42------------------
43
Uwe Hermann0346c222009-04-17 17:11:39 +000044 * make
Patrick Georgi221761e2015-07-23 21:08:30 +020045 * 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)
Stefan Reinauer5128f1b2017-06-27 00:49:51 +020054 * pkg-config
55 * libssl-dev (openssl)
Uwe Hermann0346c222009-04-17 17:11:39 +000056
57Optional:
58
59 * doxygen (for generating/viewing documentation)
Uwe Hermann0346c222009-04-17 17:11:39 +000060 * gdb (for better debugging facilities on some targets)
Patrick Georgi221761e2015-07-23 21:08:30 +020061 * ncurses (for 'make menuconfig' and 'make nconfig')
Patrick Georgi7e8c9aa2010-04-08 11:37:43 +000062 * flex and bison (for regenerating parsers)
Uwe Hermann0346c222009-04-17 17:11:39 +000063
64
65Building coreboot
66-----------------
67
Paul Menzela8843de2017-06-05 12:33:23 +020068Please consult https://www.coreboot.org/Build_HOWTO for details.
Uwe Hermann0346c222009-04-17 17:11:39 +000069
70
71Testing coreboot Without Modifying Your Hardware
Uwe Hermann16db6c32010-09-23 18:48:27 +000072------------------------------------------------
Uwe Hermann0346c222009-04-17 17:11:39 +000073
74If you want to test coreboot without any risks before you really decide
75to use it on your hardware, you can use the QEMU system emulator to run
76coreboot virtually in QEMU.
77
Paul Menzela8843de2017-06-05 12:33:23 +020078Please see https://www.coreboot.org/QEMU for details.
Uwe Hermann0346c222009-04-17 17:11:39 +000079
80
Uwe Hermann10d55b42006-10-20 21:50:01 +000081Website and Mailing List
82------------------------
83
84Further details on the project, a FAQ, many HOWTOs, news, development
Stefan Reinauerf8ee1802008-01-18 15:08:58 +000085guidelines and more can be found on the coreboot website:
Uwe Hermann10d55b42006-10-20 21:50:01 +000086
Paul Menzela8843de2017-06-05 12:33:23 +020087 https://www.coreboot.org
Uwe Hermann10d55b42006-10-20 21:50:01 +000088
Stefan Reinauerf8ee1802008-01-18 15:08:58 +000089You can contact us directly on the coreboot mailing list:
Uwe Hermann10d55b42006-10-20 21:50:01 +000090
Paul Menzela8843de2017-06-05 12:33:23 +020091 https://www.coreboot.org/Mailinglist
Uwe Hermann10d55b42006-10-20 21:50:01 +000092
93
94Copyright and License
95---------------------
96
Stefan Reinauerf8ee1802008-01-18 15:08:58 +000097The copyright on coreboot is owned by quite a large number of individual
Uwe Hermann10d55b42006-10-20 21:50:01 +000098developers and companies. Please check the individual source files for details.
99
Uwe Hermann0346c222009-04-17 17:11:39 +0000100coreboot is licensed under the terms of the GNU General Public License (GPL).
Uwe Hermann10d55b42006-10-20 21:50:01 +0000101Some files are licensed under the "GPL (version 2, or any later version)",
Uwe Hermanndbbecb52010-02-25 16:09:53 +0000102and some files are licensed under the "GPL, version 2". For some parts, which
103were derived from other projects, other (GPL-compatible) licenses may apply.
104Please check the individual source files for details.
Uwe Hermann10d55b42006-10-20 21:50:01 +0000105
Stefan Reinauerf8ee1802008-01-18 15:08:58 +0000106This makes the resulting coreboot images licensed under the GPL, version 2.