LINUX.ORG.RU

Можно ли создать блочные устройства без udev?

 


1

1

Есть два варианта загрузки ОС Линукс, засунуть её целиком в initramfs образ и загрузить систему из него, тогда проблем нет кроме ограничения на размер initrd на некоторых системах (на AM4, более специфичных подробностей не знаю, хотя память позволяет, гугл ничего не сказал про максимальный размер initrd, на FM2+, 1151 всё тоже самое загружается успешно).

И другой вариант, когда initrd должен переключиться в систему которая находится на другом накопителе, будь то HDD, USB-флешка и так далее. Но для этого надо создать соответствующие блочные устройства в /dev, приходится тянуть целый бинарник busybox по сути ради одного mdev, вместо пrавославного использования утилит из хост-системы.

https://github.com/sp00f1ng/boobstrap/blob/master/init.in#L176-L182

Так вот, можно ли как-то самостоятельно почекать содержимое /sys баш-скриптом и самому создать блочные устройства? Чтобы избавиться от busybox/mdev. Такое возможно?

★★★★★

Ответ на: комментарий от Spoofing

А! то есть такая фича уже есть в ядре? просто её надо включать?

Она там ну очень давно, даже был холивар и несколько вариантов, было смешно наблюдать как этот холивар протекает на этом форуме. Когда адепты «модно, молодёжно, не так как у дидов» доказывали, что у новой версии devfs /dev/blk/id/part - охрененно удобно, а не так как у дидов /dev/blkname1, но почему-то заткнулись, когда вернулось снова как было 50 лет назад к /dev/blkname1 в лет так 10 назад.

vodz ★★★★★ ()
Ответ на: комментарий от dsxl

Разве бусибокс не модульный?

Ну модульный это, наверное, не очень подходящее слово, быстро доложить или убрать без перекомпиляции не получится. Скорее комбайн. Другое дело, что самосборный дистрибутив, где есть проблема что-то такое положить, явно подходящая задача под busybox и почему его нет вообще — более интересный вопрос.

vodz ★★★★★ ()