CINXE.COM

Payloads — coreboot 24.08-1260-g2f808d0ab6 documentation

<!DOCTYPE html> <html class="writer-html5" lang="en" data-content_root="./"> <head> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Payloads &mdash; coreboot 24.08-1260-g2f808d0ab6 documentation</title> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" /> <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="_static/theme_overrides.css?v=f9a4a06c" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> <script src="_static/jquery.js?v=5d32c60e"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> <script src="_static/documentation_options.js?v=2427ea21"></script> <script src="_static/doctools.js?v=888ff710"></script> <script src="_static/sphinx_highlight.js?v=dc90522c"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="next" title="Distributions" href="distributions.html" /> <link rel="prev" title="Conferences" href="community/conferences.html" /> </head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search" > <a href="index.html" class="icon icon-home"> coreboot </a> <div class="version"> 24.08 </div> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="getting_started/index.html">Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="tutorial/index.html">Tutorial</a></li> <li class="toctree-l1"><a class="reference internal" href="contributing/index.html">Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="community/index.html">Community</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Payloads</a><ul> <li class="toctree-l2"><a class="reference internal" href="#seabios">SeaBIOS</a></li> <li class="toctree-l2"><a class="reference internal" href="#edk2">edk2</a></li> <li class="toctree-l2"><a class="reference internal" href="#grub2">GRUB2</a></li> <li class="toctree-l2"><a class="reference internal" href="#linux">Linux</a></li> <li class="toctree-l2"><a class="reference internal" href="#heads">Heads</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="distributions.html">Distributions</a></li> <li class="toctree-l1"><a class="reference internal" href="technotes/index.html">Technotes</a></li> <li class="toctree-l1"><a class="reference internal" href="acpi/index.html">ACPI</a></li> <li class="toctree-l1"><a class="reference internal" href="gfx/libgfxinit.html">Native Graphics Initialization with libgfxinit</a></li> <li class="toctree-l1"><a class="reference internal" href="gfx/display-panel.html">Display panel</a></li> <li class="toctree-l1"><a class="reference internal" href="arch/index.html">CPU Architecture</a></li> <li class="toctree-l1"><a class="reference internal" href="drivers/index.html">Platform independent drivers</a></li> <li class="toctree-l1"><a class="reference internal" href="northbridge/index.html">Northbridge</a></li> <li class="toctree-l1"><a class="reference internal" href="soc/index.html">System on Chip</a></li> <li class="toctree-l1"><a class="reference internal" href="mainboard/index.html">Mainboard</a></li> <li class="toctree-l1"><a class="reference internal" href="lib/payloads/index.html">Payloads</a></li> <li class="toctree-l1"><a class="reference internal" href="lib/index.html">Libraries</a></li> <li class="toctree-l1"><a class="reference internal" href="lib/option.html">Option API</a></li> <li class="toctree-l1"><a class="reference internal" href="lib/option.html#mainboard-specific-option-backend">Mainboard-specific option backend</a></li> <li class="toctree-l1"><a class="reference internal" href="security/index.html">Security</a></li> <li class="toctree-l1"><a class="reference internal" href="superio/index.html">SuperIO</a></li> <li class="toctree-l1"><a class="reference internal" href="vendorcode/index.html">Vendorcode</a></li> <li class="toctree-l1"><a class="reference internal" href="util.html">Utilities</a></li> <li class="toctree-l1"><a class="reference internal" href="sbom/sbom.html">Software Bill of Materials</a></li> <li class="toctree-l1"><a class="reference internal" href="infrastructure/index.html">Project infrastructure &amp; services</a></li> <li class="toctree-l1"><a class="reference internal" href="releases/boards_supported_on_branches.html">Boards supported in each release directory</a></li> <li class="toctree-l1"><a class="reference internal" href="releases/index.html">Release notes</a></li> <li class="toctree-l1"><a class="reference internal" href="acronyms.html">Acronyms &amp; Definitions</a></li> <li class="toctree-l1"><a class="reference internal" href="external_docs.html">External Resources</a></li> <li class="toctree-l1"><a class="reference internal" href="documentation_license.html">Documentation License</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="index.html">coreboot</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="Page navigation"> <ul class="wy-breadcrumbs"> <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li> <li class="breadcrumb-item active">Payloads</li> <li class="wy-breadcrumbs-aside"> <a href="_sources/payloads.md.txt" rel="nofollow"> View page source</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <section id="payloads"> <h1>Payloads<a class="headerlink" href="#payloads" title="Link to this heading"></a></h1> <p>coreboot doesn’t try to mandate how the boot process should look, it merely does hardware init and then passes on control to another piece of software that we carry along in firmware storage, the <em>payload</em>.</p> <p>There is various software in that space that is either explicitly written as payload or can be made to work as one.</p> <section id="seabios"> <h2>SeaBIOS<a class="headerlink" href="#seabios" title="Link to this heading"></a></h2> <p><a class="reference external" href="https://www.seabios.org">SeaBIOS</a> is an open source implementation of the PCBIOS API that exists since the original IBM PC and was extended since. While originally written for emulators such as QEMU, it can be built as a coreboot payload. It supports executing Option ROMs in a more complete fashion than coreboot. It also supports Multiboot.</p> <p>When chainloaded from GRUB2, the following menuentry could be used:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>menuentry &quot;SeaBIOS&quot; --unrestricted { root=(cbfsdisk) multiboot /img/seabios module /vgaroms/seavgabios.bin } </pre></div> </div> </section> <section id="edk2"> <h2>edk2<a class="headerlink" href="#edk2" title="Link to this heading"></a></h2> <p><a class="reference external" href="https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II">edk2</a> is an open-source modern, feature-rich, cross-platform firmware development environment for the UEFI and UEFI Platform Initialization (PI) specifications.</p> </section> <section id="grub2"> <h2>GRUB2<a class="headerlink" href="#grub2" title="Link to this heading"></a></h2> <p>GRUB2 was originally written as a bootloader and that’s its most popular purpose, but it can also be compiled as a coreboot payload.</p> </section> <section id="linux"> <h2>Linux<a class="headerlink" href="#linux" title="Link to this heading"></a></h2> <p>There are several projects using Linux as a payload (which was the configuration that gave coreboot its original name, LinuxBIOS). That kernel is often rather small and serves to load a current kernel from somewhere, e.g. disk or network, and run that through the kexec mechanism.</p> <p>Two aspects emphasized by proponents of Linux-as-a-payload are the availability of well-tested, battle-hardened drivers (as compared to firmware project drivers that often reinvent the wheel) and the ability to define boot policy with familiar tools, no matter if those are shell scripts or compiled userland programs written in C, Go or other programming languages.</p> </section> <section id="heads"> <h2>Heads<a class="headerlink" href="#heads" title="Link to this heading"></a></h2> <p><a class="reference external" href="https://github.com/osresearch/heads">Heads</a> is a distribution that bundles coreboot, Linux, busybox and custom tools to provide reproducible ROMs. <a class="reference external" href="https://github.com/osresearch/heads">Heads</a> aims to provide a secure and flexible boot environment for laptops and servers. It supports features like measured boot, kexec, GPG, OTP, TLS, firmware updates, but only works on a limited amount of mainboards. For more details have a look at <a class="reference external" href="http://osresearch.net/">heads-wiki</a>.</p> </section> </section> </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <a href="community/conferences.html" class="btn btn-neutral float-left" title="Conferences" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="distributions.html" class="btn btn-neutral float-right" title="Distributions" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> </div> <hr/> <div role="contentinfo"> <p>&#169; Copyright CC-by 4.0 the coreboot project.</p> </div> Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10