ACK: [PATCH] [deb to snap] core18: fix missing kmods from generated kernel snaps

Paolo Pisati paolo.pisati at canonical.com
Wed Aug 7 10:16:11 UTC 2019


Applied and pushed.

On Wed, Aug 7, 2019 at 11:51 AM Kleber Souza <kleber.souza at canonical.com> wrote:
>
> On 30.07.19 17:29, Paolo Pisati wrote:
> > BugLink: https://launchpad.net/bugs/1838429
> >
> > 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 <paolo.pisati at canonical.com>
> > 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 to keep the changes to a
> > minimum, we avoid installing cryptsetup and just enable framebuffer in
> > initramfs-tools/conf-hooks.d (see the attached path).
> >
> > 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.
> >
> > Proposing for linux-snap/+git/bionic, master branch.
> >
> > Paolo Pisati (2):
> >   Revert "Initrd modules: fbdev/hdmi out support for psplash"
> >   Enable initramfs-tools framebuffer script
> >
> >  Makefile | 27 +++------------------------
> >  1 file changed, 3 insertions(+), 24 deletions(-)
> >
>
> Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>



-- 
bye,
p.



More information about the kernel-team mailing list