initial commit
[kvm-coreboot.git] / README
blobc9ab8e0f91cae60e713c991fd9f6e93246db2f0e
1 Buildrom README
3 I bend a grateful knee to my good friend Erik Andersen, and his buildroot
4 system from which most of the ideas for this were derived.
6 Introduction
8 This is a simple makefile system that designed to build a ROM image for 
9 coreboot (formally LinuxBIOS) based systems.  This system allows one to
10 choose one of several different payloads for a variety of platforms. 
11 The intention of buildROM is to build everything together with one step,
12 rather then the 6 or 8 individual steps that it would have taken previously.
14 Payloads
16 BuildROM supports 7 different payload configurations:
18 * Custom - Allows you to specify an external ELF file
19 * Etherboot
20 * FILO
21 * Kernel - build a kernel payload (just the kernel - no initramfs)
22 * LAB - Build a kernel plus a Linux As Bootloader initramfs attached to it
23 * OFW - Open Firmware 
24 * Memtest - Memtest86
26 Configuration
28 To configure the system, type 'make menuconfig' (or 'make oldconfig'),
29 and select your desired options, or answer the questions:
31 CONFIG_VERBOSE - show build output on stdout instead of a log file
32 CONFIG_ADVANCED - select some advanced options:
33   CONFIG_USE_LZMA - Compress payloads with LZMA (requires coreboot support)
34   CONFIG_CB_USE_BUILD - Say 'y' here to specify an existing build 
35                         directory for coreboot.  This is useful if you
36                         want build out of your development tree.  
37   CONFIG_CB_BUILDDIR - Specify your remote coreboot build directory here
39 Some of the payload options have their own configuration:
41 Custom:
42   CONFIG_CUSTOM_PAYLOAD - specify a filename for the custom payload
44 Kernel:
45   CONFIG_CMDLINE - Specify a command line to use for the kernel build
47 LaB:
48   CONFIG_KBL_KEXEC_ONLY - Build only the Kexec part of the KBL
49   CONFIG_KBL - Build Marcelo Toscatti's kernel boot loader
50   CONFIG_BUSYBOX - Build busybox
52 memtest:
53   CONFIG_MEMTEST_SERIAL - say 'y' here to enable serial output for memtest
55 etherboot:
56   CONFIG_ETHERBOOT_DRIVER - specify the name of the NIC driver for etherboot,
57   i.e 'natsemi'
60 Building the ROM
62 To run the system, type 'make'.  You'll need a connection to the net to
63 suck down tarballs for the individual packages.  
65 The end result is a .rom file in the deploy/ directory.