Update README
Change-Id: I79f138ba5f5e57baa7054282f06af8549a5998a7
diff --git a/README.md b/README.md
index 366a770..5dd3f0d 100644
--- a/README.md
+++ b/README.md
@@ -2,17 +2,22 @@
Fargo is a prototype Fuchsia-specific wrapper around Cargo.
+ fargo v0.1.0
+
USAGE:
fargo [FLAGS] [SUBCOMMAND]
FLAGS:
- -h, --help Prints help information
- -V, --version Prints version information
- -v Print verbose output while performing commands
+ --debug-os Use debug user.bootfs and ssh keys
+ -h, --help Prints help information
+ -V, --version Prints version information
+ -v Print verbose output while performing commands
SUBCOMMANDS:
build Build binary targeting Fuchsia device or emulator
build-tests Build for Fuchsia device or emulator
+ cargo Run a cargo command for Fuchsia. Use -- to indicate that all following
+ arguments should be passed to cargo.
help Prints this message or the help of the given subcommand(s)
restart Stop all Fuchsia emulators and start a new one
run Run binary on Fuchsia device or emulator
@@ -23,7 +28,36 @@
The `fargo-test` directory contains something one can use to test-drive.
-__At the moment fargo requires the FUCHSIA\_ROOT environmental variable be set to the path to a Fuchsia build.__ The goal is to transition
-fargo to using something like an SDK instead.
+## Getting Started
+
+Since at the moment fargo requires the FUCHSIA\_ROOT environmental variable be set to the path to a Fuchsia **release** build, the first step is to build Fuchsia.
+
+The [Fuchsia Getting Started](https://fuchsia.googlesource.com/docs/+/HEAD/getting_started.md) instruction are what you need. Since a release build is what fargo expects to find you'll want to pass --release to fset. The Rust components that fargo needs to cross compile are also not built by default, so you'll have to select something other than the default modules.
+
+If you are planning to use Qemu to run your Fuchsia Rust code, a good choice for modules is below, in env.sh form or underlying script as one prefers.
+
+ fset x86-64 --release --modules boot_headless,rust
+
+or
+
+ packages/gn/gen.py -m boot_headless,rust --release
+
+What `boot_headless` does in this instance is prevent the user shell from being launched after boot. Since the user shell requires [Mozart](https://fuchsia.googlesource.com/mozart), and Mozart has a hard dependency on the [Vulkan graphics and compute API](https://www.khronos.org/vulkan), *and* Qemu cannot support Vulkan, `boot_headless` is pretty much a requirement for Qemu.
+
+Once this build is complete, clone and build fargo.
+
+ git clone https://fuchsia.googlesource.com/fargo
+ cd fargo
+ cargo install
+
+## Getting Help
+
+For problems getting the Fuchsia build to complete, the #fuchsia IRC channel on freenode is the best bet.
+
+For fargo itself, that IRC channel can also work of one of the more Rust-aware folks happens to be paying attention. More reliable is the [rust-fuchsia](https://groups.google.com/a/fuchsia.com/forum/#!aboutgroup/rust-fuchsia) Google group.
+
+## Fargo Roadmap
+
+The goal is to transition fargo to using something like an SDK instead.
Currently fargo does not support building artifacts that need additional libraries.