Решение проблемы «cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries nor crypto modules»

При обновлении системы, если необходимо пересобрать initramfs, на Kali Linux стало появляться предупреждение:

cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries
    nor crypto modules. If that's on purpose, you may want to uninstall the
    'cryptsetup-initramfs' package in order to disable the cryptsetup initramfs
    integration and avoid this warning.

Чтобы разобраться, как именно действовать дальше, скажем пару слов об initramfs и о вообще загрузке Linux.

При загрузке, Linux постепенно инициализирует систему: монтирует файловую систему и запускает самый первый процесс init.

initramfs — это более продвинутый способ монтирования файловой системы на моменте инициализации (для понимания функции можно разбить название: init ram fs). В начале загрузки initramfs записывается в оперативную память и служит для монтирования корневой файловой системы. Но просто смонтировать файловую систему может и ядро + udev. А вот initramfs имеет более продвинутые возможности: он может спросить пароль и смонтировать зашифрованный диск.

В сообщении, которое на скриншоте, сказано, «что образ initramfs может не содержать исполнимых файлов cryptsetup, ни крипто модулей. Если так и задумано, то можно удалить пакет cryptsetup-initramfs, чтобы отключить интеграцию cryptsetup и initramfs и чтобы это предупреждение пропало».

Сейчас cryptsetup и его зависимости добавляются в образ initramfs только когда обнаруживается устройство, которое необходимо разблокировать на стадии initramfs.

В зависимости от ваших планов, имеется три варианта действий:

  • если вы не знаете, будете ли в будущем создавать зашифрованные разделы или разделы, которые должны быть разблокированы на стадии initramfs, то просто ничего не делайте и не меняйте — игнорируйте это информационное сообщение, оно безвредно
  • если вы точно не будете создавать зашифрованные разделы, то удалите cryptsetup-initramfs
  • если вы не уверены, но хотите убрать это сообщение об ошибке, то можно настроить принудительное включение cryptsetup в initramfs. Правда, вместо этого предупреждения, будет появляться другое…

Итак, если вы не создавали зашифрованных разделов и не планируете это делать, то можно удалить пакет cryptsetup-initramfs:

sudo apt remove cryptsetup-initramfs
sudo apt autoremove

Либо можно принудительно подключать cryptsetup к initramfs (даже когда это не нужно. Это позволит убрать предупреждение. НО, вызовет другое предупреждение — перфекционистам не понравится, в общем. Поскольку в этом случае cryptsetup будет принудительно включаться в initramfs, даже если он там не нужен (нет дисков, которые нужно разблокировать с его помощью), то это, скорее всего, увеличит размер initramfs.

Если вам всё равно это нужно по каким-то причинам, то выполните следующие шаги.

1) Принудительно включаем cryptsetup в initramfs. Для этого откройте файл /etc/cryptsetup-initramfs/conf-hook:

sudo gedit /etc/cryptsetup-initramfs/conf-hook

И добавьте туда строку:

CRYPTSETUP=y

2) Генерируем initramfs:

sudo mkinitramfs -o /boot/initramfs.gz

Теперь, кстати, у вас появится то самое другое предупреждение, и оно будет каждый раз при обновлении initramfs:

cryptsetup: WARNING: Honoring CRYPTSETUP=[y|n] will deprecated in the future. 
    Please uninstall the 'cryptsetup-initramfs' package if you don't want the 
    cryptsetup initramfs integration.

В нём сказано, что настройка CRYPTSETUP=[y|n] будет объявлена устаревшей в будущем. Также нам опять рекомендуют удалить пакет 'cryptsetup-initramfs', если нам не нужно интеграция cryptsetup и initramfs.

3) ПРОВЕРЯЕМ, что бинарники и библиотеки cryptsetup включены:

lsinitramfs /boot/initramfs.gz | grep cryptsetup

должно быть выведено что-то вроде:

conf/conf.d/cryptsetup
usr/lib/cryptsetup
usr/lib/cryptsetup/askpass
usr/lib/cryptsetup/functions
usr/lib/x86_64-linux-gnu/libcryptsetup.so.12
usr/lib/x86_64-linux-gnu/libcryptsetup.so.12.3.0
usr/sbin/cryptsetup

Заключение

Итак, если вы столкнулись с предупреждением «cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries nor crypto modules», то вы можете просто игнорировать его — оно является безвредным. Либо вы можете удалить пакет cryptsetup-initramfs.

Рекомендуемые статьи:

5 комментариев на Решение проблемы «cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries nor crypto modules»

  1. Аноним:

    Привет) Жду статью про новый метод взлома wpa2 без деаутентификации клиентов, если время будет, а то решение каких-то проблем не интересно имхо

    • Alexey Alexey:

      В смысле без деаутентификации? Имеется ввиду социальная инженерия или я что-то пропустил? Или вы про WPA2 — Key Reinstallation Attack?

      Про ошибки — это уже решённая проблема, которую недолго оформить, и кому-то это может помочь. А на нормальные статьи требуется много времени и сил — делаю что могу.

      • Аноним:

        https://habr.com/company/jetinfosystems/blog/419383/ (не реклама) спасибо за старания, прост раньше интереснее статьи намного были, моё сугубо лично мнение

        • Alexey Alexey:

          Аааа, я об этом читал в первоисточнике https://hashcat.net/forum/thread-7717.html

          раньше интереснее статьи намного были

          Может вы переросли мои статьи. Может я перерос уровень тех статей, которые писал раньше. Может просто выдохся.

          Раньше писал в свободное время: после работы его было достаточно и денег хватало. Сейчас ХЗ что поменялось: работаю в два раза больше, а денег стало не хватать. Как-то настроение уже не то и сил не остаётся — думаю, это тоже передаётся через статьи. Но я всё равно себя похвалю laugh: не смотря на все проблемы, я не бросаю и сам продолжаю изучать тему и с вами делюсь своими наработками. Ну а как будет полегче, наверно, и задор вернётся.

  2. Алексей:

    Никого не слушай. Твои статьи — бомба, — упрощают жизнь в сто раз. Спасибо.

Добавить комментарий

Ваш e-mail не будет опубликован.