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)