Impact:
Around pi-kernel #23 (and pc-kernel #196), kernel snap's initrd went missing all fb kmods - that was workarounded for pi-kernel last week by manually adding the modules back in:
commit edd1f8914fded36d4739fd24cdbdd05c5cf37611
Author: Paolo Pisati <email address hidden>
Date: Tue Jul 23 11:30:49 2019 +0200
Initrd modules: fbdev/hdmi out support for psplash
BugLink: https://launchpad.net/bugs/1837209
After more debugging, it turned out that the regression was in fact the effect of fixing LP#1561643: initrmafs-tools kept installing fb modules even when framebuffer support was not enabled, and kernel snap never explicitly enabled framebuffer initramfs-tools script, but still came bundled with such kmods.
Fix:
In Ubuntu Classic, to bundle fb kmods in initrd, we normally install cryptsetup:
$ cat /usr/share/initramfs-tools/conf-hooks.d/cryptsetup
...
FRAMEBUFFER=y
But cryptsetup, among other things, adds several initramfs-tools hooks and scripts to initrd:
...
scripts
scripts/local
+scripts/local-block
+scripts/local-block/ORDER
+scripts/local-block/cryptroot
scripts/ubuntu-core-rootfs
scripts/functions
+scripts/init-premount
+scripts/init-premount/ORDER
+scripts/init-premount/plymouth
scripts/ubuntu-core-functions
scripts/local-premount
scripts/local-premount/ORDER
@@ -247,6 +359,10 @@
scripts/local-premount/fixrtc
scripts/local-premount/dragonmac
scripts/local-premount/resume
+scripts/local-top
+scripts/local-top/ORDER
+scripts/local-top/cryptroot
+scripts/local-top/cryptopensc
scripts/nfs
scripts/panic
scripts/panic/ORDER
@@ -258,10 +374,13 @@
scripts/local-bottom
scripts/local-bottom/ORDER
scripts/local-bottom/fixrtc-mount
+scripts/local-bottom/cryptopensc
scripts/init-top
...
so to avoid any possible regression in kernel snaps and keep the changes to a minimum, we avoid installing cryptsetup and just enable framebuffer in initramfs-tools/conf-hooks.d (see also the attached path):
--- a/Makefile
+++ b/Makefile
@@ -106,6 +106,9 @@ all:
fi
$(ENV) chroot chroot apt-get -y update;\
$(ENV) chroot chroot apt-get -y install initramfs-tools-ubuntu-core linux-firmware xz-utils
+ # enable initramfs-tools framebuffer script (and includes the necessary
+ # kmods to initrd.img)
+ echo "FRAMEBUFFER=y" > chroot/usr/share/initramfs-tools/conf-hooks.d/ubuntu-core-fb
$(ENV) chroot chroot apt-get -y install $(KERNELDEB) $(PKGS)
umount chroot/sys
umount chroot/proc
How to test:
A diff between the content of an 'empty initrd' and one that is generated after applying the above fix, shows that fb kmods are now back:
lib/modules/4.15.0-1042-raspi2/modules.dep.bin
lib/modules/4.15.0-1042-raspi2/modules.alias
lib/modules/4.15.0-1042-raspi2/kernel
+lib/modules/4.15.0-1042-raspi2/kernel/sound
+lib/modules/4.15.0-1042-raspi2/kernel/sound/soc
+lib/modules/4.15.0-1042-raspi2/kernel/sound/soc/snd-soc-core.ko
+lib/modules/4.15.0-1042-raspi2/kernel/sound/ac97_bus.ko
+lib/modules/4.15.0-1042-raspi2/kernel/sound/core
+lib/modules/4.15.0-1042-raspi2/kernel/sound/core/snd-timer.ko
+lib/modules/4.15.0-1042-raspi2/kernel/sound/core/snd-pcm-dmaengine.ko
+lib/modules/4.15.0-1042-raspi2/kernel/sound/core/snd.ko
+lib/modules/4.15.0-1042-raspi2/kernel/sound/core/snd-pcm.ko
+lib/modules/4.15.0-1042-raspi2/kernel/sound/core/snd-compress.ko
lib/modules/4.15.0-1042-raspi2/kernel/drivers
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/media
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/media/rc
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/media/rc/rc-core.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/media/cec
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/media/cec/cec.ko
lib/modules/4.15.0-1042-raspi2/kernel/drivers/i2c
lib/modules/4.15.0-1042-raspi2/kernel/drivers/i2c/busses
lib/modules/4.15.0-1042-raspi2/kernel/drivers/i2c/busses/i2c-bcm2708.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/vc4
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/vc4/vc4.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/sii902x.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/tc358767.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/sil-sii8620.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/sii9234.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/dumb-vga-dac.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/parade-ps8622.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/adv7511
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/adv7511/adv7511_drm.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/lvds-encoder.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/analogix-anx78xx.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/synopsys
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/nxp-ptn3460.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/bridge/ti-tfp410.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/pl111
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/pl111/pl111_drm.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/arm
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/arm/mali-dp.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/arm/hdlcd.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/udl
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/udl/udl.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/arc
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/arc/arcpgu.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/drm.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tinydrm
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tinydrm/repaper.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tinydrm/core
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tinydrm/core/tinydrm.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tinydrm/st7586.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tinydrm/mi0283qt.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tinydrm/mipi-dbi.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tve200
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tve200/tve200_drm.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/i2c
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/i2c/ch7006.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/i2c/tda998x.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/i2c/sil164.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/mxsfb
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/mxsfb/mxsfb.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/exynos
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/exynos/exynosdrm.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/ttm
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/ttm/ttm.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/virtio
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/virtio/virtio-gpu.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tilcdc
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/tilcdc/tilcdc.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/vgem
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/vgem/vgem.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-simple.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-lvds.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-samsung-ld9040.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-seiko-43wvf1g.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-innolux-p079zca.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-lg-lg4573.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-sitronix-st7789v.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-orisetech-otm8009a.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/panel/panel-jdi-lt070me05000.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/drm/drm_kms_helper.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/ipu-v3
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/gpu/ipu-v3/imx-ipu-v3.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/video
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/video/fbdev
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/video/fbdev/core
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/video/fbdev/core/fb_sys_fops.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/video/fbdev/core/syscopyarea.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/video/fbdev/core/sysimgblt.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/video/fbdev/core/sysfillrect.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/virtio
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/virtio/virtio.ko
+lib/modules/4.15.0-1042-raspi2/kernel/drivers/virtio/virtio_ring.ko
lib/modules/4.15.0-1042-raspi2/modules.devname
lib/modules/4.15.0-1042-raspi2/modules.symbols.bin
lib/modules/4.15.0-1042-raspi2/modules.builtin
@@ -260,8 +363,10 @@
scripts/local-bottom/fixrtc-mount
scripts/init-top
scripts/init-top/ORDER
+scripts/init-top/keymap
scripts/init-top/blacklist
scripts/init-top/all_generic_ide
+scripts/init-top/framebuffer
scripts/init-top/udev
sbin
sbin/hwclock
Furthermore, after reverting commit edd1f8914fded36d4739fd24cdbdd05c5cf37611 and building an ubuntu core image with a fixed kernel snap, shows the fb is working regularly.
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1838429
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.