Samuel Dionne-Riel
6f7567d0d6
mobile-device: Remove device.info
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
52ea0fb075
initrd: Cleanup accidental cruft from messy device info
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
a8ce7d0043
initrd-kernel: additional_modules -> additionalModules + document
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
65bb1e8a35
system/android: Provide replacements for freeform device.info options
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
e125c6ab2f
system/depthcharge: Provide option and fix build
...
The depthcharge build doesn't rely on the freeform option anymore.
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
a4358472b0
system/u-boot: Use NixOS boot.kernelParams
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
ed873e606c
vendor: Provide an option for the vendor partition
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
45f9736fac
usb: Provide proper gadgetfs functions option
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
114f545889
device: Add device.firmware
to allow a device to provide firmware files
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
596a7891e4
device: Drop most of the messy "device.info" option
...
The last option will be cleaned up last.
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
8a5df088b9
system/u-boot: Use boot.kernelParams
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
2d0d5810cc
system/qemu: Use boot.kernelParams
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
b928b20e2a
system/depthcharge: Use boot.kernelParams
...
(and fix device_info.arch)
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
84906bb8e4
system/android: Use boot.kernelParams
2020-05-24 20:13:07 -04:00
Samuel Dionne-Riel
4db9f2ad39
Merge pull request #149 from samueldr-wip/feature/lvgui-ffi
...
boot/gui: Use libffi rather than bespoke bindings
2020-05-24 15:31:23 -04:00
Samuel Dionne-Riel
a35863e641
devices: Use device identity
2020-05-23 18:13:02 -04:00
Samuel Dionne-Riel
ab35b1bf4c
devices: Add device identity option
2020-05-23 17:28:36 -04:00
Samuel Dionne-Riel
1442bcba8b
system/android: Review recovery build
...
Instead of borrowing some of its system.build products, rely instead on
a full system.build for the recovery.img.
This allows us to better make use of the implicit declarativeness of the
system configuration. At some point the recovery "system" will be moved
out of that file and things will continue to work.
2020-05-23 15:59:43 -04:00
Samuel Dionne-Riel
8cb9b07be2
Merge pull request #151 from samueldr-wip/fix/leftover-container-hack
...
initrd: Remove leftover hack from when isContainer was used
2020-05-23 15:21:16 -04:00
Samuel Dionne-Riel
15d3f1fdbb
initrd: Remove leftover hack from when isContainer was used
2020-05-23 01:58:26 -04:00
Samuel Dionne-Riel
16f25cf6f6
initrd: stop relying on pkgsStatic
...
This ends up saving ~100KiB. Not much, but we're already 1MiB over the
~7-8 MiB budget.
Though, in reality, it's not for the space saving, but because
dlopen/dlsym will be needed for ffi-based bindings.
2020-05-23 01:56:00 -04:00
Samuel Dionne-Riel
dcbda16fc5
system-types: Rename kernel-initrd -> qemu-startscript
...
In addition, put the implementation of the build side-by-side with the
system type definition. It made no sense to keep those where they were,
as it was baggage from the earlier implementation of the project.
2020-05-15 16:10:43 -04:00
Samuel Dionne-Riel
b1870eb331
modules: Move depthcharge build implementation into its system type
...
It didn't make sense to stuff that into systems anyway, it's baggage
from the first steps of making Mobile NixOS.
This is a *part* of depthcharge system type, so why stuff it into `system`
at the root??
2020-05-15 15:53:28 -04:00
Samuel Dionne-Riel
e7b68c834a
modules: Move bootimg into its system type
...
It didn't make sense to stuff that into systems anyway, it's baggage
from the first steps of making Mobile NixOS.
This is a *part* of android system types, so why stuff it into `system`
at the root??
2020-05-15 15:49:38 -04:00
Samuel Dionne-Riel
f019d84c88
modules: Move rootfs into the modules hierarchy
...
It didn't make sense to stuff that into systems anyway, it's baggage
from the first steps of making Mobile NixOS.
2020-05-15 15:49:15 -04:00
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