1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-15 11:03:37 +03:00
Commit Graph

148 Commits

Author SHA1 Message Date
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
Samuel Dionne-Riel
cbd31a49ce initrd: Allows wrapping init with strace
That wrapper script may be used with other helpers in the future.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
228df26d6c initrd: Refactors module for new init
New init coming in a separate commit
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
e5aa1ad3c6 overlay: Import mruby 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
104c09a8a7 initrd-base: Use hardshutdown 2020-01-10 00:46:11 -05:00
Samuel Dionne-Riel
5fa2110c7b hard-{shutdown,reboot}: remove
This will be replaced with a better utility.
2020-01-10 00:45:39 -05:00
Samuel Dionne-Riel
4811ac688f
Merge pull request #41 from kirelagin/stage-2-adb
Restart adb in stage-2
2019-12-04 19:35:19 -05:00
Samuel Dionne-Riel
2bf8158f3a
Merge pull request #58 from samueldr-wip/feature/initrd-fail
Add failure reporting to initrd
2019-12-04 17:18:27 -05:00
Samuel Dionne-Riel
ead09930ea qemu-x86_64: use absolute input + mon:stdio
mon:stdio is the magic incantation that makes CTRL+C not quit abruptly
the VM.
2019-12-04 17:16:09 -05:00
Samuel Dionne-Riel
00c7d73781 qemu-x86_64: Use a 1080p vertical display 2019-12-04 17:16:09 -05:00
Samuel Dionne-Riel
0d21d694f6
Merge pull request #61 from samueldr-wip/feature/grow-rootfs
Allow rootfs to expand to the backing partition
2019-12-04 16:56:01 -05:00
Samuel Dionne-Riel
1d3149b41f qualcomm: Add SDM660 option 2019-12-03 20:36:52 -05:00
Samuel Dionne-Riel
1fdf5e7ee7 initrd: Ensures /etc/mtab exists 2019-12-03 17:32:45 -05:00
Samuel Dionne-Riel
38850da922 initrd: Enables growing ext4 partitions 2019-12-03 17:32:45 -05:00
Samuel Dionne-Riel
83a1735084 stage-2: Use new init failure reporting 2019-12-03 15:36:13 -05:00
Samuel Dionne-Riel
4467f28daf initrd: Adds failure reporting
Uses the sad-phone artwork to convey that something's wrong.

A color has to be given to help convey the issue in constrained
situations where no proper logging happens.
2019-12-03 15:36:13 -05:00
Samuel Dionne-Riel
6198805861
Merge pull request #47 from lheckemann/tissot-cleanup
Add support for xiaomi-tissot
2019-11-23 12:33:35 -05:00
Linus Heckemann
0cabf85b8f initrd-loop: allow continuing boot by killing sleep 2019-11-21 20:56:49 +01:00
Samuel Dionne-Riel
bcc0f77156
Merge pull request #50 from samueldr-wip/devices/google-walleye
device: Google Pixel 2 (non-XL) // google-walleye
2019-11-19 14:08:56 -05:00
Samuel Dionne-Riel
e9ee3abbe3 qualcomm: Add msm8998 SoC 2019-11-18 21:18:24 -05:00
Linus Heckemann
2b300b302f initrd: add fbterm module
Requires a cross-compilation fix for fbterm (nixos/nixpkgs#72107).

This may stop the display-manager from starting correctly, I think it
prevents X from automatically switching to the correct vt. Requires
some further investigation :)
2019-11-16 18:22:49 +01:00
Kirill Elagin
12744fa744 Use pkill to kill adb from stage1 2019-10-28 19:11:01 +01:00
Kirill Elagin
8869e2da37 Restart adb in stage-2
* Move adb to a separate module. It used to be in stage-1, but it is no
  longer stage-1 specific, as it is now started in stage-2 as well.
* After switching to stage-2 kill the old adbd and start a new one.
2019-10-27 00:34:55 +02:00
Samuel Dionne-Riel
93436077f1 hardware-qualcomm: Add msm8996 SoC 2019-10-05 01:07:55 -04:00
Samuel Dionne-Riel
d99f4d0135 quirks-qualcomm: Enables stage-2 fb refresher 2019-09-24 23:00:02 -04:00
Samuel Dionne-Riel
c498dc1b38 initrd-usb: Fixes for adbd on asus-z00t
The gist of it:

 * The "adb" function is not available (-22, EINVAL) on asus-z00t
 * Enabling both adb and ffs breaks asus-flo
 * Enabling ffs is fine with asus-flo.

So I guess it's ffs that enables adb!
2019-09-23 20:31:56 -04:00
Samuel Dionne-Riel
7b1d782893 initrd: reviews udev integration with switch_root 2019-09-23 15:45:18 -04:00
Samuel Dionne-Riel
4c4f8468f3 depthcharge: Allows kpart to be built independently 2019-09-22 15:52:10 -04:00
Samuel Dionne-Riel
3cdecd5c00 android: working system.img/boot.img output
Can be flashed

```
fastboot flash system result/system.img
fastboot flash boot result/boot.img
```
2019-09-21 23:21:12 -04:00
Samuel Dionne-Riel
701c01187f initrd: adbd defaults to true only for android 2019-09-21 22:44:44 -04:00
Samuel Dionne-Riel
f9decea807 Adds back android 2019-09-21 22:42:26 -04:00
Samuel Dionne-Riel
507805e9f2 Adds back depthcharge 2019-09-21 22:41:57 -04:00
Samuel Dionne-Riel
b8c4bcda18 Adds back kernel-initrd (for qemu) 2019-09-21 22:41:33 -04:00
Samuel Dionne-Riel
327fda2329 Review build to better use system.build and be more composable 2019-09-21 22:40:24 -04:00
Samuel Dionne-Riel
a9368b3623 splash: review "loading"...
While it's not as useful as the other splashes, this may help showing
issues with early post-framebuffer init. E.g. network or adbd in
stage-1.

The hollow logo is simple to describe, compared to a black and white
one, compared to a full colour one.
2019-09-21 18:07:42 -04:00
Samuel Dionne-Riel
54a52b8351 splash: different splash for sthe stages
This is to allow platforms where the virtual console is not available to
graphically show the state of the system; is it stuck in stage-1, early
stage-2 or is it about to get into systemd's init?

This is still a big hack, though but relatively clean.
2019-09-21 17:46:09 -04:00
Samuel Dionne-Riel
66a7f812c9 depthcharge: Integrates rootfs into image build 2019-09-21 17:32:16 -04:00
Samuel Dionne-Riel
c4d16fd341 rootfs: Build using the image-builder 2019-09-21 17:32:16 -04:00
Samuel Dionne-Riel
70a967a904 modules: Integrate with NixOS...
Otherwise, passing configuration to the NixOS modules system would
become harder, for "outside-in" builds, and would make it harder to
integrate into a nixos-rebuild type build.
2019-09-21 17:32:16 -04:00
Samuel Dionne-Riel
4be6154021 stage-1: Hardcoded udev usage for device detection
This should be extracted into a self-contained module.
2019-09-21 17:32:16 -04:00
Samuel Dionne-Riel
7f236593f3 stage-2: Fixes system path detection
Though this is still naïve and hardcoded to the last one.
2019-09-21 17:32:16 -04:00
Samuel Dionne-Riel
acd6d41ec9 system-target: rephrase trace about cross 2019-09-21 17:32:13 -04:00
Samuel Dionne-Riel
f846f343f3 modules: misc minor refactor 2019-09-21 13:58:59 -04:00
Samuel Dionne-Riel
c1acf97334 system-target: reviews implementation
Since the initial implementation I learned enough to know where it was
slighly wrong. I think this fixes most of the slight wrongness.
2019-09-19 15:31:26 -04:00
Samuel Dionne-Riel
0992b0f91d depthcharge: Inits system type with bootable partition
The partition holds the usual mobile-nixos initrd + the kernel.
2019-09-18 15:39:30 -04:00
Samuel Dionne-Riel
740da6f71d hardware: inits rockchip with OP1
While it is an RK3399 derivative, we'll identify all devices as their
manufacturer does. Meaning that this is an OP1.

Though this seems useless at first glance, this allows us to put
conditionals on OP1 specific features or misfeatures, if any.
2019-09-18 15:37:31 -04:00
Samuel Dionne-Riel
f40c8c1f08 modules: use types.str over types.string...
types.string having been formally deprecated, and having a likely
unwanted behaviour.
2019-09-18 15:28:51 -04:00
Samuel Dionne-Riel
e88ba541e7 APQ8064–1AA: Use msm-fb-refresher 2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
41af579ea5 hard-*: Adds hard-shutdown script
On my qualcomm devices, it really shuts down the device even when
plugged into power.
2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
c7069ac2fb WIP: system.img generation. 2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
f5095e806c WIP: stage-2 through divining a path from nix-path-registration
I HATE THIS.
2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
9d703de07e Fixes cross-compilation issues...
Though not in a nice manner, I'd like to know why I have to fiddle with
`system`.
2018-11-18 21:45:01 -05:00
Samuel Dionne-Riel
9edf553af2 Adds msm8953 as a known value. 2018-11-17 18:17:31 -05:00
Samuel Dionne-Riel
d71a4e8489 WIP trying to get adb to work on the z00t.
~ # dmesg | grep -i '\(function\|adb\)'
[    0.972168] [hall_sensor] default report function.
[    1.766641] android_usb gadget: Mass Storage Function, version:
2009/09/11
[   11.983813] functions_store: android_usb: Cannot enable 'adb' (-22)
[   12.486886] rndis_function_bind_config: rndis_function_bind_config
MAC: 00:00:00:00:00:00

That "Cannot enable 'adb'" is maddening...
2018-11-05 22:50:08 -05:00
Samuel Dionne-Riel
a522e256d3 WIP: cross building changed upstream...
... and now the little I understood doesn't work.
2018-11-05 20:51:27 -05:00
Samuel Dionne-Riel
93d508bedc initrd: Fixes android-specific usb handling on non-android.
Issue came from hoisting what was previously in a function into the main
scope. It made the whole script `return` early on non-android devices.
2018-07-11 14:44:39 -04:00
Samuel Dionne-Riel
6be693e7b9 initrd: loop forever now defaults to false.
Hey, now, time to get some stage-2 action.
2018-07-11 14:44:14 -04:00
Samuel Dionne-Riel
832256ec40 initrd: Adds adbd support in initrd. 2018-07-08 21:14:16 -04:00
Samuel Dionne-Riel
44ab8fe3ed msm-fb-handle: Adds quirk for msm_mdss_fb. 2018-07-06 19:53:57 -04:00
Samuel Dionne-Riel
186b192e3c msm-fb-refresher: Now not used by default.
That is because I would prefer all software to *just work* with `msm`
framebuffer shenanigans.
2018-07-06 19:17:38 -04:00
Samuel Dionne-Riel
4e5b870ec2 framebuffer: Removes fb.modes support...
It can, instead, be re-implemented as alternative commands.
2018-07-05 15:00:24 -04:00
Samuel Dionne-Riel
38bc1b125b initrd-splash: Use builtins.path. 2018-07-05 13:06:25 -04:00
Samuel Dionne-Riel
db81d8c50e Reviews splash
All images are now good for a while.

Adds option to show the rbg-debug splash.
2018-07-05 00:52:36 -04:00
Samuel Dionne-Riel
497fae7233 Moving artwork. 2018-07-05 00:07:31 -04:00
Samuel Dionne-Riel
f9b5868c1a stage-1: Use ply-image for splash purposes.
This is upstream in-use by google for chromebooks, which means some
support for some advanced things.

This especially means animations can be handled by ply-image if so
desired.
2018-07-03 23:50:16 -04:00
Samuel Dionne-Riel
871e4aed96 fbv: Removes. 2018-07-03 23:35:35 -04:00
Samuel Dionne-Riel
beaa1664d3 hardware: Adds APQ8064–1AA SOC 2018-07-01 17:58:30 -04:00
Samuel Dionne-Riel
d4a2fa572d Adds armv7 target + fix error message. 2018-07-01 17:43:31 -04:00
Samuel Dionne-Riel
4d717a26df system-target: Don't cross when building on native platform. 2018-06-27 19:37:45 -04:00
Samuel Dionne-Riel
242bb764b0 Moves platforms definition in more generic hardware definitions. 2018-06-26 22:07:46 -04:00
Samuel Dionne-Riel
9d6e2a0a99 Fixes wrongly implemented assertions. 2018-06-26 22:07:14 -04:00
Samuel Dionne-Riel
b46dcd6b27 Implements running assertions. 2018-06-26 21:54:41 -04:00
Samuel Dionne-Riel
04a59a0aed Adds mobile.system.platform 2018-06-26 21:52:09 -04:00
Samuel Dionne-Riel
cf47617e62 Reviews how overlay works and is used. 2018-06-26 20:49:15 -04:00
Samuel Dionne-Riel
6d8b2bea22 WIP : stops relying on NIX_PATH entries.
I don't know if there could have been issues.

Better safe than sorry.
2018-06-23 18:09:05 -04:00
Samuel Dionne-Riel
a2620c06a3 initrd-kernel: Allows embedding modules. 2018-06-23 17:45:51 -04:00
Samuel Dionne-Riel
b623007684 WIP : Builds a system image using nixos. 2018-06-23 17:11:07 -04:00
Samuel Dionne-Riel
8bf617c77a Fixes typo with logs redirection. 2018-06-23 16:04:48 -04:00
Samuel Dionne-Riel
86157753f8 Use mkMerge to merge multiple configs. 2018-06-20 20:18:44 -04:00
Samuel Dionne-Riel
ca0ef47b71 initrd-logger: enable = false will disable it completely. 2018-06-18 22:14:01 -04:00
Samuel Dionne-Riel
0d17ae2279 stage-1: Adds shell option. 2018-06-18 22:14:01 -04:00
Samuel Dionne-Riel
35972c5547 modules: fixes order. 2018-06-18 22:14:01 -04:00
Samuel Dionne-Riel
2ef6c5f988 initrd: Implements messages redirection.
This allows outputting the /init process' messages to multiple
locations, including /dev/console, any additional tty and files.
2018-06-18 21:43:58 -04:00
Samuel Dionne-Riel
6095b623f6 Adds qemu-x86_64 device.
Network doesn't work :/
2018-06-17 20:55:34 -04:00
Samuel Dionne-Riel
7be3b3474b fb_modes can now be nulled. 2018-06-17 19:57:42 -04:00
Samuel Dionne-Riel
97b41b1221 Misc additions. 2018-06-17 19:57:14 -04:00
Samuel Dionne-Riel
9b1d50597f moves systems into a folder. 2018-06-17 19:57:03 -04:00
Samuel Dionne-Riel
9e44b27e21 Finishes porting to declarative configuration. 2018-06-17 17:50:32 +00:00
Samuel Dionne-Riel
0f560d06af WIP slowly moving everything to the options system. 2018-06-17 03:43:11 +00:00
Samuel Dionne-Riel
707d62ab81 WIP fixes framebuffer modes. 2018-06-17 00:56:44 +00:00
Samuel Dionne-Riel
a3a4a44704 WIP progress with configuration system.
Regression: fb.modes isn't copied anymore
2018-06-17 00:43:19 +00:00
Samuel Dionne-Riel
844313903e WIP Migrates device configuration into the options system. 2018-06-16 23:21:41 +00:00