github.com/u-root/u-root@v7.0.1-0.20200915234505-ad7babab0a8e+incompatible/docs/index.md (about)

     1  <center>
     2  <img src="img/u-root-logo.png" alt="u-root logo" width=300 />
     3  </center>
     4  
     5  
     6  # u-root
     7  
     8  u-root is an embeddable root file system intended to be placed in a flash device
     9  as part of the firmware image, along with a Linux kernel. Unlike most embedded
    10  root file systems, which consist of large binaries, u-root only has five: an
    11  init program and four Go compiler binaries.
    12  
    13  ## Setup
    14  
    15  On an Ubuntu system, install prerequisites and ensure Go is at least version 1.13:
    16  
    17  ```sh
    18  sudo apt-get install git golang build-essential
    19  go version
    20  ```
    21  
    22  Set your `GOPATH`:
    23  
    24  ```sh
    25  export GOPATH="$HOME/go"
    26  ```
    27  
    28  Clone u-root:
    29  
    30  ```sh
    31  go get github.com/u-root/u-root
    32  ```
    33  
    34  Generate an initramfs containing u-root Go tools:
    35  
    36  ```sh
    37  u-root -format=cpio -o initramfs.cpio
    38  ```
    39  
    40  You can use this initramfs with your favorite Linux kernel in QEMU to try it
    41  out.
    42  
    43  More instructions can be found in the repo's
    44  [README.md](https://github.com/u-root/u-root/blob/master/README.md).
    45  
    46  ## Submitting Changes
    47  
    48  We use [GitHub Pull Requests](https://github.com/u-root/u-root/pulls) for code
    49  review. Pull requests must receive one approval and pass CI before being merged.
    50  
    51  
    52  ## FAQs
    53  
    54  ### So, why "u-root"?
    55  
    56  It's to reflect a universal root, you can mount on every
    57  local and get a userland portable (it's a goal).
    58  
    59  ### Any publications?
    60  
    61  - [USENIX 2015 ATC Paper](https://www.usenix.org/system/files/conference/atc15/atc15-paper-minnich.pdf)
    62  - [USENIX 2015 ATC Talk](https://www.usenix.org/conference/atc15/technical-session/presentation/minnich)
    63  - Related: Embedded Linux Conference 2017 LinuxBoot Talk ([YouTube video](https://www.youtube.com/watch?v=iffTJ1vPCSo), [slides](https://schd.ws/hosted_files/osseu17/84/Replace%20UEFI%20with%20Linux.pdf))
    64  
    65  
    66  ## Community
    67  
    68  - [Join the mailing list](https://groups.google.com/forum/#!forum/u-root)
    69  - [Join the Open Source Firmware Slack team](https://osfw.slack.com/) (Get an invite [here](https://slack.osfw.dev).)
    70  - [Checkout the roadmap](https://github.com/u-root/u-root/blob/master/roadmap.md)
    71  
    72  
    73  ## Contributors
    74  
    75  * [Ron Minnich](https://github.com/rminnich)
    76  * [Andrey Mirtchovski](https://github.com/mirtchovski)
    77  * [Alexandre Beletti](https://github.com/rhiguita)
    78  * [Manoel Machado](https://github.com/ryukinix)
    79  * [Rafael C. Nunes](https://github.com/rafaelcn)
    80  * [Matheus Pinto Rodrigues](https://github.com/mathgamain)
    81  * [Gan Shun Lim](https://github.com/GanShun)
    82  * [Ryan O'Leary](https://github.com/rjoleary)
    83  * [Chris Koch](https://github.com/hugelgupf)
    84  * [Andrea Barberio](https://github.com/insomniacslk)
    85  * [Jean-Marie Verdun](https://github.com/vejmarie)
    86  * [Max Shegai](https://github.com/n-canter)
    87  
    88  ## Logo
    89  
    90  The Go gopher was designed by Renee French.
    91  The u-root logo design is licensed under the Creative Commons 3.0 Attributions license.
    92  
    93  The logo is communicating several things:
    94  
    95  - u-root has several flavors: firmware and as a root file system
    96  
    97  - 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.
    98  
    99  - the other gophers can make more copies of u-root; hence the u-root logo on their chest.
   100  
   101  - the highest gopher is showing how u-root is a good root file system for a VM.
   102  
   103  - the U itself is a stylized tree, evocative of roots.