1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-16 20:21:32 +03:00
Commit Graph

241 Commits

Author SHA1 Message Date
Samuel Dionne-Riel
e0ca6d43d6 cross-workarounds: Disable udisks for cross-builds
From https://hydra.nixos.org/eval/1581751

1580f35dfb accidentally introduced udisks
in the build.

A local test build of the default "dummy" system disk image wasn't done,
thus the failure not found.
2020-04-23 00:01:33 -04:00
Samuel Dionne-Riel
fd66311f9f qemu-x86_64: Use qemu EDID support
This removes the need for the gnarly hack we were using to get a custom
resolution.
2020-04-22 22:48:30 -04:00
Samuel Dionne-Riel
c7a121fbae quirks: Add msm-dwc3-otg_switch quirk 2020-04-13 17:44:28 -04:00
Samuel Dionne-Riel
467702a853 quirks: Add qualcomm wcnss-wlan quirk
This quirk assumes the firmware has been set appropriately in the NixOS
configuration, using something akin to:

```
  hardware.firmware = [
    pkgs.my-device-firmware
  ];
```
2020-04-09 22:27:15 -04:00
Samuel Dionne-Riel
1580f35dfb nixos-integration: Use initrd.enable = false
That new option allows us to remove the crutch of pretending to be a
container.

Pretending to be a container had a couple drawbacks, they are now
irrelevant.

The dummy outputs could be re-worked to instead use out own stage-1
infra, but I prefer using dummies for now, for better insulation.
2020-04-09 22:27:15 -04:00
Samuel Dionne-Riel
2e28977e49 qualcomm quirks: Reformat descriptions 2020-04-06 18:32:45 -04:00
Samuel Dionne-Riel
eba0021c87 initrd-ssh: Reformat option description 2020-04-06 18:32:45 -04:00
Samuel Dionne-Riel
fb64a005de Allow evaluating without NixOS.
We are now splitting the concerns more clearly, by making `baseModules`
the reason we are evaluating NixOS, rather than wholesale always
including it into the modules.
2020-04-06 18:32:45 -04:00
Samuel Dionne-Riel
2f28151fd2 doc: Add depthcharge notes 2020-04-04 21:04:33 -04:00
Samuel Dionne-Riel
4f6659933f android: Add device notes 2020-04-04 20:30:57 -04:00
Samuel Dionne-Riel
02ab2066ce system-types: Move in discrete directories 2020-04-04 19:56:56 -04:00
Samuel Dionne-Riel
75a0d1a7db devices-metadata: Generate metadata using the modules system 2020-04-04 15:19:44 -04:00
Samuel Dionne-Riel
2cd23f3370
Merge pull request #114 from danielfullmer/vendor-ro
initrd-vendor: mount vendor read-only
2020-04-03 20:22:56 -04:00
Samuel Dionne-Riel
c37da93225 modules/internal: Init 2020-03-30 23:49:28 -04:00
Daniel Fullmer
d142490aa0 initrd-vendor: mount vendor read-only 2020-03-29 15:23:26 -04:00
Samuel Dionne-Riel
558907989b systems/u-boot: Fix eval with release.nix
The "default" output was missing.
2020-03-28 22:53:48 -04:00
Samuel Dionne-Riel
1483a3bcb4 system-types: Add "none" system type for evals
I'm not sure why it doesn't matter on Hydra, and when using `nix-build`,
but it does matter for `nix-env`.
2020-03-28 22:53:48 -04:00
Samuel Dionne-Riel
ad4c5f811a hardware-allwinner: Configure initial gap 2020-03-28 16:40:10 -04:00
Samuel Dionne-Riel
df75b6debd systems/u-boot: Allow configuring the initial gap 2020-03-28 16:40:10 -04:00
Samuel Dionne-Riel
5227e3a462 hardware: Add Allwinner A64 SOC
This file was introduced when working on the devkit. The R18 will be
kept for now, even though no devices use it for now.
2020-03-28 16:40:10 -04:00
Samuel Dionne-Riel
6d3e26a14d hardware: Add Allwinner R18 SOC 2020-03-28 16:40:10 -04:00
Samuel Dionne-Riel
3036ffe0ab system-types: Init u-boot system type
This system type assumes the target will boot using a u-boot based
bootloader.
2020-03-28 16:40:10 -04:00
Samuel Dionne-Riel
eba58e13ed initrd: Fix regression from removal of _module 2020-03-19 16:57:08 -04:00
Samuel Dionne-Riel
a6d221c72c
Merge pull request #97 from samueldr-wip/feature/hydra
Add release.nix for hydra consumption
2020-03-13 22:52:25 -04:00
Samuel Dionne-Riel
bd37657b16 Add workarounds to enable minimal rootfs cross-compilation.
This alone does not make the rootfs it makes useful.
2020-03-13 22:45:48 -04:00
Samuel Dionne-Riel
4ac71a9722 kernel-initrd: vm is the default build artifact 2020-03-13 19:44:08 -04:00
Samuel Dionne-Riel
3b5fe89b7c depthcharge: disk-image is the default build artifact 2020-03-13 19:44:08 -04:00
Samuel Dionne-Riel
97cca51825 android: android-device is the default build artifact 2020-03-13 19:44:08 -04:00
Samuel Dionne-Riel
7a30a6f3c1 system-target: Stop relying on builtins.currentSystem 2020-03-13 19:43:34 -04:00
Samuel Dionne-Riel
987be3bf59 hardware: Add generic ARM platforms
Will be used by the release.nix configurations. Though these may be just
as useful as the x86_64 one is!
2020-03-13 14:56:21 -04:00
Samuel Dionne-Riel
99d626dc1a module-list: Remove now removed module 2020-03-10 14:17:22 -04:00
Samuel Dionne-Riel
281f546bff stage-2-splash: Init re-purposed module
This resets the VT for platforms with VTs.

If a console is attached to that VT the logo will be covered by text as
it begins showing up on the VT.

The current way to "opt-out" of VT messages during stage-2 is to opt-out
of console messages on the VT.
2020-03-09 19:57:31 -04:00
Samuel Dionne-Riel
6692f6d6f4 boot/init: Use the new error reporting applet 2020-03-09 19:45:49 -04:00
Samuel Dionne-Riel
b2f4aecdd4 boot/error: Init error reporting applet 2020-03-09 19:44:27 -04:00
Samuel Dionne-Riel
9a92d10289 initrd-splash: Remove dead code 2020-03-09 17:48:52 -04:00
Samuel Dionne-Riel
c35116cdcd boot/init: Use the new boot/splash applet 2020-03-09 17:34:31 -04:00
Samuel Dionne-Riel
426f31113d boot/splash: Init splash applet 2020-03-09 17:31:03 -04:00
Samuel Dionne-Riel
741eba11ac
Merge pull request #90 from samueldr-wip/feature/initrd-meta
initrd: Add `initrd-meta` build output, with ncdu metadata
2020-03-08 18:06:28 -04:00
Samuel Dionne-Riel
8a71c8dd85 initrd: Add initrd-meta build output, with ncdu metadata
This can be used to sift through the files in stage-1, and hopefully
pare it down when it bloats.
2020-03-08 17:49:12 -04:00
Samuel Dionne-Riel
9ab16a6c66 initrd: Add udev rules for input devices
Otherwise, there is no trivial way to dinstinguish a trackpad from a
touchscreen.
2020-03-08 17:01:31 -04:00
Samuel Dionne-Riel
e121b722a7
Merge pull request #86 from samueldr-wip/feature/boot-gui/simulator-fixes
Boot GUI: Simulator fixes
2020-03-02 14:04:10 -05:00
Samuel Dionne-Riel
74f3dc5711 android-devices: Output a flash-critical.sh script
This script will flash the "critical" bits to the device.

Though note that this will flash both A/B slots unconditionally.

Similarly, this will flash both the boot and recovery partitions.
2020-03-02 14:02:05 -05:00
Samuel Dionne-Riel
12c9d29f58 boot/init: Use the newly split script-loader 2020-03-01 23:27:56 -05:00
Samuel Dionne-Riel
2b2d2ad7ea boot/applets: Add key-held utility 2020-02-29 16:10:00 -05:00
Samuel Dionne-Riel
e326b38b4b system-types/android: Output recovery.img
That recovery image unconditionally assumes it's running as recovery
2020-02-29 16:10:00 -05:00
Samuel Dionne-Riel
3acc3ee63d initrd: Add boot_as_recovery to config 2020-02-29 16:10:00 -05:00
Samuel Dionne-Riel
cab9a214b2 initrd-boot-gui: Add to initrd 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
c487e0d7d3 initrd: Implement split loader/script 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
8bb0ba8bc4 qualcomm: Rely on refresher, lvgl does not play well with handle. 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
7dd8408dd9 initrd: Fix early logging
We're now starting `bootlogd` first thing, this in turn allows it to
capture all logs. Though, this does mean that `sh` is back in the
critical path of the system. Anyway, it was never exactly out.
2020-02-03 21:58:21 -05:00
Samuel Dionne-Riel
a53f7cf463 initrd: Expose extraUtils 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
290d2ff757 initrd: Fix strace packaging 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
bcda887e7a initrd-usb: ffs -> adb for ADB
It looks like it didn't matter for some device, but may be an issue for
`google-marlin`.

I'm not sure where the `ffs` feature name came from.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
53413080cc initrd-usb: Follow AOSP init order more closely
This is part of what may be required to fix ADB on google-marlin.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
57a7de2610 initrd-usb: Only enable when a mode is available 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
bdd234fc0e initrd-shell: Allows using a shell on failure...
This needs to be plugged into the init via duck-typing.
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
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
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
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
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
b932adb0d2 Fixups in modules from changes to boot/init 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
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
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
Samuel Dionne-Riel
2deed250eb initrd: Remove initrd-udev 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
2185771cba initrd: Remove stage-2 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
9119ea40f9 initrd: Remove nc shell
This wasn't really used anyway...
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
12918e0f58 initrd: Remove logger module
This, anyway, needs to be re-thought entirely with the new init.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
3f6d523e51 initrd: Removes growpart module
This needs to be re-done entirely.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
a81afccbb8 cleanup: Move initrd-fail settings in boot/init 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
d93f0387f6 cleanup: remove initrd-devices
It has been reimplemented in boot/init
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
aa8e5f22bf initrd: Use same mounting logic as NixOS
Well, at least the same data for the mounting logic
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
d4571cf9aa boot/init: Use boot.specialFileSystems
This is an internal configuration from NixOS. This is what is used by
the NixOS stage-1 to mount the special filesystems.

It would be dumb not to rely on the same!
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
952183b400 initrd: Re-instate shelling-out / shell location 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
1d8d4c8f52 initrd: Add configuration file for boot/init
This allows a single boot/init build to be re-used across devices, and
more importantly, across rebuilds when only configuration changes.

This also removes the need to hardcode some annoying paths that are
better served through configuration, to their natural store paths.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
fbe905b266 initrd-kernel: Pre-seed symlinks for modules and firmwares 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
2a366b2cae initrd: Allow redirecting output to /dev/kmsg
Though this is a bit buggy and less than ideal.

A better solution would be a custom wrapper that only handles
redirecting. This is, anyway, something that would be required to
redirect all logging to all consoles.
2020-02-03 16:19:10 -05:00