Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как добавить модуль в initramfs ?  (Прочитано 2568 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн pivnoy-tsar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Как добавить модуль в initramfs ?
« : 24 Февраля 2025, 18:08:38 »
Собственно. Нужно в initramfs добавить модуль для работы с TPM, с помощью которого разблокируется зашифрованный корневой раздел.

История.Сделал зашифрованный luks корень. Забил в tpm открывашку посредством systemd-cryptenroll. Нужно чтоб система загружаясь без ввода паролей.
В etc/crypttab прописал:
<имя тома>    UUID=<ууид зашифрованного раздела>    tpm2-device=auto      luks
Делаю #update-initramfs -u. В ответ -... keyfile 'tpm2-device=auto' not found
То есть утилита почему-то думает что "tpm2-device=auto" это указание на файл ключа, а не указание на tpm-устройство. Это потому что нет модуля для tpm в initramfs?
Видимо для начала я должен как-то изменить initramfs (initrd.img), ну чтоб в нём хотя бы был модуль для работы tpm.
А как и что добавить?  Надо что-то прописать в  /etc/initramfs-tools/modules ? Но что? и где бинарник этого модуля искать, и куда вставлять?
 

« Последнее редактирование: 24 Февраля 2025, 18:25:04 от pivnoy-tsar »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #1 : 24 Февраля 2025, 18:56:32 »
почему-то думает что "tpm2-device=auto" это указание на файл ключа, а не указание на tpm-устройство.
А с чего бы там устройство было бы?
https://www.freedesktop.org/software/systemd/man/latest/crypttab.html
Цитировать
Each line is in the form
volume-name encrypted-device key-file options

Пользователь добавил сообщение 24 Февраля 2025, 18:58:53:
<имя тома>    UUID=<ууид зашифрованного раздела>    none    tpm2-device=auto,luks
« Последнее редактирование: 24 Февраля 2025, 18:58:53 от ALiEN »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн pivnoy-tsar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #2 : 24 Февраля 2025, 19:40:19 »
ALiEN
С Вашим вариантом заполнения crypttab пробывал. #update-initramfs -u отвечает:
cryptsetup: WARNING: <имя тома>: ignoring unknown option 'tpm2-device'
То-есть update-initramfs ничего не знает о tpm, потому что в initrd.img нет модуля для него ?

Первый вариант заполнения crypttab я выбрал потому, что он уже у меня работал. Но в другом случае: для расшифровки побочного, не корневого раздела. Т.е. срабатывал уже после загрузки корня и системы, без нужды править initramfs.

Сейчас глянул кое-что:
#lsinitramfs не выводит ничего со словом "tpm".
#lsmod выводит одну строку "tpm_crb  20480  0". Это и есть модуль который надо засунуть в initramfs ?
« Последнее редактирование: 24 Февраля 2025, 19:44:30 от pivnoy-tsar »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #3 : 24 Февраля 2025, 19:44:04 »
пакет tpm2-initramfs-tool установлен?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн pivnoy-tsar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #4 : 24 Февраля 2025, 19:49:47 »
установил. Попробывал update-initramfs с обоими вариантами заполнения crypttab.
Ответы те же самые ((

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 5641
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #5 : 24 Февраля 2025, 20:02:52 »
Когда-то давно, кажется ещё во времена Ubuntu 12.04, делал такой финт: в /etc/initramfs-tools/conf.d/resume вбивал RESUME=UUID=<ууид зашифрованного раздела> и уже затем sudo update-initramfs -u

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #6 : 24 Февраля 2025, 20:23:35 »
grep -Ev '^#|^$' /etc/initramfs-tools/initramfs.conf?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн pivnoy-tsar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #7 : 24 Февраля 2025, 20:33:33 »
F12, добавил сей файл. Никаких изменений. Update-initramfs всё так же не понимает назначения фразы "tpm2-device=auto".
А вы не помните что у Вас было написано в crypttab  ?
У нас тут уже 2 варианта
<том>   <раздел>   tpm2-device=auto luks          и
<том>   <раздел>   none   tpm2-device=auto,luks

ALiEN
MODULES=most
BUSYBOX=auto
KEYMAP=n
COMPRESS=zstd
DEVICE=
NFSROOT=auto
RUNSIZE=10%
FSTYPE=auto

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #8 : 24 Февраля 2025, 20:36:41 »
ls /sys/firmware/efi
systemd-analyze has-tpm2
?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн pivnoy-tsar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #9 : 24 Февраля 2025, 20:40:55 »
ALiEN,
# ls /sys/firmware/efi
config_table  efivars  esrt  fw_platform_size  fw_vendor  runtime  runtime-map  systab
# systemd-analyze has-tpm2
Unknown command verb has-tpm2.

На всякий случай.
#systemd-cryptenroll --tpm2-device=list
PATH        DEVICE      DRIVER
/dev/tpmrm0 MSFT0101:00 tpm_crb
И слот с открывашкой в tpm - забился.
« Последнее редактирование: 24 Февраля 2025, 20:46:57 от pivnoy-tsar »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #10 : 24 Февраля 2025, 20:46:14 »
cat /sys/class/tpm/tpm*/device/description?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн pivnoy-tsar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #11 : 24 Февраля 2025, 20:47:37 »
d# cat /sys/class/tpm/tpm*/device/description
TPM 2.0 Device

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #12 : 24 Февраля 2025, 20:58:25 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3265
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #13 : 24 Февраля 2025, 21:30:56 »
Так есть /etc/intramfs-tools и образец /usr/share/initramfs-tools, я когда-то давно пробовал так добавлять, но не помню что и получилось ли.
« Последнее редактирование: 25 Февраля 2025, 08:43:35 от Peter_I »
Пётр.

Оффлайн pivnoy-tsar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как добавить модуль в initramfs ?
« Ответ #14 : 24 Февраля 2025, 21:42:25 »
ALiEN сделал всё так в статье. Ну ток раздел свой подставил.
Перед обновлением initramfs:
Строку в crypttab вернул в изначальное состояние: "том раздел none luks", и удалил слот созданный systemd-cryptenroll.

# systemd-cryptenroll /dev/nvme0n1p2
SLOT TYPE
   0 password (пароль созданный при установке системы)
   1 other (ну это клевис прописался очевидно)
Даже # lsinitramfs показал строки с tpm. Стало быть initramfs получил модули.

Всё равно при перезагрузке просит пароль от раздела ((. Чего то не хватает..
« Последнее редактирование: 24 Февраля 2025, 22:20:00 от pivnoy-tsar »

 

Страница сгенерирована за 0.017 секунд. Запросов: 21.