The patches added here are required to build under some conditions, but
not all are ended up needed as CONFIG_DEBUG_FS is required to be active
otherwise the kernel doesn't even boot :/
The kernel size was reduced by:
* Removing tracing support
* Removing unneeded exfat and sdcardfs filesystems
* Removing all sound support
* Removing video input (camera) support
The latter options seem awfully shortsighted, until you remember that a goal is
to eventually deal with booting our own kernels through kexec.
The Moto Z Play device's boot partition size is putting us in a hard
spot.
Ah! It looks like this is not a constant, but a common failure mode
among android-based devices!
In dmesg:
```
Warning: unable to open an initial console.
```
Simply removing the `console=` fixes the console.
See f295dc1739 for a similar instance of
the issue.
This broke things subtly in the initrd.
The argument came from an OEM image. It might not affect Android images,
but it affects our setup.
It looks like it breaks console redirection and such things. This, in
turn, breaks systemd-udevd, aborting with the following:
```
close_nointr(fd) != -EBADF' failed at src/basic/fd-util.c:71, function safe_close(). Aborting
```
In turn, what tipped me off is this dmesg message:
```
Warning: unable to open an initial console.
```
Though there is no certainty it is related.
The kernel build is technically the same as google-taimen, with some
options switched around. An upcoming improvement will be to share the
"wahoo" platform's kernel build with an option to switch between the
two at build time, and further along the line, with modular kernels,
sharing the same exact builds, but with the device-specifics as modules.
Anchoring ourselves to an external project, at this point, is not
feasible. This does not allow us to explore making better use of the
capabilities of nix.
Though, a mechanism using third-party resources, like the postmarketOS
device information, is something that is desirable. The difference is
that it would need to *import* the information in the format used by
mobile-nixos, rather than mobile-nixos importing the information from a
"data dump".
This is dumb... These are all android/google/qualcomm/asus "features"
added to the kernel with no concern about actually being compatible
with the kernel. They all assume no USER_NS stuff.
Fun!
libinput, which I believe, claims there is a kernel bug with the
synaptics driver touchscreen in use.
This is the recommended fix according to PostmarketOS.
* https://wiki.postmarketos.org/wiki/Troubleshooting:touchscreen#sec_touchscreen:_kernel_bug
I have not seen any issues from using this fix.
The error:
```
synaptics: kernel bug: device has min == max on ABS_MT_WIDTH_MAJOR
```
According to the touchscreen documentation of the kernel, I don't think
that it is an issue to remove this information from touch events.