Difference between revisions of "Buildrom"
m |
(→Supported Platforms/Boards: ALIX.2C3. v2/v3 status.) |
||
| Line 76: | Line 76: | ||
| AMD Athlon™ 64 / FX / X2 | | AMD Athlon™ 64 / FX / X2 | ||
| Socket 939 | | Socket 939 | ||
| − | | style="background: | + | | style="background:lime" | OK |
| − | | style="background: | + | | style="background:red" | N/A |
| [[ASUS A8V-E SE Build Tutorial|Tutorial]] | | [[ASUS A8V-E SE Build Tutorial|Tutorial]] | ||
|- bgcolor="#eeeeee" | |- bgcolor="#eeeeee" | ||
| Line 87: | Line 87: | ||
| AMD Athlon™ 64 / FX / X2 | | AMD Athlon™ 64 / FX / X2 | ||
| Socket 939 | | Socket 939 | ||
| − | | style="background: | + | | style="background:lime" | OK |
| − | | style="background: | + | | style="background:red" | N/A |
| [[ASUS A8V-E Deluxe Build Tutorial|Tutorial]] | | [[ASUS A8V-E Deluxe Build Tutorial|Tutorial]] | ||
| Line 111: | Line 111: | ||
| Intel® Pentium® II/III (?) | | Intel® Pentium® II/III (?) | ||
| — | | — | ||
| − | | style="background: | + | | style="background:lime" | OK |
| − | | style="background: | + | | style="background:lime" | OK |
| [[QEMU Build Tutorial|Tutorial]] | | [[QEMU Build Tutorial|Tutorial]] | ||
| Line 123: | Line 123: | ||
| AMD Sempron™ / Athlon™ 64 / FX / X2 | | AMD Sempron™ / Athlon™ 64 / FX / X2 | ||
| Socket AM2 | | Socket AM2 | ||
| − | | style="background: | + | | style="background:lime" | OK |
| − | | style="background: | + | | style="background:red" | N/A |
| [[GIGABYTE GA-M57SLI-S4 Build Tutorial|Tutorial]] | | [[GIGABYTE GA-M57SLI-S4 Build Tutorial|Tutorial]] | ||
|- bgcolor="#dddddd" | |- bgcolor="#dddddd" | ||
| Line 134: | Line 134: | ||
| AMD Sempron™ / Athlon™ 64 / FX / X2 (?) | | AMD Sempron™ / Athlon™ 64 / FX / X2 (?) | ||
| Socket AM2 | | Socket AM2 | ||
| − | | style="background: | + | | style="background:lime" | OK |
| − | | style="background: | + | | style="background:red" | N/A |
| [[GIGABYTE_GA-2761GXDK_Build_Tutorial|Tutorial]] | | [[GIGABYTE_GA-2761GXDK_Build_Tutorial|Tutorial]] | ||
|- bgcolor="#eeeeee" | |- bgcolor="#eeeeee" | ||
| PC Engines | | PC Engines | ||
| − | | [http://pcengines.ch/alix1c.htm | + | | [http://pcengines.ch/alix1c.htm ALIX.1C] |
| AMD Geode™ LX | | AMD Geode™ LX | ||
| AMD Geode™ CS5536 | | AMD Geode™ CS5536 | ||
| Line 146: | Line 146: | ||
| AMD Geode™ LX | | AMD Geode™ LX | ||
| — | | — | ||
| − | | style="background: | + | | style="background:lime" | OK |
| − | | style="background: | + | | style="background:lime" | OK |
| [[PC Engines ALIX1.C Build Tutorial|Tutorial]] | | [[PC Engines ALIX1.C Build Tutorial|Tutorial]] | ||
| + | |- bgcolor="#eeeeee" | ||
| + | | PC Engines | ||
| + | | [http://pcengines.ch/alix2c3.htm ALIX.2C3] | ||
| + | | AMD Geode™ LX | ||
| + | | AMD Geode™ CS5536 | ||
| + | | — | ||
| + | | AMD Geode™ LX | ||
| + | | — | ||
| + | | style="background:red" | N/A | ||
| + | | style="background:lime" | OK | ||
| + | | — | ||
|- bgcolor="#dddddd" | |- bgcolor="#dddddd" | ||
| Line 158: | Line 169: | ||
| AMD Opteron™ | | AMD Opteron™ | ||
| Socket F | | Socket F | ||
| − | | style="background: | + | | style="background:lime" | OK |
| − | | style="background: | + | | style="background:red" | N/A |
| — | | — | ||
| Line 170: | Line 181: | ||
| AMD Opteron™ | | AMD Opteron™ | ||
| Socket 940 | | Socket 940 | ||
| − | | style="background: | + | | style="background:lime" | OK |
| − | | style="background: | + | | style="background:red" | N/A |
| [[Tyan S2881 Build Tutorial|Tutorial]] | | [[Tyan S2881 Build Tutorial|Tutorial]] | ||
|- bgcolor="#eeeeee" | |- bgcolor="#eeeeee" | ||
| Line 181: | Line 192: | ||
| AMD Opteron™ | | AMD Opteron™ | ||
| Socket 940 | | Socket 940 | ||
| − | | style="background: | + | | style="background:lime" | OK |
| − | | style="background: | + | | style="background:red" | N/A |
| [[Tyan S2882 Build Tutorial|Tutorial]] | | [[Tyan S2882 Build Tutorial|Tutorial]] | ||
|- bgcolor="#eeeeee" | |- bgcolor="#eeeeee" | ||
| Line 192: | Line 203: | ||
| AMD Opteron™ | | AMD Opteron™ | ||
| Socket 940 | | Socket 940 | ||
| − | | style="background: | + | | style="background:lime" | OK |
| − | | style="background: | + | | style="background:red" | N/A |
| [[Tyan S2891 Build Tutorial|Tutorial]] | | [[Tyan S2891 Build Tutorial|Tutorial]] | ||
Revision as of 21:49, 22 April 2008
Buildrom is a tool that can construct a coreboot image (comprising the coreboot loader and payload) from scratch.
Starting from a configuration file, it will download and build all the code necessary to construct the final binary.
A tool with similar functionality is Etherboot's ROM-o-matic which builds etherboot as a coreboot ELF payload.
Contents |
Supported Platforms/Boards
Buildrom currently supports the following platforms / mainboards:
| Vendor | Mainboard | Northbridge | Southbridge | Super I/O | CPU | Socket | v2 | v3 | Tutorial |
|---|---|---|---|---|---|---|---|---|---|
| AMD | DB800 (Salsa) | AMD LX | AMD CS5536 | Winbond™ W83627HF | AMD Geode™ LX | — | ? | ? | — |
| AMD | Norwich | AMD LX | AMD CS5536 | — | AMD Geode™ LX | — | ? | ? | — |
| AMD | Serengeti Cheetah | AMD K8 | AMD-8111™, 8151™, 8132™ | Winbond™ W83627HF | AMD Opteron™ | Socket F | ? | ? | — |
| Artec Group | DBE61 | AMD LX | AMD CS5536 | — | AMD Geode™ LX | — | ? | ? | — |
| ASUS | A8V-E SE | AMD K8 | VIA K8T890 / VT8237R | Winbond™ W83627EHG | AMD Athlon™ 64 / FX / X2 | Socket 939 | OK | N/A | Tutorial |
| ASUS | A8V-E Deluxe | AMD K8 | VIA K8T890 / VT8237R | Winbond™ W83627EHG | AMD Athlon™ 64 / FX / X2 | Socket 939 | OK | N/A | Tutorial |
| DIGITAL-LOGIC | MSM800SEV | AMD Geode™ LX | AMD Geode™ CS5536 | — | AMD Geode™ LX | — | ? | ? | — |
| Emulation | QEMU x86 | Intel® 440BX | Intel® 82371EB (PIIX4E) | — | Intel® Pentium® II/III (?) | — | OK | OK | Tutorial |
| GIGABYTE | GA-M57SLI-S4 | AMD K8 | NVIDIA MCP55 | ITE IT8716F | AMD Sempron™ / Athlon™ 64 / FX / X2 | Socket AM2 | OK | N/A | Tutorial |
| GIGABYTE | GA-2761GXDK (Churchill) | AMD K8 | SiS761GX/SiS966 | ITE IT8716F | AMD Sempron™ / Athlon™ 64 / FX / X2 (?) | Socket AM2 | OK | N/A | Tutorial |
| PC Engines | ALIX.1C | AMD Geode™ LX | AMD Geode™ CS5536 | Winbond® W83627HF | AMD Geode™ LX | — | OK | OK | Tutorial |
| PC Engines | ALIX.2C3 | AMD Geode™ LX | AMD Geode™ CS5536 | — | AMD Geode™ LX | — | N/A | OK | — |
| Supermicro | H8DMR-i2 | AMD K8 | NVIDIA MCP55 | Winbond™ W83627EHG | AMD Opteron™ | Socket F | OK | N/A | — |
| Tyan | Thunder K8SR (S2881) | AMD K8 | AMD-8111™, 8131™ | Winbond™ W83627HF | AMD Opteron™ | Socket 940 | OK | N/A | Tutorial |
| Tyan | Thunder K8S Pro (S2882) | AMD K8 | AMD-8111™, 8131™ | Winbond™ W83627HF | AMD Opteron™ | Socket 940 | OK | N/A | Tutorial |
| Tyan | Thunder K8SRE (S2891) | AMD K8 | AMD-8131™, NVIDIA CK8041 | Winbond™ W83627HF | AMD Opteron™ | Socket 940 | OK | N/A | Tutorial |
Supported Payloads
Buildrom currently supports the following payloads:
- Linux (kernel)
- Etherboot
- FILO
- "Linux-as-bootloader" (LAB)
- Memtest86 (except on the GA-M57SLI-S4 and the Tyan S2891)
- coreinfo
- tint
- libpayload as helper library for other payloads (e.g. coreinfo)
- Custom payloads provided by the user
Experimental or untested payloads:
Planned payloads:
Download
$ svn co svn://coreboot.org/buildrom
You can also visit the web-based trac instance to browse the code and outstanding issues.
Prerequisites
You will need the following packages on your system to use buildrom. Please consult your distribution documentation on how to install new packages:
- wget
- subversion
- git
- make
- quilt
- GNU compiler tools (gcc, as, ld)
- Standard utilities (rm, cp, gzip, bzip2, tar, dd, md5sum, awk, etc.)
- iasl (for AMD K8 platforms)
- python
- ruby (for the GRUB2 payload)
Configuration
In the buildrom-devel directory, type:
$ make menuconfig
You can now navigate the configuration system (this is the same configuration engine that the Linux kernel uses, so it should be familiar to some readers).
Building the ROM
Make sure you have access to the Internet (to download new packages), and type the following to create your ROM:
$ make
Buildrom will download and build all the components of the ROM selected in the configuration stage. If the build is successful, then the final ROM will be located in the deploy subdirectory. If it is not successful, then you will see an error message. You can see the build output for each package by reading build.log in the work/<package>/logs directory (e.g. work/filo/logs/build.log).
Developing within Buildrom
This section is for the developers who wish to change and rebuild the code. Buildrom builds the code for coreboot and the payloads in the work/ directory.
Here is a typical view of the buildrom work/ directory:
$ ls work/ coreboot filo nrvb2
In each directory, you will find three directories. Logs from the build will be found in logs/ and timestamps that the build system uses are in stamps/. You normally won't have to touch these directories. The source code is located in the third directory, svn/.
Buildrom provides several commands to make it easy to rebuild individual packages and ROMs.
- To clean a directory (but not remove the source code) use make <package>-clean.
- You can build individual packages with make <package>.
- If you wish to completely erase the source code and start again with a pristine version, use make <package>-distclean.
- Typing make at any time will rebuild the ROM using the most current versions of the individual packages.
Here is a typical work flow for modifying coreboot code:
- Build the initial ROM from scratch with 'make'
- Edit the coreboot source code in work/coreboot/svn/
- Clean the coreboot package with make coreboot-clean
- Rebuild the ROM with make'