#764805 initramfs-tools: Provide a way to preseed additions to /etc/initramfs-tools/modules

#764805#5
Date:
2014-10-11 10:39:04 UTC
From:
To:
Dear Maintainer,

Issues such as #762042 would be somewhat less critical for the affected
platforms if there was a mechnism for preseeding a list of additional modules
which should be included in the initrd, by adding them to
/etc/initramfs-tools/modules at install time.

Cheers,
Ian.

#764805#10
Date:
2014-10-11 20:58:32 UTC
From:
To:
The installer already has a mechanism for adding modules to this list
(register-module -i).

That doesn't allow arbitrary modules to be added by pre-seeding, and I'm
not convinced that it should.  That should only ever be a workaround,
not something we expect to be widely used.  You can accomplish such
workarounds with late_command already.

Ben.

#764805#15
Date:
2014-10-12 13:24:42 UTC
From:
To:
So it does. Thanks for the pointer. But...

.. it doesn't seem to work for me from late_command. Looking at the
resulting syslog it seems like late_command is processed after the
system is made bootable. i.e. after the ramdisk is generated.
        # grep -E register-module\|initramfs /var/log/insta
        Jan  2 00:00:49 kernel: [    0.173214] Unpacking initramfs...
        Oct 12 12:23:26 in-target:   initramfs-tools klibc-utils libklibc
        Oct 12 12:23:27 in-target: Get:3 http://ftp.uk.debian.org/debian/ jessie/main initramfs-tools all 0.116 [89.0 kB]
        Oct 12 12:23:29 in-target: Selecting previously unselected package initramfs-tools.
        Oct 12 12:23:29 in-target: Preparing to unpack .../initramfs-tools_0.116_all.deb ...
        Oct 12 12:23:29 in-target: Unpacking initramfs-tools (0.116) ...
        Oct 12 12:23:31 in-target: Setting up initramfs-tools (0.116) ...
        Oct 12 12:23:31 in-target: update-initramfs: deferring update (trigger activated)
        Oct 12 12:23:32 in-target: Processing triggers for initramfs-tools (0.116) ...
        Oct 12 12:24:03 in-target: /etc/kernel/postinst.d/initramfs-tools:
        Oct 12 12:24:03 in-target: update-initramfs: Generating /boot/initrd.img-3.16-2-armmp-lpae
        Oct 12 12:59:12 in-target: update-initramfs: Generating /boot/initrd.img-3.16-2-armmp-lpae
        Oct 12 13:11:52 in-target: update-initramfs: Generating /boot/initrd.img-3.16-2-armmp-lpae
        Oct 12 13:12:05 preseed: running preseed command preseed/late_command: register-module -i s5m8767 && register-module -i i2c-s3c2410 && register-module -i phy-exynos5250-sata
        Oct 12 13:12:11 finish-install: info: Running /usr/lib/finish-install.d/10update-initramfs
        Oct 12 13:13:05 preseed: running preseed command preseed/late_command: register-module -i s5m8767 && register-module -i i2c-s3c2410 && register-module -i phy-exynos5250-sata
        Oct 12 13:13:12 finish-install: info: Running /usr/lib/finish-install.d/10update-initramfs

(10update-initramfs only does updates relating to encrypted LVM setup)

The modules are not present in /etc/initramfs-tools/modules either, so I
think late_command must be after whatever propagates the result of
register-module to the installed system too.

I'll try running it from early_command and see if that makes any
difference...

Ian.

#764805#20
Date:
2014-10-12 13:37:22 UTC
From:
To:
[...]
[...]

Indeed, that's what I would expect.  What I meant was:
1. If you add code to e.g. hw-detect that determines that a module is
needed in the initramfs, then register-module is the way to make this
happen.
2. If the installer doesn't detect that a module is needed in the
initramfs, and you as a user need a workaround, you can automate that by
setting late_command (but not using register-module).

Ben.

#764805#25
Date:
2014-10-12 13:49:10 UTC
From:
To:
You mean with "echo foo >> /target//etc/initramfs-tools/modules &&
update-initramfs -u -k all"?

That was what I was doing, it's ok for the likes of us but not really
for more regular users who might be e.g. following docs to run Debian on
a platform which we didn't manage to test before the release. That's
what led me to request a more convenient way to preseed this.

Ian.