mirror of
https://github.com/NixOS/mobile-nixos.git
synced 2024-12-15 02:43:24 +03:00
71 lines
1.9 KiB
Plaintext
71 lines
1.9 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-gui-simulator
|
|
$ result/bin/simulator --resolution 1080x1920
|
|
....
|