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.
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.
After building the recovery image, you can run the image in QEMU using the following 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 device-name --boot out/default/obj/build/images/recovery/recovery-eng.zbi
where device-name
can be found with fx list-devices
.
NB If you only have one device or have used the fx set-device
command you can omit the --board-name
argument.
Build the core product with recovery:
$ fx set core.x64 --with //src/recovery $ fx build
Load the system you've just built onto your device.
Run the recovery integration test:
$ fx test -s 5 system_recovery_tests
Run the recovery integration test:
$ fx test -s 5 recovery_integration_test
TODO: Need to create end-to-end tests.