> When booting with the options `quiet splash` options removed,
> and `nosplash break=top` added (drops to a shell before
> running local-top scripts like plymouth), I checked some stuff:
> - cat /proc/modules: no modules seems to be loaded
> - ls -l /dev/dri/card0: missing AHA! PROBLEM FOUND!
Except that when you boot with 'break=top', you're interrupting the boot before udev runs, and it's udev that loads the modules and creates /dev/dri/card0; so that doesn't really tell us what's happening.
Could you instead try adding a 'udevadm settle' command to /usr/share/initramfs-tools/scripts/init-top/plymouth before the call to plymouthd, and see if that's enough to do the job without adding a manual 'modprobe'? The 'framebuffer' script should be enough to ensure this on its own, but maybe it isn't for some reason.
> When booting with the options `quiet splash` options removed,
> and `nosplash break=top` added (drops to a shell before
> running local-top scripts like plymouth), I checked some stuff:
> - cat /proc/modules: no modules seems to be loaded
> - ls -l /dev/dri/card0: missing AHA! PROBLEM FOUND!
Except that when you boot with 'break=top', you're interrupting the boot before udev runs, and it's udev that loads the modules and creates /dev/dri/card0; so that doesn't really tell us what's happening.
Could you instead try adding a 'udevadm settle' command to /usr/share/ initramfs- tools/scripts/ init-top/ plymouth before the call to plymouthd, and see if that's enough to do the job without adding a manual 'modprobe'? The 'framebuffer' script should be enough to ensure this on its own, but maybe it isn't for some reason.