1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-25 00:41:53 +03:00
Commit Graph

1443 Commits

Author SHA1 Message Date
Samuel Dionne-Riel
22bd4406b0 demo: Use shell as a replacement for "loop-forever" 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
2356bd2947 adb: Disables by default
This was a bit rude! There are security consideration in making adb
available!
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
f30f2e0e5e adb: Implement as a boot/init task 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
4289996f3c initrd: System.write for USB gadget tasks 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
67f907c952 initrd: System.write for login environment tasks 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
75020873c8 initrd: System.write for graphics tasks 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
462a3ae2e7 boot/init: System.write for hard reboot 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
4f83d41d33 boot/init: Add System.write alias
This does the same thing as `File.write`, but with debug logging.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
8d3833691b initrd: Setup ffs aliases before mounting functionfs
It turns out to be required for some devices.

Namely, google-marlin.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
74a1a190ca initrd-usb: Force device to declare mode
The detection cannot be done reliably. Some android_usb devices
(motorola-addison) have gadgetfs available, while some gadgetfs devices
will have the android_usb path available.

Anyway, this is probably better to explicitly declare the mode to use.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
cd963d2b59 boot/init: Allow crashing to bootloader 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
a1e3d231be boot/init: Handle exception to flush logs
Otherwise, it somehow happened that the messages were truncated before
the kernel panic.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
eee5b2d608 boot-initrd: Removes outdated option 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
4cc403e3cd initrd-vendor: Stop assuming there is a vendor partition
Older devices will not have a vendor *partition*.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
57a18403bd initrd-usb: Implement android_usb gadget in task 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
d913324948 initrd: make bootConfig deeply mergeable
With JSONValue from:

 * https://github.com/NixOS/nixpkgs/pull/75584
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
eb29edda6d initrd-ssh: Port to a boot/init task. 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
c4ec0480fd initrd-network: Port to a boot/init task 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
c868bcea46 boot/init: Add network interface dependencies 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
711a521f54 boot/init: Allows dependencies as an OR 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
15964966b6 boot/init: Mounts will only wait for absolute paths 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
e41e35a84b boot/init: Fix mounting special filesystems with devices 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
776b8bf151 initrd-vendor: init module
This is required for some devices, as some features only work when
firmwares are loaded on some devices.

Here, `google-walleye` `gsi.rndis` usb gadget requires the IPA firmware.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
6354a156dd boot/init: Add Dir.children monkey patch 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
50a04bd651 initrd-usb: Implement gadgetfs usb gadget
This has only been tested with google-walleye, with gsi.rndis.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
b47ffc14e4 initrd-usb: Prepare for gadget handling task 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
3b16a080f7 initrd: Make bootConfig a tangible internal option 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
5b3b72870b initrd-shell: Remove with. 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
43c25fe059 initrd-loop: Remove
We'll see what will be done in a bit.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
333ae6b6da initrd-logs: Add bootlogd multiplexer/logger support. 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
3379bc5954 initrd-fbterm: Port to new stage-1 init 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
50849b0598 bootlogd: Init at 2020-01-02 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
b932adb0d2 Fixups in modules from changes to boot/init 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
cd74c94fde boot/init: De-hardcode /mnt 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
7dff001d75 boot/init: Prefer running UX tasks first
This ensures graphical progress is shown ASAP when dependencies are
equally likely to run.

Otherwise, when the graphical step was ready, and switchroot about to
run, the shell step could run before the splash. This means that, in
practice, a long running task like e2fsck could have prevented the
splash to show. It doesn't make sense to make the other tasks depend on
a splash task!

There is no intention to implement any other special-cased ordering. If
there is the need to, it might mean that there is a deficiency in the
design.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
a3c8cd78e8 boot/init: Sort tasks before running them
This is partly to reduce the amount of loops it needs to run, but mainly
to control the order rather than rely on the order they were added in.

The control of order seems weird in a dependency-based system, but it'll
be used mainly for one thing in the next commit...
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
bdee7cf0e0 boot/init: Removes SingletonTask special dependency
Instead, rely on targets.

Additionally removes the "Boot" special dependency which only made sense
when it was expected that having no dependency was an error.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
046dcdc8ea boot/init: Register singleton tasks only once 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
fad472bd06 initrd: Removes dead code from initrd-kernel
This already is part of boot/init
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
368bc33019 initrd: Implement loop with a task 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
7f0ba7de38 initrd: Remove framebuffer options
This is now all moved to boot/init tasks.

Furthermore, I don't think we ever want to *disable* starting the
framebuffer stuff. What's really needed is detecting *what kind* of
graphics subsystem to use, and this can't happen at eval time.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
b5e3397783 (broken) removes initrd-order
This allows my staging area to become a bit cleaner.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
56cdb1abca initrd: Implement shell with a task 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
62b7b47117 boot/init: Add System.spawn porcelain 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
0361ccad00 init: Allow adding tasks to boot/init 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
687a100da4 quirks: Implement qualcomm framebuffer quirks as tasks 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
4c40fa259f initrd: Removed telnet
It wasn't used either
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
e032363fc5 qemu-x86_64: remove dependency on initrd-order 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
2a9ff72358 initrd: Review splash to only embed images
This still needs to be somewhat re-thought
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
5b13d6b4a8 initrd: minor cleanup 2020-02-03 16:19:10 -05:00