blob: e7136ec0d2d328ee88e5b4fb9fa02323722372cd [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)
Uwe Hermann0346c222009-04-17 17:11:39 +000054
55Optional:
56
57 * doxygen (for generating/viewing documentation)
Uwe Hermann0346c222009-04-17 17:11:39 +000058 * gdb (for better debugging facilities on some targets)
Patrick Georgi221761e2015-07-23 21:08:30 +020059 * ncurses (for 'make menuconfig' and 'make nconfig')
Patrick Georgi7e8c9aa2010-04-08 11:37:43 +000060 * flex and bison (for regenerating parsers)
Uwe Hermann0346c222009-04-17 17:11:39 +000061
62
63Building coreboot
64-----------------
65
Paul Menzela8843de2017-06-05 12:33:23 +020066Please consult https://www.coreboot.org/Build_HOWTO for details.
Uwe Hermann0346c222009-04-17 17:11:39 +000067
68
69Testing coreboot Without Modifying Your Hardware
Uwe Hermann16db6c32010-09-23 18:48:27 +000070------------------------------------------------
Uwe Hermann0346c222009-04-17 17:11:39 +000071
72If you want to test coreboot without any risks before you really decide
73to use it on your hardware, you can use the QEMU system emulator to run
74coreboot virtually in QEMU.
75
Paul Menzela8843de2017-06-05 12:33:23 +020076Please see https://www.coreboot.org/QEMU for details.
Uwe Hermann0346c222009-04-17 17:11:39 +000077
78
Uwe Hermann10d55b42006-10-20 21:50:01 +000079Website and Mailing List
80------------------------
81
82Further details on the project, a FAQ, many HOWTOs, news, development
Stefan Reinauerf8ee1802008-01-18 15:08:58 +000083guidelines and more can be found on the coreboot website:
Uwe Hermann10d55b42006-10-20 21:50:01 +000084
Paul Menzela8843de2017-06-05 12:33:23 +020085 https://www.coreboot.org
Uwe Hermann10d55b42006-10-20 21:50:01 +000086
Stefan Reinauerf8ee1802008-01-18 15:08:58 +000087You can contact us directly on the coreboot mailing list:
Uwe Hermann10d55b42006-10-20 21:50:01 +000088
Paul Menzela8843de2017-06-05 12:33:23 +020089 https://www.coreboot.org/Mailinglist
Uwe Hermann10d55b42006-10-20 21:50:01 +000090
91
92Copyright and License
93---------------------
94
Stefan Reinauerf8ee1802008-01-18 15:08:58 +000095The copyright on coreboot is owned by quite a large number of individual
Uwe Hermann10d55b42006-10-20 21:50:01 +000096developers and companies. Please check the individual source files for details.
97
Uwe Hermann0346c222009-04-17 17:11:39 +000098coreboot is licensed under the terms of the GNU General Public License (GPL).
Uwe Hermann10d55b42006-10-20 21:50:01 +000099Some files are licensed under the "GPL (version 2, or any later version)",
Uwe Hermanndbbecb52010-02-25 16:09:53 +0000100and some files are licensed under the "GPL, version 2". For some parts, which
101were derived from other projects, other (GPL-compatible) licenses may apply.
102Please check the individual source files for details.
Uwe Hermann10d55b42006-10-20 21:50:01 +0000103
Stefan Reinauerf8ee1802008-01-18 15:08:58 +0000104This makes the resulting coreboot images licensed under the GPL, version 2.