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.
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.
19 * bin86 (the KVM tools)
23 BuildROM supports 7 different payload configurations:
25 * Custom - Allows you to specify an external ELF file
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
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:
49 CONFIG_CUSTOM_PAYLOAD - specify a filename for the custom payload
52 CONFIG_CMDLINE - Specify a command line to use for the kernel build
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
61 CONFIG_MEMTEST_SERIAL - say 'y' here to enable serial output for memtest
64 CONFIG_ETHERBOOT_DRIVER - specify the name of the NIC driver for etherboot,
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.