https://openfirmware.info/index.php?title=OFW_as_a_Coreboot_Payload&feed=atom&action=historyOFW as a Coreboot Payload - Revision history2024-03-19T06:59:08ZRevision history for this page on the wikiMediaWiki 1.40.0https://openfirmware.info/index.php?title=OFW_as_a_Coreboot_Payload&diff=396&oldid=prevWmb: Page rename2011-03-18T22:04:59Z<p>Page rename</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 22:04, 18 March 2011</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This page tells how to build Open Firmware as a Coreboot payload and run it under QEMU. You can also run Open Firmware under QEMU without Coreboot:</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This page tells how to build Open Firmware as a Coreboot payload and run it under QEMU. You can also run Open Firmware under QEMU without Coreboot:</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* You can build a QEMU ROM image directly from code in the OFW tree - see [[Building OFW for QEMU]].</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* You can build a QEMU ROM image directly from code in the OFW tree - see [[Building OFW for QEMU]].</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* You can boot OFW from a conventional BIOS - see [[Building OFW to <del style="font-weight: bold; text-decoration: none;">Run Under </del>BIOS]]</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* You can boot OFW from a conventional BIOS - see [[Building OFW to <ins style="font-weight: bold; text-decoration: none;">Load from </ins>BIOS]]</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Software Requirements ===</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Software Requirements ===</div></td></tr>
</table>Wmbhttps://openfirmware.info/index.php?title=OFW_as_a_Coreboot_Payload&diff=395&oldid=prevWmb: Fixed a typo2008-12-28T05:09:22Z<p>Fixed a typo</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 05:09, 28 December 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l11">Line 11:</td>
<td colspan="2" class="diff-lineno">Line 11:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Building Open Firmware ===</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Building Open Firmware ===</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">You need . Most versions will work.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Download the Open Firmware source:</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Download the Open Firmware source:</div></td></tr>
</table>Wmbhttps://openfirmware.info/index.php?title=OFW_as_a_Coreboot_Payload&diff=394&oldid=prevWmb: Moved Coreboot+OFW instructions to a separate page2008-12-28T05:08:02Z<p>Moved Coreboot+OFW instructions to a separate page</p>
<p><b>New page</b></p><div>This page tells how to build Open Firmware as a Coreboot payload and run it under QEMU. You can also run Open Firmware under QEMU without Coreboot:<br />
* You can build a QEMU ROM image directly from code in the OFW tree - see [[Building OFW for QEMU]].<br />
* You can boot OFW from a conventional BIOS - see [[Building OFW to Run Under BIOS]]<br />
<br />
=== Software Requirements ===<br />
<br />
* qemu-0.9.1<br />
* Open Firmware rev. >= 1051<br />
* coreboot >= v2<br />
* GCC and GNU make - OFW builds with most versions; I'm not sure which versions Coreboot needs<br />
<br />
=== Building Open Firmware ===<br />
<br />
You need . Most versions will work.<br />
<br />
Download the Open Firmware source:<br />
<br />
svn co svn://openfirmware.info/openfirmware<br />
<br />
Configure OFW for Coreboot:<br />
<br />
cd openfirmware/cpu/x86/pc/biosload<br />
cp config-coreboot.fth config.fth<br />
<br />
Build OFW:<br />
<br />
cd build<br />
make<br />
<br />
After make is finished (it shouldn't take long) there should be a file "ofwlb.elf" in the same directory. Copy this to your coreboot-v[x] directory.<br />
<br />
=== Building coreboot ===<br />
Follow the instructions in the coreboot documentation, using ofwlb.elf as your payload file.<br />
<br />
=== Getting QEMU ===<br />
Get QEMU >= 0.9.1 from http://bellard.org/qemu/download.html<br />
<br />
Version 0.9.1 should "just work". It supports reasonably large ROM images, determining the emulated ROM size from the size of the image file. There was a "qemu_biossize.patch" for qemu-0.9.0, but the site that hosted that patch is defunct.<br />
<br />
=== Run Your ROM Image ===<br />
<br />
qemu -L coreboot-v3/build -hda path/to/disk.img -serial `tty` -nographic<br />
<br />
=== Ideas for Improvement ===<br />
<br />
These instructions build a rather plain OFW configuration that lacks drivers for several of QEMU's specific I/O devices (Ethernet, video, sound). Suitable drivers are in the OFW tree, and are included in the QEMU build described in [[Building OFW for QEMU]]. It would be nice to add those drivers to the configuration described herein. If the Cirrus video driver were added, qemu could be used in graphic mode.<br />
<br />
<br />
__NOEDITSECTION__</div>Wmb