fixed a breakage introduced by the uclibc-snapshot version
[kvm-coreboot.git] / README
blobb24fff894cbd7f8225113e7a6e53435d67d416c9
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 Dependencies
15 * subversion
16 * quilt
17 * git
18 * ncurses-dev
19 * bin86 (the KVM tools)
21 Payloads
23 BuildROM supports 7 different payload configurations:
25 * Custom - Allows you to specify an external ELF file
26 * Etherboot
27 * FILO
28 * Kernel - build a kernel payload (just the kernel - no initramfs)
29 * LAB - Build a kernel plus a Linux As Bootloader initramfs attached to it
30 * OFW - Open Firmware 
31 * Memtest - Memtest86
33 Configuration
35 To configure the system, type 'make menuconfig' (or 'make oldconfig'),
36 and select your desired options, or answer the questions:
38 CONFIG_VERBOSE - show build output on stdout instead of a log file
39 CONFIG_ADVANCED - select some advanced options:
40   CONFIG_USE_LZMA - Compress payloads with LZMA (requires coreboot support)
41   CONFIG_CB_USE_BUILD - Say 'y' here to specify an existing build 
42                         directory for coreboot.  This is useful if you
43                         want build out of your development tree.  
44   CONFIG_CB_BUILDDIR - Specify your remote coreboot build directory here
46 Some of the payload options have their own configuration:
48 Custom:
49   CONFIG_CUSTOM_PAYLOAD - specify a filename for the custom payload
51 Kernel:
52   CONFIG_CMDLINE - Specify a command line to use for the kernel build
54 LaB:
55   CONFIG_KBL_KEXEC_ONLY - Build only the Kexec part of the KBL
56   CONFIG_KBL - Build Marcelo Toscatti's kernel boot loader
57   CONFIG_KVM - Build the KVM tools
58   CONFIG_BUSYBOX - Build busybox
60 memtest:
61   CONFIG_MEMTEST_SERIAL - say 'y' here to enable serial output for memtest
63 etherboot:
64   CONFIG_ETHERBOOT_DRIVER - specify the name of the NIC driver for etherboot,
65   i.e 'natsemi'
68 Building the ROM
70 To run the system, type 'make'.  You'll need a connection to the net to
71 suck down tarballs for the individual packages.  
73 The end result is a .rom file in the deploy/ directory.