I use genkernel to generate the initramfs for my system.
The kernel command line contains the parameter
Code: Select all
real_init=/sbin/openrc-initCode: Select all
$ rc-update show sysinit
cgroups | sysinit
devfs | sysinit
dmesg | sysinit
kmod-static-nodes | sysinit
sysfs | sysinit
systemd-tmpfiles-setup-dev | sysinit
udev | sysinit
udev-settle | sysinit
udev-trigger | sysinit
But when the system moves to the boot and default runlevels, all of that initialization state is lost. All services are seen as not started.
The consequence of this is that NetworkManager cannot see the WiFi adapter and blocks, the display manager will not start, laptop-mode will not start, and the system displays all sorts of quirky behaviours (like horrible display flicker),
starting udev-trigger manually once the system has got to default and is in multi-user will cause NetworkManager to find the Wifi adapter, which will allow the display manager to start manually, but that's the only workaround I have found, and I am not sure it isn't having unintended consequences.
I'm at a loss how to even debug this (after all, there is no openrc logging at sysinit), can anyone offer suggestions of things to try?

