1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-17 21:11:34 +03:00
mobile-nixos/doc/boot_process.adoc
Samuel Dionne-Riel fb4984cb90 s/boot-gui/boot-recovery-menu/g
The applet is specifically written to show what we call the "recovery
menu". Yes, it's also the boot selection, but it will get confusing with
the upcoming boot tracking splash UI that's upcoming.
2020-10-27 15:23:40 -04:00

71 lines
2.0 KiB
Plaintext

= Boot Process
include::_support/common.inc[]
“How does Mobile NixOS boot?”
This is what this documentation topic tries to describe. This is for end-users.
For developers, see in-depth topics.
== Booting Mobile NixOS
Most devices targeted by Mobile NixOS are intended to boot only one kernel at
a time, with one stage-1, and one system.
NixOS, in turn, shines when a system can choose a _generation_, which has its
own kernel, stage-1, and system build.
Mobile NixOS, at this point in time, sits on the halfway point. The user cannot
choose which generation a kernel and stage-1 comes from, but can boot a
specific generation.
== Booting a specific generation
This is done through booting in "recovery mode". This will stop the stage-1
process before it jumps into the default generation, and will allow you to
select a system to boot into.
The method to enter recovery mode depends on your device
=== Android-based devices
Android-based devices can be booted in their respective recovery mode.
When the device is a _"Boot as recovery"_ system, no other setup than flashing
the boot partition is required. _"Boot as recovery"_ systems are generally newer
Android-based devices.
When the device is not a _"Boot as recovery"_, or still uses a recovery
partition, you will need to flash a recovery image to the recovery partition.
....
$ nix-build --argstr device $DEVICE -A build.android-recovery
$ fastboot flash recovery result
....
=== All other devices
_Including the default boot partition for Android-based devices._
When the boot process is about to switch to the system, if any of the following
keys are held, it will instead show the recovery menu.
* Volume up
* Volume down
* Left shift
* Right shift
* Left control
* Right control
* Escape
== Testing the boot GUI
The simulator can be launched using the following commands:
....
$ nix-build --argstr device qemu-x86_64 -A pkgs.boot-recovery-menu-simulator
$ result/bin/simulator --resolution 1080x1920
....