anatol / booster

Fast and secure initramfs generator
MIT License
492 stars 41 forks source link

Booster does not find rd.luks.name when partition on /dev/mmcblk0p2 #90

Closed benalexau closed 3 years ago

benalexau commented 3 years ago

Arch Linux officially packaged Booster 0.5-1 is failing to boot when an SD card (mmcblk0) holds an EFI partition (mmcblk0p1) and the remainder of the system on a LUKS partition (mmcblk0p2). On attempting boot with booster.debug the blkinfo for sda1 is found but it never reports finding mmcblk0p2 and the system stops booting:

booster-debug

I routinely use Booster successfully where the EFI partition is on the SD card and the LUKS partition is on a separate drive (sda1). The issue appears to be when the LUKS partition is on mmcblk0p2 as opposed to sda1.

Configuration:

# lsblk -f
NAME          FSTYPE      FSVER            LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
loop0         squashfs    4.0
sda
`-sda1        ext4        1.0                          420fafdd-6504-4f79-b297-67c1d3658151
sdb           iso9660     Joliet Extension ARCH_202102 2021-02-01-15-18-34-00
|-sdb1        iso9660     Joliet Extension ARCH_202102 2021-02-01-15-18-34-00
|-sdb2        vfat        FAT16            ARCHISO_EFI C3B0-B855
`-sdb3
mmcblk0
|-mmcblk0p1   vfat        FAT32                        3E40-F17E                             447.7M    10% /boot
`-mmcblk0p2   crypto_LUKS 2                            2e81ec9a-119f-4154-a342-8152524a540a
  `-cryptroot ext4        1.0                          eca7d203-0c10-4d2b-a591-010bbde598b6   53.1G     3% /

# tail -n 9 /boot/EFI/BOOT/refind.conf
menuentry "Arch Linux" {
    icon     icon /EFI/refind/icons/os_arch.png
    volume   "Arch Linux"
    loader   /vmlinuz-linux
    initrd   /intel-ucode.img
    initrd   /booster-linux.img
    options  "rd.luks.name=2e81ec9a-119f-4154-a342-8152524a540a=cryptroot root=/dev/mapper/cryptroot booster.debug"
}

# ls -l /boot
total 16912
drwxr-xr-x 4 root root    4096 Jun  5 18:48 EFI
-rwxr-xr-x 1 root root 4254157 Jun  6 09:48 booster-linux.img
-rwxr-xr-x 1 root root 3624960 Feb 17 19:15 intel-ucode.img
-rwxr-xr-x 1 root root 9432128 Jun  6 09:48 vmlinuz-linux

# file /etc/booster.yaml
/etc/booster.yaml: empty

# grep booster /var/log/pacman.log
[2021-06-06T09:48:48+1000] [PACMAN] Running 'pacman -S booster'
[2021-06-06T09:48:54+1000] [ALPM] installed booster (0.5-1)
[2021-06-06T09:48:55+1000] [ALPM] running '90-booster-install.hook'...
anatol commented 3 years ago

I wonder if kernel module for MMC device are not loaded. What is your lsmod for the system successfully booted from (or at least uses) MMC? What is the content for booster-linux.img?

benalexau commented 3 years ago

What is your lsmod for the system successfully booted from (or at least uses) MMC?

$ lsmod
Module                  Size  Used by
snd_hda_codec_hdmi     73728  1
snd_hda_codec_realtek   151552  1
snd_hda_codec_generic    98304  1 snd_hda_codec_realtek
snd_sof_pci_intel_apl    16384  0
snd_sof_intel_hda_common   106496  1 snd_sof_pci_intel_apl
soundwire_intel        45056  1 snd_sof_intel_hda_common
soundwire_generic_allocation    16384  1 soundwire_intel
soundwire_cadence      36864  1 soundwire_intel
snd_sof_intel_hda      20480  1 snd_sof_intel_hda_common
snd_sof_pci            20480  2 snd_sof_intel_hda_common,snd_sof_pci_intel_apl
snd_sof               147456  2 snd_sof_pci,snd_sof_intel_hda_common
snd_sof_xtensa_dsp     16384  1 snd_sof_intel_hda_common
soundwire_bus          90112  3 soundwire_intel,soundwire_generic_allocation,soundwire_cadence
intel_rapl_msr         20480  0
intel_rapl_common      28672  1 intel_rapl_msr
ledtrig_audio          16384  2 snd_hda_codec_generic,snd_sof
intel_telemetry_pltdrv    24576  0
intel_punit_ipc        16384  1 intel_telemetry_pltdrv
intel_telemetry_core    20480  1 intel_telemetry_pltdrv
snd_soc_skl           180224  0
i915                 2793472  1
vfat                   24576  1
x86_pkg_temp_thermal    20480  0
snd_soc_hdac_hda       24576  2 snd_sof_intel_hda_common,snd_soc_skl
fat                    86016  1 vfat
snd_hda_ext_core       36864  4 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
coretemp               20480  0
snd_soc_sst_ipc        20480  1 snd_soc_skl
snd_soc_sst_dsp        40960  1 snd_soc_skl
snd_soc_acpi_intel_match    49152  3 snd_sof_intel_hda_common,snd_soc_skl,snd_sof_pci_intel_apl
snd_soc_acpi           16384  3 snd_soc_acpi_intel_match,snd_sof_intel_hda_common,snd_soc_skl
snd_soc_core          331776  5 soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl
snd_compress           32768  1 snd_soc_core
mmc_block              53248  1
ac97_bus               16384  1 snd_soc_core
8250_dw                16384  0
snd_pcm_dmaengine      16384  1 snd_soc_core
mei_hdcp               24576  0
at24                   24576  0
iTCO_wdt               16384  0
snd_hda_intel          57344  0
iTCO_vendor_support    16384  1 iTCO_wdt
snd_intel_dspcfg       28672  3 snd_hda_intel,snd_sof_intel_hda_common,snd_soc_skl
snd_intel_sdw_acpi     20480  2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec         172032  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
kvm_intel             331776  0
snd_hda_core          106496  10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_hwdep              16384  1 snd_hda_codec
drm_kms_helper        290816  1 i915
kvm                  1011712  1 kvm_intel
cec                    69632  2 drm_kms_helper,i915
snd_pcm               147456  11 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
irqbypass              16384  1 kvm
rapl                   16384  0
intel_cstate           20480  0
sdhci_pci              69632  0
intel_gtt              24576  1 i915
cqhci                  36864  1 sdhci_pci
snd_timer              45056  1 snd_pcm
sdhci                  77824  1 sdhci_pci
pcspkr                 16384  0
syscopyarea            16384  1 drm_kms_helper
snd                   114688  10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
i2c_i801               36864  0
pwm_lpss_pci           16384  0
mmc_core              188416  4 sdhci,cqhci,mmc_block,sdhci_pci
i2c_smbus              20480  1 i2c_i801
mei_me                 45056  1
apex                   20480  0
intel_xhci_usb_role_switch    16384  0
pwm_lpss               16384  1 pwm_lpss_pci
lpc_ich                28672  0
gasket                114688  1 apex
intel_lpss_pci         24576  0
fb_sys_fops            16384  1 drm_kms_helper
soundcore              16384  1 snd
mei                   147456  3 mei_hdcp,mei_me
roles                  16384  1 intel_xhci_usb_role_switch
intel_lpss             16384  1 intel_lpss_pci
idma64                 20480  0
video                  53248  1 i915
intel_pmc_bxt          16384  1 iTCO_wdt
mac_hid                16384  0
drm                   573440  3 drm_kms_helper,i915
fuse                  159744  1
agpgart                40960  2 intel_gtt,drm
bpf_preload            16384  0
ip_tables              32768  0
x_tables               53248  1 ip_tables
ext4                  937984  1
jbd2                  147456  1 ext4
mbcache                16384  1 ext4
crc16                  16384  1 ext4
dm_crypt               57344  1
encrypted_keys         24576  1 dm_crypt
trusted                32768  2 encrypted_keys,dm_crypt
tpm_tis                16384  0
tpm_tis_core           28672  1 tpm_tis
tpm_crb                20480  0
aesni_intel           376832  2
tpm                    90112  4 tpm_tis,trusted,tpm_crb,tpm_tis_core
igb                   262144  0
crypto_simd            16384  1 aesni_intel
ghash_clmulni_intel    16384  0
xhci_pci               20480  0
dm_mod                159744  3 dm_crypt
cbc                    16384  0
crct10dif_pclmul       16384  1
crc32_pclmul           16384  0
cryptd                 24576  3 crypto_simd,ghash_clmulni_intel
crc32c_intel           24576  2
xhci_pci_renesas       20480  1 xhci_pci
dca                    16384  1 igb
i2c_algo_bit           16384  2 igb,i915
rng_core               16384  1 tpm

The device itself:

$ lspci -vmmnnk | less
Slot:   00:1b.0
Class:  SD Host controller [0805]
Vendor: Intel Corporation [8086]
Device: Celeron N3350/Pentium N4200/Atom E3900 Series SDXC/MMC Host Controller [5aca]
SVendor:        Intel Corporation [8086]
SDevice:        Device [7270]
Rev:    0b
ProgIf: 01
Driver: sdhci-pci
Module: sdhci_pci

Slot:   00:1c.0
Class:  SD Host controller [0805]
Vendor: Intel Corporation [8086]
Device: Celeron N3350/Pentium N4200/Atom E3900 Series eMMC Controller [5acc]
SVendor:        Intel Corporation [8086]
SDevice:        Device [7270]
Rev:    0b
ProgIf: 01
Driver: sdhci-pci
Module: sdhci_pci

Slot:   00:1e.0
Class:  SD Host controller [0805]
Vendor: Intel Corporation [8086]
Device: Celeron N3350/Pentium N4200/Atom E3900 Series SDIO Controller [5ad0]
SVendor:        Intel Corporation [8086]
SDevice:        Device [7270]
Rev:    0b
ProgIf: 01
Driver: sdhci-pci
Module: sdhci_pci

What is the content for booster-linux.img?

How do I list this?

anatol commented 3 years ago

What is the content for booster-linux.img?

How do I list this?

lsinitcpio /boot/booster-linux.img

anatol commented 3 years ago

And for a quick check you can also add the config option: modules: sdhci,mmc_block,sdhci_pci.

benalexau commented 3 years ago

What is the content for booster-linux.img?

# lsinitcpio /mnt/boot/booster-linux.img
init
usr
usr/lib
usr/lib/modules
usr/lib/modules/crc32_pclmul.ko
usr/lib/modules/tpm_tis_core.ko
usr/lib/modules/dca.ko
usr/lib/modules/ghash_clmulni_intel.ko
usr/lib/modules/cbc.ko
usr/lib/modules/md4.ko
usr/lib/modules/xhci_pci.ko
usr/lib/modules/ccm.ko
usr/lib/modules/fat.ko
usr/lib/modules/tpm_tis.ko
usr/lib/modules/ecb.ko
usr/lib/modules/algif_hash.ko
usr/lib/modules/fuse.ko
usr/lib/modules/cryptd.ko
usr/lib/modules/crypto_simd.ko
usr/lib/modules/crc32c_generic.ko
usr/lib/modules/crct10dif_pclmul.ko
usr/lib/modules/i8042.ko
usr/lib/modules/pkcs8_key_parser.ko
usr/lib/modules/crc16.ko
usr/lib/modules/des_generic.ko
usr/lib/modules/i2c_algo_bit.ko
usr/lib/modules/aesni_intel.ko
usr/lib/modules/libdes.ko
usr/lib/modules/crc32c_intel.ko
usr/lib/modules/encrypted_keys.ko
usr/lib/modules/trusted.ko
usr/lib/modules/tpm_crb.ko
usr/lib/modules/usbhid.ko
usr/lib/modules/xhci_pci_renesas.ko
usr/lib/modules/algif_aead.ko
usr/lib/modules/tpm.ko
usr/lib/modules/algif_skcipher.ko
usr/lib/modules/rng_core.ko
usr/lib/modules/af_alg.ko
usr/lib/modules/squashfs.ko
usr/lib/modules/serio.ko
usr/lib/modules/cdrom.ko
usr/lib/modules/mbcache.ko
usr/lib/modules/dm_mod.ko
usr/lib/modules/dm_crypt.ko
usr/lib/modules/overlay.ko
usr/lib/modules/cmac.ko
usr/lib/modules/vfat.ko
usr/lib/modules/igb.ko
usr/lib/modules/jbd2.ko
usr/lib/modules/isofs.ko
usr/lib/modules/ext4.ko
usr/lib/modules/booster.alias
etc
etc/booster.init.yaml
etc/initrd-release

And for a quick check you can also add the config option: modules: sdhci,mmc_block,sdhci_pci.

Added to /etc/booster.yaml, ran /usr/lib/booster/regenerate_images, verified included using lsinitcpio /mnt/boot/booster-linux.img, rebooted.

On reboot the Booster debug included some references to MMC:

udev event {Header:add@/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa Action:add Devpath:/devices/pci0000:00:/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa Subsystem:mmc Seqnum:1307 Vars:map[ACTION:add DEVPATH:/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa MMC_NAME:SH64G MMC_TYPE:SD MODALIAS:mmc:block SEQNUM:1307 SUBSYSTEM:mmc]}
no match found for alias mmc:block
....
found a new device sda
blkinfo for /dev/sda: type=gpt UUID=46b.... LABEL=
found a new device sda1
blkinfo for /dev/sda1: type=ext4 UUID=420fafdd-6504-4f79-b297-67c1d3658151 LABEL=

After the final line above the system does not make further progress with the boot.

anatol commented 3 years ago

Thanks for the reply.

no match found for alias mmc:block

I looked at the aliases file provided by kernel and I see alias mmc:block mmc_block there. It is what booster expects to use during udev processing stage.

For a non-universal mode all the kernel aliases filtered out by host aliases that can be found under /sys/devices. What aliases your system sees for your mmc device? Could you please show me the content of find /sys/devices -name modalias | grep mmc | xargs tail -n +1

As a quick workaround for this no match found problem you can try to set universal: true.

benalexau commented 3 years ago

Could you please show me the content of find /sys/devices -name modalias | grep mmc | xargs tail -n +1

Using both the Arch Linux Live Image and a correctly-operating system with identical hardware (albeit where the LUKS partition is on sda1 so doesn't have this issue) the above command returns no output. Dropping the | xargs pipe also confirms no output.

As a quick workaround for this no match found problem you can try to set universal: true.


# echo 'universal: true' > /etc/booster.yaml

/usr/lib/booster/regenerate_images

trying to add file /usr/lib/firmware/phanfw.bin to the image but it is already there

ls -l /boot

total 48600 drwxr-xr-x 4 root root 4096 Jun 5 18:48 EFI -rwxr-xr-x 1 root root 36700204 Jun 7 08:23 booster-linux.img -rwxr-xr-x 1 root root 3624960 Feb 17 19:15 intel-ucode.img -rwxr-xr-x 1 root root 9432128 Jun 7 08:23 vmlinuz-linux

date

Mon Jun 7 08:24:04 AEST 2021

exit

umount /mnt/boot /mnt

reboot



Booting then stops with this screen:

![booster-debug](https://user-images.githubusercontent.com/718596/120942206-ba3db880-c76a-11eb-9206-e2b45972f000.jpg)

Upon unplugging the keyboard I see more udev events but booting is still paused.
benalexau commented 3 years ago

I was able to get it booting using modules_force_load:

# echo 'modules_force_load: sdhci,mmc_block,sdhci_pci' > /etc/booster.yaml

# /usr/lib/booster/regenerate_images

# ls -l /boot
drwxr-xr-x 4 root root    4096 Jun  5 18:48 EFI
-rwxr-xr-x 1 root root 4483606 Jun  7 09:18 booster-linux.img
-rwxr-xr-x 1 root root 3624960 Feb 17 19:15 intel-ucode.img
-rwxr-xr-x 1 root root 9432128 Jun  7 09:18 vmlinuz-linux

# date
Mon Jun  7 09:19:02 AEST 2021

# exit

# umount /mnt/boot /mnt

# reboot

The system then started, prompted for entry of the LUKS password, then continued to boot after unlocking.

anatol commented 3 years ago

the above command returns no output

It is weird. There should be some device related to mmc. What is the output of find /sys/devices -name modalias | xargs tail -n +1 | grep -C 5 mmc.

benalexau commented 3 years ago

What is the output of find /sys/devices -name modalias | xargs tail -n +1 | grep -C 5 mmc.

Nothing is returned. I'll paste everything MMC related below.

# find /sys/devices | grep mmc
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1/uevent
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1/power
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1/power/runtime_active_time
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1/power/runtime_status
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1/power/autosuspend_delay_ms
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1/power/runtime_suspended_time
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1/power/control
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1/device
/sys/devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1/subsystem
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/uevent
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/power
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/power/runtime_active_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/power/runtime_status
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/power/autosuspend_delay_ms
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/power/runtime_suspended_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/power/control
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/device
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/fwrev
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/uevent
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/cid
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/rca
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/csd
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/manfid
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/power
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/power/runtime_active_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/power/runtime_status
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/power/autosuspend_delay_ms
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/power/runtime_suspended_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/power/control
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/ocr
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/preferred_erase_size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/type
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/hwrev
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/driver
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/date
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/dsr
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/erase_size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/subsystem
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/uevent
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/ext_range
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/range
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/alignment_offset
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/power
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/power/runtime_active_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/power/runtime_status
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/power/autosuspend_delay_ms
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/power/runtime_suspended_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/power/control
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/dev
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/device
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/holders
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/uevent
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/alignment_offset
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/power
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/power/runtime_active_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/power/runtime_status
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/power/autosuspend_delay_ms
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/power/runtime_suspended_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/power/control
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/dev
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/holders
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/ro
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/stat
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/discard_alignment
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/subsystem
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/trace
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/trace/end_lba
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/trace/act_mask
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/trace/start_lba
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/trace/enable
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/trace/pid
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/partition
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/inflight
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1/start
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/ro
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/force_ro
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mq
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mq/0
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mq/0/cpu_list
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mq/0/nr_reserved_tags
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mq/0/cpu3
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mq/0/cpu1
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mq/0/nr_tags
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mq/0/cpu2
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mq/0/cpu0
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/stat
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/events_poll_msecs
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/events_async
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/io_poll_delay
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/max_integrity_segments
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/zoned
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/throttle_sample_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/scheduler
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/io_poll
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/discard_zeroes_data
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/minimum_io_size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/nr_zones
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/write_same_max_bytes
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/max_segments
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/dax
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/physical_block_size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/logical_block_size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/zone_append_max_bytes
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/io_timeout
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/nr_requests
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/write_cache
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/stable_writes
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/max_segment_size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/rotational
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/discard_max_bytes
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/add_random
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/discard_max_hw_bytes
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/optimal_io_size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/chunk_sectors
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/iosched
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/iosched/front_merges
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/iosched/read_expire
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/iosched/fifo_batch
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/iosched/write_expire
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/iosched/writes_starved
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/read_ahead_kb
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/max_discard_segments
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/write_zeroes_max_bytes
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/nomerges
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/zone_write_granularity
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/wbt_lat_usec
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/fua
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/discard_granularity
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/rq_affinity
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/max_sectors_kb
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/hw_sector_size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/max_hw_sectors_kb
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/queue/iostats
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/integrity
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/integrity/write_generate
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/integrity/format
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/integrity/read_verify
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/integrity/tag_size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/integrity/protection_interval_bytes
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/integrity/device_is_integrity_capable
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/discard_alignment
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/subsystem
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/trace
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/trace/end_lba
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/trace/act_mask
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/trace/start_lba
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/trace/enable
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/trace/pid
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/capability
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/bdi
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/hidden
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/removable
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/events
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/inflight
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/uevent
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/alignment_offset
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/power
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/power/runtime_active_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/power/runtime_status
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/power/autosuspend_delay_ms
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/power/runtime_suspended_time
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/power/control
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/dev
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/holders
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/holders/dm-0
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/ro
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/stat
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/size
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/discard_alignment
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/subsystem
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/trace
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/trace/end_lba
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/trace/act_mask
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/trace/start_lba
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/trace/enable
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/trace/pid
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/partition
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/inflight
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2/start
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/slaves
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/oemid
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/serial
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/ssr
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/scr
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/mmc0:aaaa/name
/sys/devices/pci0000:00/0000:00:1b.0/mmc_host/mmc0/subsystem
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host/mmc2
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host/mmc2/uevent
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host/mmc2/power
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host/mmc2/power/runtime_active_time
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host/mmc2/power/runtime_status
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host/mmc2/power/autosuspend_delay_ms
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host/mmc2/power/runtime_suspended_time
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host/mmc2/power/control
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host/mmc2/device
/sys/devices/pci0000:00/0000:00:1e.0/mmc_host/mmc2/subsystem
/sys/devices/virtual/block/dm-0/slaves/mmcblk0p2
anatol commented 3 years ago

@benalexau I pushed a fix for mmc detection to wip branch. If you have chance - could you please pull and make sure that your setup works out-of the box without any extra configuration?

benalexau commented 3 years ago

If you have chance - could you please pull and make sure that your setup works out-of the box without any extra configuration?

Confirmed as fixed.

Built from the wip branch (as at 6afd40e3093aac2aed5e11a5e54a862bfc30f31d) and deployed:

# cat /etc/booster.yaml
network:
  dhcp: on

# /usr/lib/booster/regenerate_images

# ls -l /boot
total 16868
-rwxr-xr-x 1 root root 4203315 Jun  9 15:12 booster-linux.img
drwxr-xr-x 5 root root    4096 Jun  7 12:56 EFI
-rwxr-xr-x 1 root root 3624960 Feb 17 19:15 intel-ucode.img
drwxr-xr-x 3 root root    4096 Jun  7 13:04 loader
-rwxr-xr-x 1 root root 9432128 Jun  9 15:12 vmlinuz-linux

# date
Wed 09 Jun 2021 15:13:45 AEST

# reboot

System booted up. The Tang auto unlocking also worked.

Thanks for fixing this @anatol.

ShapeShifter499 commented 2 years ago

I ran into this issue on a x86_64 Small Board Computer known as the 'Up Board', the eMMC on board requires the sdhci_acpi on top of sdhci,mmc_block

Adding it to the list of modules 'modules_force_load: sdhci,mmc_block,sdhci_pci,sdhci_acpi' > /etc/booster.yaml gets my device to boot with booster and clevis keys working

anatol commented 2 years ago

sdhci,mmc_block,sdhci_pci are already part of default module list and you don't need to add it to booster.yaml.

It makes sense to add sdhci_acpi to the default list as well. I'll look at it.