Samuel Dionne-Riel
c85712a663
system-build: Add DTB mapping
2021-02-11 18:14:30 -05:00
Samuel Dionne-Riel
826315aa11
system-build: Init module adding details to toplevel
...
For now, device-name... but see following commit.
2021-02-11 18:14:30 -05:00
Samuel Dionne-Riel
ed93aa4678
modules/initrd-kernel: Fix mocked kernelPackages
...
.ci/instantiate-all.nix wouldn't pass otherwise.
2021-02-02 05:37:31 -05:00
Samuel Dionne-Riel
cc77670be1
modules: Remove kernel nixos-disintegration
...
The solution is, ugh, to add `...` to allow additional params on kernel
builder call derivations.
2021-02-02 01:58:41 -05:00
Samuel Dionne-Riel
25b2d8fbba
modules/stage-0: Use composeConfig
2021-02-02 01:58:41 -05:00
Samuel Dionne-Riel
84b7e5eead
modules/recovery: Use composeConfig
2021-02-02 01:58:41 -05:00
Samuel Dionne-Riel
34b033330f
Replace evalConfig
with config.lib.mobile-nixos.composeConfig
2021-02-02 01:58:41 -05:00
Samuel Dionne-Riel
b57495c363
release-tools: Remove _mobile-nixos.nixpkgsPath
...
`modulesPath` is enough for our needs.
2021-02-02 01:58:41 -05:00
Edward Amsden
c507b39099
Make the package set a parameter instead of using <nixpkgs>
everywhere.
...
Co-authored-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
Co-authored-by: Edward Amsden <edward@blackriversoft.com>
2021-02-02 01:58:41 -05:00
Samuel Dionne-Riel
a96c2b845c
boot/init: Add support for FunctionFS on GadgetFS
...
FunctionFS on GadgetFS requires this to happen in order:
- (1) preparing the gadget
- (2) preparing the function
- (3) mounting the functionfs
- (4) starting the daemon
- (5) enabling the device
Doing any of these steps in the wrong order *will* fail. You cannot
mount functionfs if the function name hasn't been allocated yet. You
cannot start the daemon without functionfs being mounted. You cannot
enable the device without the daemon running on the USB endpoints.
This is why the GadgetFS stuff here *has* to know about mounting the
filesystem and starting the daemon.
In fact, the generic library to be written to handle USB gadget mode
**will** have to have that knowledge!
The added TODOs are to be done when extracting as a standalone library.
2021-01-27 22:16:55 -05:00
Samuel Dionne-Riel
6f6940226a
modules/adb: ADB works just fine on any usb gadget
...
(Though it may require fiddling with udev perms)
2021-01-27 22:16:55 -05:00
Samuel Dionne-Riel
4d7bd722a6
modules/adb: Decouple implementation details
...
The service and mount points are more of an implementation detail of the
GadgetFS handling library and not an implementation detail of the init
library.
In turn, this means that we are decoupling this from the init, follow-up
on the next commit...
2021-01-27 19:09:07 -05:00
Samuel Dionne-Riel
5ba41dd963
boot/init: Fix shellOnFail
...
- It was running too late.
- Wasn't actually using `shellOnFail` config
2021-01-27 19:09:07 -05:00
Samuel Dionne-Riel
10fc8bc0bb
initrd-shell: Fix job control
2021-01-24 23:38:05 -05:00
Samuel Dionne-Riel
3a48ed5fa1
quirks/wifi: Add quirk to disable MAC address randomization
2021-01-10 21:08:09 -05:00
Samuel Dionne-Riel
62d00f17fc
system-types/android: Add odin-specific device-notes fragment
2021-01-09 19:23:21 -05:00
Samuel Dionne-Riel
7381c783a7
system-types/android: Rename fastboot device notes fragment
2021-01-09 19:23:20 -05:00
Samuel Dionne-Riel
2b674af725
system-types/android: Choose the appropriate device-notes fragment
2021-01-09 19:23:20 -05:00
Samuel Dionne-Riel
f5fbeb1b76
system-types/uefi: Add device-notes fragment
2021-01-09 19:23:20 -05:00
Samuel Dionne-Riel
7a4ddb41ff
system-types/u-boot: Add device-notes fragment
2021-01-09 19:23:20 -05:00
Samuel Dionne-Riel
ec7a2d120d
devices-metadata: Export documentation config
...
Since *anyway* this is mainly intended to be consuemd by the
documentation.
2021-01-09 19:23:20 -05:00
Samuel Dionne-Riel
8d2af65cc4
modules/documentation: Init
2021-01-09 19:23:20 -05:00
Samuel Dionne-Riel
1a083f8b3e
system-types/android: Output different instructions for Odin
2021-01-09 19:22:32 -05:00
Samuel Dionne-Riel
ea684466e5
system-types/android: Allow defining flashing method
2021-01-09 19:22:32 -05:00
Samuel Dionne-Riel
5b81f1d6dd
android: Use Exynos dt.img for android bootimg
2021-01-09 16:26:28 -05:00
Samuel Dionne-Riel
6bc8e35681
quirks: Add exynos fb "notify" quirk
...
Used to "toggle" the framebuffer so the driver starts rendering.
2021-01-09 16:26:28 -05:00
Samuel Dionne-Riel
205d1bbfca
exynos: Add Exynos 7880
2021-01-09 16:24:32 -05:00
Samuel Dionne-Riel
179d8b1b70
stage-1/usb-gadget: Add mass storage usb gadget support
2021-01-03 23:08:24 -05:00
Samuel Dionne-Riel
61c6776cb8
stage-1/usb-gadget: Quirk is aware of its path
...
This will be used for quirks that needs to know where to write more
configuration.
2021-01-03 23:08:24 -05:00
Samuel Dionne-Riel
10c1ccece2
stage-1/usb-gadget: Implement gadgetfs teardown
...
This way on kexec the device is in a better state, and the kernel that
boots next is able to use the controller.
This was verified to fix an issue with kexec+gadget on the Chuwi Hi10
Pro HQ64 tablet.
2021-01-03 20:23:44 -05:00
Samuel Dionne-Riel
3487b77503
fix build failure by providing kernel filename to internal NixOS option
...
The update from 29a10085f3
caused the
uncompressed kernel to not be installed anymore into the kernel output.
This meant that building the top-level argument failed as a file assumed
to exist wasn't there anymore.
We now provide the appropriate filename when we know it.
2020-12-31 16:21:38 -05:00
Samuel Dionne-Riel
7fe40c1817
system-types/uefi: VM outputs logs on serial
2020-12-29 19:22:43 -05:00
Samuel Dionne-Riel
e215099597
system-types/uefi: Use stage-0
2020-12-29 19:22:43 -05:00
Samuel Dionne-Riel
b2790d13d6
qemu-x86_64: Delete device
...
It's being replaced by the generic uefi-x86_64 device.
Basically, replace the QEMU-specific system type by the totally standard
UEFI system type. This way we're dogfooding it way better!
2020-12-29 19:22:43 -05:00
Samuel Dionne-Riel
1098b55236
system-types/uefi: Introduce the .vm attribute
...
This results in a script that launches a QEMU VM.
2020-12-29 19:22:43 -05:00
Samuel Dionne-Riel
bec8c7dbd0
system-types/uefi: Init, largely inspired by u-boot
...
This is the minimum viable product.
This builds a disk image that can be booted.
2020-12-29 19:21:02 -05:00
Samuel Dionne-Riel
a8fbbebfbb
initrd: Allow adding extra dev rules
...
Will be used to pass along extra properties for devies, e.g. libinput
calibration matrix.
2020-12-29 19:21:02 -05:00
Samuel Dionne-Riel
403c4141ce
system-types/u-boot: Cleanup file
...
The same changes have been made in the upcoming UEFI equivalent file.
2020-12-29 18:21:52 -05:00
Samuel Dionne-Riel
dacfa93de9
recovery.nix: Provide generic access to the recovery build
2020-12-29 18:21:52 -05:00
Samuel Dionne-Riel
32f58ada71
Merge pull request #262 from samueldr-wip/feature/stage-0
...
stage-0: Add ability to boot in generation kernel+initrd
2020-12-29 18:13:24 -05:00
Samuel Dionne-Riel
798ae8526a
initrd-kernel: only build kernel into derivation when relevant
...
If stage-0 is not supported, default to not bundling a kernel into the
derivation.
This way, no useless builds of the kernels only to rebuild.
2020-12-29 17:59:09 -05:00
Samuel Dionne-Riel
f2bebaa5a3
hardware-qualcomm: Add msm8940
2020-12-28 05:59:46 -05:00
Samuel Dionne-Riel
12be2e5f1c
stage-0: Disable by default
2020-12-27 17:50:30 -05:00
Samuel Dionne-Riel
02068b29a9
devices-metadata: Export stage-0 support
2020-12-27 17:50:30 -05:00
Samuel Dionne-Riel
e533ce8864
modules: Make kernel package nullable
...
This is to use the value in the documentation.
2020-12-27 17:50:30 -05:00
Samuel Dionne-Riel
2c007dfb23
system-types/u-boot: Use stage-0
2020-12-27 17:50:30 -05:00
Samuel Dionne-Riel
6a785b19e5
system-types/depthcharge: Use stage-0
2020-12-27 17:50:30 -05:00
Samuel Dionne-Riel
9fc322894f
system-types/android: Use stage-0
2020-12-27 17:50:30 -05:00
Samuel Dionne-Riel
0ece77292b
stage-0: defaults according to platform and kernel version
...
AArch64 Linux (arm64) didnd't support kexec up until 4.8
2020-12-27 17:50:30 -05:00
Samuel Dionne-Riel
f1dd2a69c0
stage-0: init module for stage-0 bootloader build
2020-12-27 17:50:30 -05:00