tree: 20b1f538084b944d3caa507a0ef10b97b6537ede [path history] [tgz]
  1. config/
  2. meta/
  3. src/
  4. BUILD.gn
  5. Fargo.toml
  6. README.md
src/recovery/system/README.md

System Recovery

system_recovery is the primary executable in the recovery system. The recovery system is a second, standalone instance of Fuchsia that runs on devices to recover the primary Fuchsia system when the primary Fuchsia system is inoperative.

Building the recovery image

You can build the recovery image using the following command:

$ fx build build/images/recovery

This command builds several recovery-*.zbi files in obj/build/images/recovery, which are self-contained archives of the recovery system.

Running the recovery image

After building the recovery image, you can run the image in QEMU using the follosing command:

$ fx run-recovery -g

The easiest way to run recovery on hardware is to netboot a device into a newly built recovery image:

$ out/default/host-tools/bootserver --board_name pc --boot out/default/obj/build/images/recovery/recovery-eng.zbi

Testing

Build the core product with recovery:

$ fx set core.x64 --with //src/recovery
$ fx build

The system you've just built onto your device.

Unit

Run the recovery integration test:

$ fx run-test system_recovery_tests

Integration

Run the recovery integration test:

$ fx run-test recovery_integration_test

End-to-end

TODO: Need to create end-to-end tests.