github.com/oweisse/u-root@v0.0.0-20181109060735-d005ad25fef1/website/docs/index.md (about)

     1  <center>
     2    <h3>Behold the Gopher!</h3>
     3    <img src="img/u-root-logo.png" alt="u-root logo" width=300 />
     4  </center>
     5  
     6  
     7  # u-root
     8  
     9  u-root is an embeddable root file system intended to be placed in a flash device
    10  as part of the firmware image, along with a Linux kernel. Unlike most embedded
    11  root file systems, which consist of large binaries, u-root only has five: an
    12  init program and four Go compiler binaries.
    13  
    14  ## Setup
    15  
    16  On an Ubuntu system, install prerequisites and ensure Go is at least version 1.7:
    17  
    18  ```sh
    19  sudo apt-get install git golang build-essential
    20  go version
    21  ```
    22  
    23  Set your `GOPATH`:
    24  
    25  ```sh
    26  export GOPATH="$HOME/go"
    27  ```
    28  
    29  Clone u-root:
    30  
    31  ```sh
    32  go get github.com/u-root/u-root
    33  cd "$GOPATH/src/github.com/u-root/u-root"
    34  ```
    35  
    36  Generate an initramfs of all u-root Go tools:
    37  
    38  ```sh
    39  go run u-root.go -o initramfs.cpio
    40  ```
    41  
    42  You can use this initramfs with your favorite Linux kernel in QEMU to try it
    43  out.
    44  
    45  More instructions can be found in the repo's
    46  [README.md](https://github.com/u-root/u-root/blob/master/README.md).
    47  
    48  ## Submitting Changes
    49  
    50  We use [GitHub Pull Requests](https://github.com/u-root/u-root/pulls) for code
    51  review. Pull requests must receive one approval and pass CI before being merged.
    52  
    53  For convenience, it is recommended to use this pre-commit hook:
    54  
    55  ```sh
    56  ln -s -f ../../scripts/pre-commit .git/hooks/pre-commit
    57  ```
    58  
    59  
    60  ## FAQs
    61  
    62  ### So, why "u-root"?
    63  
    64  It's to reflect a universal root, you can mount on every
    65  local and get a userland portable (it's a goal).
    66  
    67  ### Any publications?
    68  
    69  - [USENIX 2015 ATC Paper](https://www.usenix.org/system/files/conference/atc15/atc15-paper-minnich.pdf)
    70  - [USENIX 2015 ATC Talk](https://www.usenix.org/conference/atc15/technical-session/presentation/minnich)
    71  - 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))
    72  
    73  
    74  ## Community
    75  
    76  - [Join the mailing list](https://groups.google.com/forum/#!forum/u-root)
    77  - [Join slack](https://u-root.slack.com/) (Get an invite [here](http://slack.u-root.com).)
    78  - [Checkout the roadmap](https://github.com/u-root/u-root/blob/master/roadmap.md)
    79  
    80  
    81  ## Contributors
    82  
    83  * [Ron Minnich](https://github.com/rminnich)
    84  * [Andrey Mirtchovski](https://github.com/mirtchovski)
    85  * [Alexandre Beletti](https://github.com/rhiguita)
    86  * [Manoel Machado](https://github.com/ryukinix)
    87  * [Rafael C. Nunes](https://github.com/rafaelcn)
    88  * [Matheus Pinto Rodrigues](https://github.com/mathgamain)
    89  * [Gan Shun Lim](https://github.com/GanShun)
    90  * [Ryan O'Leary](https://github.com/rjoleary)
    91  * [Chris Koch](https://github.com/hugelgupf)
    92  * [Andrea Barberio](https://github.com/insomniacslk)
    93  * [Jean-Marie Verdun](https://github.com/vejmarie)