LINUX.ORG.RU

Симлинки для DM устройств

 , , ,


0

1

Привет господа линуксоиды, прошу вашей помощи.

Есть свежая установка Gentoo с systemd, которая полностью (с корнем, свопом и т.д.) расположена на слоеном бутерброде из mdadm, dm-crypt, lvm2. Для загрузки собран свой initramfs с нужными утилитами по официальной wiki Custom Initramfs

Проблемы начинаются на этапе загрузки, когда корень смонтирован и управление передано /lib/systemd/systemd. Systemd-шный udev игнорирует dm-[0-9] устройста, если тем не выставлено свойство SYSTEMD_READY (а оно не выставлено, потому что на этапе сборки в initrd никакого udev еще нет), и не создает симлинки. Отсюда безуспешные попытки что-нибудь смонтировать, так как /dev/mapper и /dev/disk/by-{id,label,uuid} пустые.

Вот здесь парень мучается с тем же и, в итоге, перекатывается обратно на OpenRC: Need help with custom initramfs, not mounting home and swap.

Сам вопрос вот в чем, чем может грозить просто правка нужных if-ов в стандартных udev-rules (так все успешно грузится/монтируется, уже проверил)? Или крайне желательно все же впихнуть невпихуемое udev в образ initrd и выставлять нужные свойства dm-устройствам?

Нет смысла шифровать диски. Чтобы что?
Кто-то найдёт коллекцию твоего порно там?
Давно во всех BIOS можно выставить пароль. Либо указать что нужно шифровать диск. Операционка участия принимать не будет.

red_rain ()
Ответ на: комментарий от Pinkbyte

Чем собираешь initrd? genkernel?

Собирал вручную по инструкциям из wiki. Создал структуру каталогов initrd, в каталоги сложил нужные бинари, зависимые либы, ноды устройств и простецкий init в корне - все это в cpio и пожал в gz. Так то с самим initrd никаких проблем (он просто готовит/монтирует корень и делает switch_root), заковыка с udev-ом.

TwentyQQ ()
Ответ на: комментарий от TwentyQQ

Нескромный вопрос - а зачем готовить initrd самому с нуля? Что ты там такое делаешь, чего не умеют утилиты создания initrd? в genkernel можно доложить свои бинарники, если тебе нужно что-то собственное там запускать, ключ --initramfs-overlay в помощь.

genkernel кладет в initramfs именно udev. Очень давно он использовал busybox/mdev для инициализации устройств, с systemd это работало примерно никак, поэтому был сделан genkernel-next и относительно недавно наработки последнего слили в апстрим genkernel.

Ну и genkernel - не единственное, чем можно создавать initrd в Gentoo, да...

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Полагаться на проприетарщину с риском окирпичить SSD(если не озаботился фактом узнавания master password заранее на случай факапа) - спасибо, нет, я пожалуй воспользуюсь традиционным шифрованием.

Pinkbyte ★★★★★ ()