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.
16 BuildROM supports 7 different payload configurations:
18 * Custom - Allows you to specify an external ELF file
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
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:
42 CONFIG_CUSTOM_PAYLOAD - specify a filename for the custom payload
45 CONFIG_CMDLINE - Specify a command line to use for the kernel build
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_KVM - Build the KVM tools
51 CONFIG_BUSYBOX - Build busybox
54 CONFIG_MEMTEST_SERIAL - say 'y' here to enable serial output for memtest
57 CONFIG_ETHERBOOT_DRIVER - specify the name of the NIC driver for etherboot,
63 To run the system, type 'make'. You'll need a connection to the net to
64 suck down tarballs for the individual packages.
66 The end result is a .rom file in the deploy/ directory.