[pkg-cryptsetup-devel] Bug#906283: initramfs script expects file system on crypto device

Marc Haber mh+debian-packages at zugschlus.de
Thu Aug 16 15:50:55 BST 2018


Package: cryptsetup-initramfs
Version: 2:2.0.4-2
Severity: normal

Hi,

since I am using a keyscript to unlock my crypto devices, I need to use
the initramfs option on all my crypto devices. That includes the virtual
disks for the virtual machines running on the box. Naturally, those
crypto devices don't contain a file system that is recognized by the
get_fstype function sourced from /usr/share/initramfs-tools/scripts/functions

get_fstype ()
{
        local FS FSTYPE FSSIZE RET
        FS="${1}"

        # blkid has a more complete list of file systems,
        # but fstype is more robust
        FSTYPE="unknown"
        eval $(fstype "${FS}" 2> /dev/null)
        if [ "$FSTYPE" = "unknown" ]; then
                FSTYPE=$(blkid -o value -s TYPE "${FS}")
        fi
        RET=$?

        if [ -z "${FSTYPE}" ]; then
                FSTYPE="unknown"
        fi

        echo "${FSTYPE}"
        return ${RET}
}

[30/5020]mh at fan:~ $ sudo /usr/lib/klibc/bin/fstype /dev/mapper/salida
FSTYPE=unknown
FSSIZE=0
[31/5021]mh at fan:~ $ sudo blkid -o value -s TYPE /dev/mapper/salida
[32/5022]mh at fan:~ $

This, in turn, causes
/usr/share/initramfs-tools/scripts/local-top/cryptroot to wrongly assume
that device unlocking was unsuccessful, removes the unlocked device and
starts over.

I am not sure how to solve this since the behavior of the new script
seems in order in most regular cases. Maybe there should be another
crypttab option like "dont-expect-fs" that disables this sanity check
for insane setups like mine.

Greetings
Marc


-- Package-specific info:
-- /proc/cmdline
BOOT_IMAGE=/vmlinuz-4.17.14-zgws1 root=/dev/mapper/root ro splash console=ttyS0,57600n8 quiet

-- /etc/crypttab
# this line to avoid accidental commenting of the root line

#fanbtr /dev/disk/by-id/dm-name-fan-c_fanbtr none luks,keyscript=/etc/fan/keyscript_fan_root
root /dev/disk/by-id/dm-name-fan-c_root none luks,keyscript=/etc/fan/keyscript_fan_root
#root /dev/disk/by-id/dm-name-fan-c_root none luks,keyscript=/etc/fan/keyscript_fan_root
#usr /dev/disk/by-id/dm-name-fan-c_usr none luks,keyscript=/etc/fan/keyscript_fan

swap0		/dev/disk/by-id/dm-name-fan-c_swap0 none luks,initramfs,keyscript=/etc/fan/keyscript_fan
boot		/dev/disk/by-id/dm-name-fan-c_boot none luks,initramfs,keyscript=/etc/fan/keyscript_fan
fanbtr_r 	/dev/disk/by-id/dm-name-fan_r-c_fanbtr_r none luks,initramfs,keyscript=/etc/fan/keyscript_fan
kernel64 	/dev/disk/by-id/dm-name-fan-c_kernel64 none luks,initramfs,keyscript=/etc/fan/keyscript_fan
kernel32 	/dev/disk/by-id/dm-name-fan-c_kernel32 none luks,initramfs,keyscript=/etc/fan/keyscript_fan
kernelhome 	/dev/disk/by-id/dm-name-fan-c_kernelhome none luks,initramfs,keyscript=/etc/fan/keyscript_fan

salida 		/dev/disk/by-id/dm-name-fan-c_salida none luks,initramfs,keyscript=/etc/fan/keyscript_fan
#salida_home	/dev/disk/by-id/dm-name-fan-c_salida_home none luks,initramfs,keyscript=/etc/fan/keyscript_fan
#nechayev 	/dev/disk/by-id/dm-name-fan-c_nechayev none luks,initramfs,keyscript=/etc/fan/keyscript_fan
#spinturn 	/dev/disk/by-id/dm-name-fan-c_spinturn none luks,initramfs,keyscript=/etc/fan/keyscript_fan
#spinturn_home	/dev/disk/by-id/dm-name-fan-c_spinturn_home none luks,initramfs,keyscript=/etc/fan/keyscript_fan
#spinturn_mbd 	/dev/disk/by-id/dm-name-fan-c_spinturn_mbd none luks,initramfs,keyscript=/etc/fan/keyscript_fan

-- /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
tmpfs		/tmp		tmpfs	defaults	0	0
/dev/mapper/root /              ext4 noatime,nodiratime 0       1
#/dev/mapper/fanbtr /              btrfs subvol=fan-root,ssd,noatime,nodiratime,clear_cache,enospc_debug,skip_balance 0       1
#/dev/mapper/fanbtr /mnt/snapshots/fanbtr btrfs subvol=snapshots,ssd,noatime,nodiratime,enospc_debug 0       1
/dev/mapper/fanbtr_r /mnt/snapshots/fanbtr_r btrfs subvol=snapshots,noauto,nofail,noatime,nodiratime 0       1
/dev/mapper/fanbtr_r /home/mh/bigstuff btrfs subvol=mhbig,nofail,noatime,nodiratime 0       1
/dev/mapper/fanbtr_r /home/mh/noback btrfs subvol=mhnoback,nofail,noatime,nodiratime 0       1
/dev/mapper/fanbtr_r /home/mh/music btrfs subvol=music,nofail,noatime,nodiratime 0       1
proc            /proc           proc    defaults        0       0
#/dev/mapper/root /              ext4    errors=remount-ro 0       1
/dev/mapper/swap0 swap		swap	nofail	0	0
/dev/mapper/boot /boot          ext4    nofail        0       2
#/dev/mapper/usr /usr           	ext4    defaults        0       2
#/dev/mapper/var /var           	ext4    defaults        0       2
#/dev/mapper/home /home          ext4    defaults        0       2
#/dev/mapper/mhbig /home/mh/bigstuff ext4 defaults       0       2
#/dev/mapper/fan_r-emwee /media/emwee ext4 defaults       0       2
#/dev/mapper/music /home/mh/music ext4 defaults       0       2
#/dev/mapper/btrvm /mnt/btrvm	btrfs	defaults       0       2
#/dev/scd0       /media/cdrom1   udf,iso9660 user,noauto 0       0

-- lsmod
Module                  Size  Used by
devlink                57344  0
ebtable_filter         16384  0
ebtables               36864  1 ebtable_filter
cpufreq_conservative    16384  0
cpufreq_userspace      16384  0
cpufreq_powersave      16384  0
8021q                  28672  0
garp                   16384  1 8021q
bridge                172032  0
stp                    16384  2 bridge,garp
llc                    16384  3 bridge,stp,garp
dummy                  16384  0
rc_dvbsky              16384  0
wmi_bmof               16384  0
ts2020                 20480  1
m88ds3103              20480  1
i2c_mux                16384  1 m88ds3103
regmap_i2c             16384  2 m88ds3103,ts2020
amd64_edac_mod         28672  0
edac_mce_amd           28672  1 amd64_edac_mod
kvm_amd               102400  0
nf_conntrack_ipv6      16384  5
nf_defrag_ipv6         16384  1 nf_conntrack_ipv6
ccp                    77824  1 kvm_amd
rng_core               16384  1 ccp
snd_hda_codec_realtek    86016  1
snd_hda_codec_generic    77824  1 snd_hda_codec_realtek
snd_hda_codec_hdmi     57344  1
kvm                   614400  1 kvm_amd
snd_hda_intel          36864  0
snd_hda_codec         122880  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
irqbypass              16384  1 kvm
sha256_generic         20480  1 ccp
snd_hda_core           73728  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep              16384  1 snd_hda_codec
ip6table_filter        16384  1
ip6_tables             28672  1 ip6table_filter
snd_pcm_oss            53248  0
snd_mixer_oss          28672  1 snd_pcm_oss
input_leds             16384  0
xt_tcpudp              16384  4
pcspkr                 16384  0
snd_pcm                98304  5 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_pcm_oss,snd_hda_core
nf_conntrack_ipv4      16384  5
serio_raw              16384  0
nf_defrag_ipv4         16384  1 nf_conntrack_ipv4
k10temp                16384  0
sp5100_tco             16384  0
snd_timer              32768  1 snd_pcm
smipcie                20480  0
snd                    81920  10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm_oss,snd_pcm,snd_mixer_oss
sg                     36864  0
asus_atk0110           20480  0
dvb_core              114688  2 smipcie,m88ds3103
media                  32768  1 dvb_core
soundcore              16384  1 snd
rc_core                32768  3 rc_dvbsky,smipcie
shpchp                 36864  0
wmi                    24576  1 wmi_bmof
evdev                  20480  27
pcc_cpufreq            16384  0
acpi_cpufreq           16384  1
xt_conntrack           16384  10
nf_conntrack          106496  3 xt_conntrack,nf_conntrack_ipv6,nf_conntrack_ipv4
iptable_filter         16384  1
ip_tables              24576  1 iptable_filter
x_tables               36864  7 ebtables,ip6table_filter,xt_conntrack,iptable_filter,xt_tcpudp,ip6_tables,ip_tables
autofs4                36864  4
btrfs                1253376  1
zstd_decompress        90112  1 btrfs
zstd_compress         184320  1 btrfs
xxhash                 16384  2 zstd_compress,zstd_decompress
zlib_deflate           28672  1 btrfs
ext4                  630784  2
crc16                  16384  1 ext4
mbcache                16384  1 ext4
jbd2                  106496  1 ext4
fscrypto               28672  1 ext4
ecb                    16384  14
crypto_simd            16384  0
cryptd                 20480  1 crypto_simd
glue_helper            16384  0
aes_x86_64             20480  15
xts                    16384  7
algif_skcipher         16384  0
af_alg                 24576  1 algif_skcipher
hid_logitech_hidpp     36864  0
hid_logitech_dj        24576  0
hid_generic            16384  0
usbhid                 49152  0
hid                   122880  4 usbhid,hid_generic,hid_logitech_dj,hid_logitech_hidpp
dm_crypt               40960  7
dm_mod                135168  77 dm_crypt
raid10                 57344  0
raid456               139264  0
async_raid6_recov      20480  1 raid456
async_memcpy           16384  2 raid456,async_raid6_recov
async_pq               16384  2 raid456,async_raid6_recov
async_xor              16384  3 async_pq,raid456,async_raid6_recov
async_tx               16384  5 async_pq,async_memcpy,async_xor,raid456,async_raid6_recov
xor                    24576  2 async_xor,btrfs
raid6_pq              118784  4 async_pq,btrfs,raid456,async_raid6_recov
libcrc32c              16384  3 nf_conntrack,btrfs,raid456
crc32c_generic         16384  4
raid1                  40960  0
raid0                  20480  0
multipath              16384  0
linear                 16384  0
md_mod                143360  6 raid1,raid10,raid0,linear,raid456,multipath
uas                    28672  0
usb_storage            61440  1 uas
sr_mod                 28672  0
sd_mod                 57344  4
cdrom                  40960  1 sr_mod
ohci_pci               16384  0
amdkfd                126976  1
amdgpu               2211840  5
chash                  16384  1 amdgpu
gpu_sched              24576  1 amdgpu
i2c_algo_bit           16384  2 smipcie,amdgpu
ahci                   40960  2
ttm                   106496  1 amdgpu
libahci                36864  1 ahci
ohci_hcd               45056  1 ohci_pci
xhci_pci               16384  0
ehci_pci               16384  0
drm_kms_helper        159744  1 amdgpu
xhci_hcd              196608  1 xhci_pci
ehci_hcd               61440  1 ehci_pci
libata                237568  2 libahci,ahci
r8169                  90112  0
mii                    16384  1 r8169
drm                   389120  7 gpu_sched,drm_kms_helper,amdgpu,ttm
i2c_piix4              24576  0
usbcore               221184  9 xhci_hcd,ohci_hcd,ehci_pci,usbhid,usb_storage,ehci_hcd,xhci_pci,ohci_pci,uas
scsi_mod              212992  6 sd_mod,usb_storage,uas,libata,sg,sr_mod
usb_common             16384  1 usbcore
i2c_core               61440  11 i2c_mux,drm_kms_helper,smipcie,i2c_algo_bit,m88ds3103,amdgpu,dvb_core,ts2020,i2c_piix4,regmap_i2c,drm
button                 16384  0


-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.17.14-zgws1 (SMP w/6 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE=en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages cryptsetup-initramfs depends on:
ii  busybox                                 1:1.27.2-3
ii  cryptsetup-run                          2:2.0.4-2
ii  initramfs-tools [linux-initramfs-tool]  0.132

Versions of packages cryptsetup-initramfs recommends:
ii  console-setup  1.185
ii  kbd            2.0.4-4

cryptsetup-initramfs suggests no packages.

-- no debconf information



More information about the pkg-cryptsetup-devel mailing list