[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1110545: initramfs-tools: missing MMC modules break boot



Package: initramfs-tools
Version: 0.148.3
Severity: normal
X-Debbugs-Cc: sascha-debian-bugs-initramfs-tools-20250807@silbe.org

Dear Maintainer,

when running update-initramfs from Trixie (armhf) on a build system
(e.g. using debos) the MMC driver modules are not included in the
initramfs any more despite MODULES=most (default configuration). This
breaks boot on at least BeagleBone Black (BBB) for a system with
rootfs on SD card (and presumably built-in eMMC as well). As many
embedded systems can only boot from eMMC or SD card, this potentially
affects a large number of systems when using images built on another
system (which is a rather common scenario).

When run on the target system itself with rootfs on SD card, a lot of
MMC drivers are included (not just the one used on the system). This
is the behaviour I expect from MODULES=most on *any* system (at the
very least on armhf/armel/arm64).

When run on the build system, no MMC driver at all is present in the
initramfs on Trixie:

=== Begin ===
$ zstdcat /mnt/boot/initrd.img |cpio -t |grep -i mmc
10216 blocks
=== End ===

For comparison, Bookworm included mmc/host/sdhci-omap.ko alongside
lots of other MMC drivers:

=== Begin ===
$ zstdcat /boot/initrd.img|cpio -t |cut -d / -f 5- |grep mmc
kernel/drivers/mmc
kernel/drivers/mmc/core
kernel/drivers/mmc/core/pwrseq_sd8787.ko
kernel/drivers/mmc/core/sdio_uart.ko
kernel/drivers/mmc/host
kernel/drivers/mmc/host/armmmci.ko
kernel/drivers/mmc/host/bcm2835.ko
kernel/drivers/mmc/host/cb710-mmc.ko
kernel/drivers/mmc/host/dw_mmc-exynos.ko
kernel/drivers/mmc/host/dw_mmc-pltfm.ko
kernel/drivers/mmc/host/dw_mmc-rockchip.ko
kernel/drivers/mmc/host/dw_mmc.ko
kernel/drivers/mmc/host/meson-mx-sdio.ko
kernel/drivers/mmc/host/mmc_spi.ko
kernel/drivers/mmc/host/mvsdio.ko
kernel/drivers/mmc/host/of_mmc_spi.ko
kernel/drivers/mmc/host/omap.ko
kernel/drivers/mmc/host/omap_hsmmc.ko
kernel/drivers/mmc/host/rtsx_pci_sdmmc.ko
kernel/drivers/mmc/host/rtsx_usb_sdmmc.ko
kernel/drivers/mmc/host/sdhci-dove.ko
kernel/drivers/mmc/host/sdhci-esdhc-imx.ko
kernel/drivers/mmc/host/sdhci-iproc.ko
kernel/drivers/mmc/host/sdhci-of-aspeed.ko
kernel/drivers/mmc/host/sdhci-omap.ko
kernel/drivers/mmc/host/sdhci-pci.ko
kernel/drivers/mmc/host/sdhci-pxav3.ko
kernel/drivers/mmc/host/sdhci-s3c.ko
kernel/drivers/mmc/host/sdhci-tegra.ko
kernel/drivers/mmc/host/sunxi-mmc.ko
kernel/drivers/mmc/host/tifm_sd.ko
kernel/drivers/mmc/host/toshsd.ko
kernel/drivers/mmc/host/ushc.ko
kernel/drivers/mmc/host/via-sdmmc.ko
kernel/drivers/mmc/host/vub300.ko
kernel/drivers/mmc/host/wmt-sdmmc.ko
kernel/drivers/phy/rockchip/phy-rockchip-emmc.ko
141997 blocks
=== End ===

On a booted Bookworm system, mmc/host/sdhci-omap.ko is used for both
eMMC and SD card:

=== Begin ===
$ lsmod |grep -i omap |egrep -i 'sdhci|mmc'
sdhci_omap             28672  0
$ sudo dmesg|grep -i mmc
[   10.085952] sdhci-omap 48060000.mmc: Got CD GPIO
[   10.086158] sdhci-omap 48060000.mmc: supply pbias not found, using dummy regulator
[   10.086930] sdhci-omap 48060000.mmc: supply vqmmc not found, using dummy regulator
[   10.120188] sdhci-omap 481d8000.mmc: supply pbias not found, using dummy regulator
[   10.120978] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator
[   10.670895] mmc1: SDHCI controller on 481d8000.mmc [481d8000.mmc] using External DMA
[   10.697195] mmc0: SDHCI controller on 48060000.mmc [48060000.mmc] using External DMA
[   10.724501] mmc1: new high speed MMC card at address 0001
[   10.740127] mmcblk1: mmc1:0001 M62704 3.56 GiB 
[   10.772799] mmc0: new high speed SDXC card at address e624
[   10.779847]  mmcblk1: p1
[   10.781699] mmcblk1boot0: mmc1:0001 M62704 2.00 MiB 
[   10.788867] mmcblk0: mmc0:e624 SN64G 59.5 GiB 
[   10.817750]  mmcblk0: p1 p2 p3
[   10.834106] mmcblk1boot1: mmc1:0001 M62704 2.00 MiB 
[   10.895623] mmcblk1rpmb: mmc1:0001 M62704 512 KiB, chardev (241:0)
=== End ===


Failed boot:
=== Begin ===
Booting Debian 6.12.38+deb13-armmp from mmc 0:3...
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Ramdisk to 8f272000, end 8ffff720 ... OK
   Loading Device Tree to 8f25d000, end 8f2714fb ... OK

Starting kernel ...

[    1.243170] target-module@4b000000:target-module@140000:pmu@0:fck: device ID is greater than 24
[    1.248637] l3-aon-clkctrl:0000:0: failed to disable
[    1.286896] l3-aon-clkctrl:0000:0: failed to disable
[    1.338398] omap_voltage_late_init: Voltage driver support not added
[    2.214361] ti-sysc 44e31000.target-module: probe with driver ti-sysc failed with error -16
[    2.282555] ti-sysc 48040000.target-module: probe with driver ti-sysc failed with error -16
[    2.404683] 48000000.interconnect:segment@200000:target-module@0:mpu@0:fck: device ID is greater than 24
[    2.470805] debugfs: Directory '49000000.dma' with parent 'dmaengine' already present!
Gave up waiting for root file system device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/disk/by-uuid/3c1a9a54-db28-4674-8531-417e780d24e9 does not exist.  Dropping to a shell!
=== End ===


In Trixie, sdhci-omap is still built as a module that needs to be
loaded by initramfs (no change compared to Bookworm):

=== Begin ===
$ grep CONFIG_MMC_SDHCI_OMAP /mnt/boot/config-6.12.38+deb13-armmp
CONFIG_MMC_SDHCI_OMAP=m
=== End ===

When run on the build system, MMC is not mentioned at all in
update-initramfs output even with in verbose mode:

=== Begin ===
$ tr -d '\r' < debos.log |grep setup-grub-initramfs |grep -i mmc
$
=== End ===

When run on the target system, a lot of MMC drivers are included:

=== Begin ===
$ grep -i mmc update-initramfs-on-bbb.log 
dracut-install: mkdir '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc'
dracut-install: mkdir '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/core'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/core/sdio_uart.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/core/sdio_uart.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/core/pwrseq_sd8787.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/core/pwrseq_sd8787.ko.xz'
dracut-install: mkdir '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/rtsx_usb_sdmmc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/rtsx_usb_sdmmc.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/armmmci.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/armmmci.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/ushc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/ushc.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/cqhci.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/cqhci.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/omap.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/omap.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/dw_mmc-pltfm.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/dw_mmc-pltfm.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/dw_mmc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/dw_mmc.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/vub300.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/vub300.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-pltfm.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-pltfm.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/rtsx_pci_sdmmc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/rtsx_pci_sdmmc.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-s3c.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-s3c.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/omap_hsmmc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/omap_hsmmc.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/dw_mmc-rockchip.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/dw_mmc-rockchip.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/mmc_spi.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/mmc_spi.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/of_mmc_spi.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/of_mmc_spi.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/mvsdio.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/mvsdio.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/bcm2835.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/bcm2835.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-pci.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-pci.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/toshsd.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/toshsd.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/dw_mmc-exynos.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/dw_mmc-exynos.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-pxav3.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-pxav3.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-iproc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-iproc.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sunxi-mmc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sunxi-mmc.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-of-aspeed.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-of-aspeed.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/via-sdmmc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/via-sdmmc.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-omap.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-omap.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-tegra.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-tegra.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-dove.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-dove.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/cb710-mmc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/cb710-mmc.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/tifm_sd.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/tifm_sd.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/meson-mx-sdio.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/meson-mx-sdio.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/wmt-sdmmc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/wmt-sdmmc.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-esdhc-imx.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/mmc/host/sdhci-esdhc-imx.ko.xz'
dracut-install: cp '/lib/modules/6.12.38+deb13-armmp/kernel/drivers/phy/rockchip/phy-rockchip-emmc.ko.xz' '/var/tmp/mkinitramfs_qOKAOK/lib/modules/6.12.38+deb13-armmp/kernel/drivers/phy/rockchip/phy-rockchip-emmc.ko.xz'
I: Checking swap device /dev/mmcblk0p2
I: The initramfs will attempt to resume from /dev/mmcblk0p2
=== End ===


Sascha Silbe


[removed auto-generated system info because it applies to my desktop,
not the BBB affected by the breakage]


Reply to: