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