coreboot-v3/README
<<
>>
Prefs
   1-------------------------------------------------------------------------------
   2coreboot README
   3-------------------------------------------------------------------------------
   4
   5Coreboot is a Free Software project aimed at replacing the proprietary
   6BIOS you can find in most of today's computers.
   7
   8It performs just a little bit of hardware initialization and then executes
   9one of many possible payloads.
  10
  11
  12Payloads
  13--------
  14
  15After the basic initialization of the hardware has been performed, any
  16desired "payload" can be started by coreboot. Examples include:
  17
  18 * A Linux kernel
  19 * FILO (a simple bootloader with filesystem support)
  20 * GRUB2 (a free bootloader; support is in development)
  21 * OpenBIOS (a free IEEE1275-1994 Open Firmware implementation)
  22 * Open Firmware (a free IEEE1275-1994 Open Firmware implementation)
  23 * SmartFirmware (a free IEEE1275-1994 Open Firmware implementation)
  24 * GNUFI (a free, UEFI-compatible firmware)
  25 * Etherboot (for network booting and booting from raw IDE or FILO)
  26 * ADLO (for booting Windows 2000 or OpenBSD)
  27 * Plan 9 (a distributed operating system)
  28 * memtest86 (for testing your RAM)
  29
  30
  31Supported Hardware
  32------------------
  33
  34Coreboot supports a wide range of chipsets, devices, and mainboards.
  35
  36For details please consult:
  37
  38 * http://www.coreboot.org/Supported_Motherboards
  39 * http://www.coreboot.org/Supported_Chipsets_and_Devices
  40
  41
  42Build Requirements
  43------------------
  44
  45 * gcc / g++
  46 * make
  47 * bison
  48 * flex
  49 * libncurses5-dev
  50
  51Optional (for generating/viewing documentation):
  52
  53 * lyx
  54 * doxygen
  55
  56
  57Building And Installing
  58-----------------------
  59
  60Note: Currently only the x86 QEMU target is supported in coreboot-v3.
  61
  621) Build a payload:
  63
  64  THIS IS NOT IMPLEMENTED YET. PLEASE BUILD YOUR PAYLOAD MANUALLY.
  65
  66  $ make payload
  67
  68  This step is optional. The 'make payload' command will execute a
  69  helper tool which allows you to easily build and configure a wide
  70  variety of payloads. The result of this step is usually a file
  71  called 'payload.elf' in the top-level directory.
  72
  732) Configure coreboot:
  74
  75  $ make menuconfig
  76
  77  Select at least the desired mainboard vendor, the mainboard device, and
  78  the size of your ROM chip. Per default coreboot will look for a file
  79  called 'payload.elf' in the current directory and use that as the payload.
  80
  81  If that's not what you want, you can change the path/filename of the
  82  payload to use some other payload file. Or you can choose 'No payload'
  83  in the configuration menu, in which case the resulting coreboot ROM image
  84  will not contain any payload. You'll have to manually add a payload
  85  later using the 'lar' utility for the coreboot ROM image to be useful.
  86
  873) Build the coreboot ROM image:
  88
  89  $ make
  90
  91  The generated ROM image is the file coreboot.rom in the build/ directory.
  92
  934) Flash the coreboot ROM image on a BIOS chip:
  94
  95  $ flashrom -wv coreboot.rom
  96
  97  NOTE: This step will OVERWRITE the current BIOS located on the ROM chip!
  98  Make sure you have adequate backup facilities before performing this
  99  step, otherwise you might not be able to recover in case of problems.
 100  If you have any questions, please contact us on the mailing list!
 101
 102  The 'flashrom' tool is located in util/flashrom where you can build it
 103  from source code by typing 'make'. Alternatively, your favorite Linux
 104  distribution might ship a 'flashrom' package which provides the 'flashrom'
 105  program in (e.g.) /usr/sbin. On Debian GNU/Linux systems you can get
 106  the flashrom package via 'apt-get install flashrom'.
 107
 108
 109Testing coreboot Without Modifying Your Hardware
 110-------------------------------------------------
 111
 112If you want to test coreboot without any risks before you really decide
 113to use it on your hardware, you can use the QEMU system emulator to run
 114coreboot virtually in QEMU.
 115
 116The required steps are:
 117
 118  $ make menuconfig
 119
 120    Select 'Emulated systems' as mainboard vendor and 'QEMU x86' as
 121    mainboard model.
 122
 123  $ make
 124
 125  $ qemu -L build -hda /dev/zero -serial stdio
 126
 127  This will run coreboot in QEMU and output all debugging messages (which
 128  are usually emitted to a serial console) on stdout. It will not do
 129  anything useful beyond that, as you provided no virtual harddrive to
 130  QEMU (-hda /dev/zero).
 131
 132  If you have a full QEMU hard drive image (say /tmp/qemu.img) with a Linux
 133  distribution installed, you can boot that Linux kernel by using a proper
 134  FILO payload with coreboot and typing:
 135
 136  $ qemu -L build -hda /tmp/qemu.img -serial stdio
 137
 138  Installing a Linux distribution in QEMU and building the FILO payload is
 139  beyond the scope of this document.
 140
 141
 142Website and Mailing List
 143------------------------
 144
 145Further details on the project, a FAQ, many HOWTOs, news, development
 146guidelines and more can be found on the coreboot website:
 147
 148  http://www.coreboot.org/
 149
 150You can contact us directly on the coreboot mailing list:
 151
 152  http://www.coreboot.org/Mailinglist
 153
 154
 155Copyright and License
 156---------------------
 157
 158The copyright on coreboot is owned by quite a large number of individual
 159developers and companies. Please check the individual source files for details.
 160
 161Coreboot is licensed under the terms of the GNU General Public License (GPL).
 162Some files are licensed under the "GPL (version 2, or any later version)",
 163and some files are licensed under the "GPL, version 2". For some parts,
 164which were derived from other Free Software projects, other (GPL-compatible)
 165licenses may apply. Please check the individual source files for details.
 166
 167This makes the resulting coreboot images licensed under the GPL, version 2.
 168
 169
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.