You've already forked slimbootloader.github.io
mirror of
https://github.com/Dasharo/slimbootloader.github.io.git
synced 2026-03-06 15:26:36 -08:00
Manually commit documentation up to Sep 2024 Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
245 lines
14 KiB
HTML
245 lines
14 KiB
HTML
<!DOCTYPE html>
|
||
<html class="writer-html5" lang="en" >
|
||
<head>
|
||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>Build Environment — Slim Bootloader 1.0 documentation</title>
|
||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/graphviz.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||
<link rel="shortcut icon" href="../_static/sbl_logo_blue_32x32_icon.ico"/>
|
||
<!--[if lt IE 9]>
|
||
<script src="../_static/js/html5shiv.min.js"></script>
|
||
<![endif]-->
|
||
|
||
<script src="../_static/jquery.js"></script>
|
||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||
<script src="../_static/doctools.js"></script>
|
||
<script src="../_static/sphinx_highlight.js"></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="SBL Build Steps" href="build-source.html" />
|
||
<link rel="prev" title="Getting Started" href="index.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">
|
||
Slim Bootloader
|
||
<img src="../_static/sbl_logo_white_200x200.png" class="logo" alt="Logo"/>
|
||
</a>
|
||
<div class="version">
|
||
1.0
|
||
</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="../introduction/index.html">Introduction</a></li>
|
||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Getting Started</a><ul class="current">
|
||
<li class="toctree-l2 current"><a class="current reference internal" href="#">Build Environment</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="#building-on-linux">Building on Linux</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#build-tools-download-ubuntu">Build Tools Download - Ubuntu</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="#build-using-dockers-optional">Build using Dockers (Optional)</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#building-on-windows">Building on Windows</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#spn-keys-generation">SBL Keys Generation</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#build-tools-download-windows">Build Tools Download - Windows</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="build-source.html">SBL Build Steps</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="misc-build-setup.html">Miscellaneous: Dockers</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="misc-build-setup.html#miscellaneous-proxy-settings">Miscellaneous: Proxy Settings</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../supported-hardware/index.html">Supported Hardware</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../developer-guides/index.html">Developer’s Guide</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../security/index.html">Security Features</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../how-tos/index.html">How-Tos</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Tools</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../tutorials/index.html">Tutorials</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../specs/index.html">Specifications</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../references/references.html">References and Links</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../references/terminology.html">Terminology and Acronyms</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">Slim Bootloader</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"><a href="index.html">Getting Started</a></li>
|
||
<li class="breadcrumb-item active">Build Environment</li>
|
||
<li class="wy-breadcrumbs-aside">
|
||
</li>
|
||
</ul>
|
||
<hr/>
|
||
</div>
|
||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||
<div itemprop="articleBody">
|
||
|
||
<section id="build-environment">
|
||
<span id="host-setup"></span><h1>Build Environment<a class="headerlink" href="#build-environment" title="Permalink to this heading"></a></h1>
|
||
<p>SBL build is supported on both Windows and Linux environments</p>
|
||
<section id="building-on-linux">
|
||
<span id="running-on-linux"></span><h2>Building on Linux<a class="headerlink" href="#building-on-linux" title="Permalink to this heading"></a></h2>
|
||
<p>Supported environment: <strong>Ubuntu Linux 18.04 LTS</strong></p>
|
||
<p>Install the following software:</p>
|
||
<ul class="simple">
|
||
<li><p>GCC 9.4.0 or above</p></li>
|
||
<li><p>Python 3.8.10 or above</p></li>
|
||
<li><p>NASM 2.16.01 or above</p></li>
|
||
<li><p>IASL 20190509</p></li>
|
||
<li><p>LLVM (needed for UEFI payload build)</p></li>
|
||
<li><p>OpenSSL</p></li>
|
||
<li><p>Git</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="build-tools-download-ubuntu">
|
||
<h2>Build Tools Download - Ubuntu<a class="headerlink" href="#build-tools-download-ubuntu" title="Permalink to this heading"></a></h2>
|
||
<p>Install required packages on Ubuntu:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ sudo apt install -y build-essential python3 uuid-dev openssl gcc-multilib qemu-system git iasl nasm
|
||
</pre></div>
|
||
</div>
|
||
<section id="build-using-dockers-optional">
|
||
<h3>Build using Dockers (Optional)<a class="headerlink" href="#build-using-dockers-optional" title="Permalink to this heading"></a></h3>
|
||
<p>You can also consider Dockers containers to build SBL. See <a class="reference internal" href="misc-build-setup.html#misc-setup-docker"><span class="std std-ref">Miscellaneous: Dockers</span></a> for more details.</p>
|
||
</section>
|
||
</section>
|
||
<section id="building-on-windows">
|
||
<span id="running-on-windows"></span><h2>Building on Windows<a class="headerlink" href="#building-on-windows" title="Permalink to this heading"></a></h2>
|
||
<p>Supported environment: <strong>Microsoft Visual Studio 2015 or Microsoft Visual Studio 2017 Community</strong>
|
||
Please ensure to install <strong>Dekstop Development with C++</strong> along with Microsoft Visual Studio installation.</p>
|
||
<p>Install the <strong>exact</strong> versions (if specified) of the following tools to the designated directories:</p>
|
||
<ul class="simple">
|
||
<li><p>Python 3.8.10 - <strong>C:\Python38</strong></p></li>
|
||
<li><p>NASM 2.16.01 - <strong>C:\Nasm</strong></p></li>
|
||
<li><p>IASL 20190509 - <strong>C:\ASL</strong></p></li>
|
||
<li><p>LLVM (needed for UEFI payload build) - <strong>C:\LLVM</strong></p></li>
|
||
<li><p>OpenSSL - <strong>C:\openssl</strong></p></li>
|
||
<li><p>Git (ex. GitBash)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="spn-keys-generation">
|
||
<span id="sbl-keys"></span><h2>SBL Keys Generation<a class="headerlink" href="#spn-keys-generation" title="Permalink to this heading"></a></h2>
|
||
<p>Generate SBL keys and this is pre-requiste before SBL build:</p>
|
||
<p>Generate SBLKeys:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>python $(SBL_ROOT)\BootloaderCorePkg\Tools\GenerateKeys.py -k $SBL_KEY_DIR
|
||
</pre></div>
|
||
</div>
|
||
<p>Set of private and public keys would be generated for specified key sizes.</p>
|
||
<p>Set environment variable for SBL Key directory:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Linux</span><span class="p">:</span> <span class="n">export</span> <span class="n">SBL_KEY_DIR</span><span class="o">=<</span><span class="n">path</span> <span class="n">to</span> <span class="n">SblKeys</span> <span class="n">directory</span><span class="o">></span>
|
||
|
||
<span class="n">Windows</span><span class="p">:</span> <span class="nb">set</span> <span class="n">SBL_KEY_DIR</span><span class="o">=<</span><span class="n">path</span> <span class="n">to</span> <span class="n">SblKeys</span> <span class="n">directory</span><span class="o">></span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>In case a pre-signed OS Image is used, replace the public key that was generated by GenerateKeys.py (OS1_TestKey_Pub_RSAxxxx.pem) with the public key corresponding to the private key that was used to sign the image. Please refer <a class="reference internal" href="../security/key-management.html#key-management"><span class="std std-ref">Key Management</span></a> section for details</p>
|
||
</div>
|
||
</section>
|
||
<section id="build-tools-download-windows">
|
||
<h2>Build Tools Download - Windows<a class="headerlink" href="#build-tools-download-windows" title="Permalink to this heading"></a></h2>
|
||
<p>Python 3.8.x 64 bit version.</p>
|
||
<p><a href="https://www.python.org/downloads/windows/" target="_blank">https://www.python.org/downloads/windows/</a></p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>Add Python to the PATH</p>
|
||
<p>Python version 3.8.10 is the tested version.</p>
|
||
</div>
|
||
<p>Nasm 2.16.01</p>
|
||
<p><a href="https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/" target="_blank">https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/</a></p>
|
||
<p><strong>Require:</strong> Install to C:\Nasm</p>
|
||
<p>IASL 20190509-64</p>
|
||
<p><a href="https://acpica.org/sites/acpica/files/iasl-win-20190509.zip" target="_blank">https://acpica.org/sites/acpica/files/iasl-win-20190509.zip</a></p>
|
||
<p>unzip then copy files to C:\asl</p>
|
||
<p><strong>Require:</strong> Install to C:\Asl</p>
|
||
<p>LLVM 15.0.7</p>
|
||
<p><a href="https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.7/" target="_blank">https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.7/</a></p>
|
||
<p><strong>Require:</strong> Install to C:\LLVM</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>Add an environment variable: CLANG_BIN=C:\LLVM\bin\</p>
|
||
</div>
|
||
<p>Openssl (latest)</p>
|
||
<p>Download latest win64 version from <a href="https://wiki.openssl.org/index.php/Binaries" target="_blank">https://wiki.openssl.org/index.php/Binaries</a>)</p>
|
||
<p><strong>Require:</strong> Install to C:\Openssl</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>Set environment variable OPENSSL_PATH to openssl directory where openssl.exe is present.
|
||
For example: set OPENSSL_PATH=C:\Openssl\bin</p>
|
||
</div>
|
||
<p>Git on Windows</p>
|
||
<p>Install Git or add its executable path in your PATH environment if already exists.</p>
|
||
<p>Here is GitBash as an example.</p>
|
||
<p>Download GitBash from <a href="https://git-scm.com" target="_blank">https://git-scm.com</a></p>
|
||
<p>Below are <strong>RECOMMENDED</strong> options. For others, it’s okay to use default selected option.</p>
|
||
<p>Make sure <strong>“Git LFS (Large File Support)”</strong> is selected.</p>
|
||
<img alt="Make sure "Git LFS (Large File Support)" is selected" src="../_images/gitbash_components.png" />
|
||
<p>Make sure <strong>“Git from the command line…”</strong> is selected.</p>
|
||
<img alt="Make sure "Git from the command line..." is selected" src="../_images/gitbash_path_env.png" />
|
||
<p>Make sure <strong>“Checkout as-is, commit as-is”</strong> is selected.</p>
|
||
<img alt="Make sure "Checkout as-is, commit as-is" is selected" src="../_images/gitbash_line_ending.png" />
|
||
</section>
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||
<a href="index.html" class="btn btn-neutral float-left" title="Getting Started" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||
<a href="build-source.html" class="btn btn-neutral float-right" title="SBL Build Steps" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||
</div>
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>© Copyright 2018 - 2024, Intel Corporation.
|
||
<span class="lastupdated">Last updated on Nov 15, 2024.
|
||
</span></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> |