Назад | Перейти на главную страницу

Arch cryptsetup зависает в ожидании нуля

Cryptsetup работал безупречно в течение нескольких месяцев, но то, что я сделал сегодня в своей системе, теперь заставляет ее зависать:

# cryptsetup --debug --verbose luksOpen /dev/sdb home --key-file=/home.key --verbose
...
Key slot 1 unlocked.
...
# Udev cookie 0xd4d949a (semid 32768) decremented to 1
# Udev cookie 0xd4d949a (semid 32768) waiting for zero

Также когда я делаю lsblk -f, Я получал UUID для всех устройств (включая sdb), но теперь я получаю только UUID и FSTYPE для rootfs (все остальные устройства перечислены, но FSTYPE, LABEL и UUID пусты). blkid однако показывает UUID для всех устройств.

Сетевых устройств тоже не вижу - eth0 и wlp4s0 отсутствуют в ip link и ifconfig.

Когда я загружаюсь с оригинального живого USB, все работает отлично - я могу смонтировать все разделы, подключиться к WiFi и arch-chroot в сломанную систему. После этого я сделал pacman -Syuu, удалил все пакеты, которые я установил сегодня (f2fs-tools, exfat-utils, fuse-exfat) и обновил мои initramfs с помощью mkinitcpio -p linux.

это Udev cookie ... waiting for zero также происходит, когда выполняется любое из следующих условий:

  1. В вашем дистрибутиве отсутствует /lib/udev/rules.d/${NUMBER}-dm.rules файл, где ${NUMBER} является 55 как минимум в Ubuntu 15.10 Wily. (подробности)
  2. udev нужно начать с sudo service udev start
  3. udev работает, но его необходимо перезапустить с помощью sudo service udev restart (потому что вы каким-то образом изменили состояние смонтированных томов системы, и Udev необходимо сбросить их состояние)

Глупость в моей .bash_history:

#1448399392
chroot rootfs /bin/bash -x <<'EOF'
ln -s /dev/null /etc/systemd/system/systemd-udevd.service
ln -s /dev/null /etc/systemd/system/systemd-udevd-control.socket
ln -s /dev/null /etc/systemd/system/systemd-udevd-kernel.socket
ln -s /dev/null /etc/systemd/system/proc-sys-fs-binfmt_misc.automount
exit
EOF

Удалил ужасные ужасные символические ссылки, и теперь все в порядке. Я случайно запустил указанные выше ссылки в основной системе, а не внутри контейнера LXC. (https://wiki.archlinux.org/index.php/Linux_Containers#Systemd_conflicts_in_the_.2Fdev_tree)