github.com/TrenchBoot/u-root@v6.0.1-0.20200623220532-550e36da3258+incompatible/docs/index.html (about)

     1  <center>
     2  <img src="img/u-root-logo.png" alt="u-root logo" width=300 />
     3  </center>
     4  <h1 id="u-root">u-root</h1>
     5  <p>u-root is an embeddable root file system intended to be placed in a flash device as part of the firmware image, along with a Linux kernel. Unlike most embedded root file systems, which consist of large binaries, u-root only has five: an init program and four Go compiler binaries.</p>
     6  <h2 id="setup">Setup</h2>
     7  <p>On an Ubuntu system, install prerequisites and ensure Go is at least version 1.13:</p>
     8  <div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true"></a><span class="fu">sudo</span> apt-get install git golang build-essential</span>
     9  <span id="cb1-2"><a href="#cb1-2" aria-hidden="true"></a><span class="ex">go</span> version</span></code></pre></div>
    10  <p>Set your <code>GOPATH</code>:</p>
    11  <div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true"></a><span class="bu">export</span> <span class="va">GOPATH=</span><span class="st">&quot;</span><span class="va">$HOME</span><span class="st">/go&quot;</span></span></code></pre></div>
    12  <p>Clone u-root:</p>
    13  <div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true"></a><span class="ex">go</span> get github.com/u-root/u-root</span></code></pre></div>
    14  <p>Generate an initramfs containing u-root Go tools:</p>
    15  <div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true"></a><span class="ex">u-root</span> -format=cpio -o initramfs.cpio</span></code></pre></div>
    16  <p>You can use this initramfs with your favorite Linux kernel in QEMU to try it out.</p>
    17  <p>More instructions can be found in the repo’s <a href="https://github.com/u-root/u-root/blob/master/README.md">README.md</a>.</p>
    18  <h2 id="submitting-changes">Submitting Changes</h2>
    19  <p>We use <a href="https://github.com/u-root/u-root/pulls">GitHub Pull Requests</a> for code review. Pull requests must receive one approval and pass CI before being merged.</p>
    20  <h2 id="faqs">FAQs</h2>
    21  <h3 id="so-why-u-root">So, why “u-root”?</h3>
    22  <p>It’s to reflect a universal root, you can mount on every local and get a userland portable (it’s a goal).</p>
    23  <h3 id="any-publications">Any publications?</h3>
    24  <ul>
    25  <li><a href="https://www.usenix.org/system/files/conference/atc15/atc15-paper-minnich.pdf">USENIX 2015 ATC Paper</a></li>
    26  <li><a href="https://www.usenix.org/conference/atc15/technical-session/presentation/minnich">USENIX 2015 ATC Talk</a></li>
    27  <li>Related: Embedded Linux Conference 2017 LinuxBoot Talk (<a href="https://www.youtube.com/watch?v=iffTJ1vPCSo">YouTube video</a>, <a href="https://schd.ws/hosted_files/osseu17/84/Replace%20UEFI%20with%20Linux.pdf">slides</a>)</li>
    28  </ul>
    29  <h2 id="community">Community</h2>
    30  <ul>
    31  <li><a href="https://groups.google.com/forum/#!forum/u-root">Join the mailing list</a></li>
    32  <li><a href="https://u-root.slack.com/">Join slack</a> (Get an invite <a href="http://slack.u-root.com">here</a>.)</li>
    33  <li><a href="https://github.com/u-root/u-root/blob/master/roadmap.md">Checkout the roadmap</a></li>
    34  </ul>
    35  <h2 id="contributors">Contributors</h2>
    36  <ul>
    37  <li><a href="https://github.com/rminnich">Ron Minnich</a></li>
    38  <li><a href="https://github.com/mirtchovski">Andrey Mirtchovski</a></li>
    39  <li><a href="https://github.com/rhiguita">Alexandre Beletti</a></li>
    40  <li><a href="https://github.com/ryukinix">Manoel Machado</a></li>
    41  <li><a href="https://github.com/rafaelcn">Rafael C. Nunes</a></li>
    42  <li><a href="https://github.com/mathgamain">Matheus Pinto Rodrigues</a></li>
    43  <li><a href="https://github.com/GanShun">Gan Shun Lim</a></li>
    44  <li><a href="https://github.com/rjoleary">Ryan O’Leary</a></li>
    45  <li><a href="https://github.com/hugelgupf">Chris Koch</a></li>
    46  <li><a href="https://github.com/insomniacslk">Andrea Barberio</a></li>
    47  <li><a href="https://github.com/vejmarie">Jean-Marie Verdun</a></li>
    48  <li><a href="https://github.com/n-canter">Max Shegai</a></li>
    49  </ul>
    50  <h2 id="logo">Logo</h2>
    51  <p>The Go gopher was designed by Renee French. The u-root logo design is licensed under the Creative Commons 3.0 Attributions license.</p>
    52  <p>The logo is communicating several things:</p>
    53  <ul>
    54  <li><p>u-root has several flavors: firmware and as a root file system</p></li>
    55  <li><p>the gopher at the bottom is a firmware u-root; that gopher brings the machine up, hence the wrench. Its work is also done, so it is resting.</p></li>
    56  <li><p>the other gophers can make more copies of u-root; hence the u-root logo on their chest.</p></li>
    57  <li><p>the highest gopher is showing how u-root is a good root file system for a VM.</p></li>
    58  <li><p>the U itself is a stylized tree, evocative of roots.</p></li>
    59  </ul>