Сайт | Скачать | Видео | Wiki

Автор Тема: Сборка initrd: dracut  (Прочитано 15226 раз)

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Сборка initrd: dracut
« : 15 Июль 2013, 11:22:07 »
Тот, что в  PuppyRus-Icewm-13.05 не нравится:
1. initrd puppyrus собирается вручную.
2. Содержит модули ядра. При смене ядра надо пересобирать
3. Функционал init недостаточен. По сравнению, например с porteus-initrd

Одна из последних утилит - dracut
На русском инфы мало
После поверхностного изучения (доки, собрал в арче dracut и им initrd) не понял:
a. Чем он лучше mkinitrd
Цитата
Теперь udev запускается прямо из initramfs, инициализирует все дисковые разделы, собирает RAID-массивы, LVM и т.п., а затем и передает управление скрипту, который находит корень и переключает дальнейшую загрузку на него.
Этим?
Модульностью - так она вроде и раньше была (hooks)
b. Нужные нам frugal фичи придется самим писать или есть готовое?
https://github.com/magos-linux/magos-linux/tree/master/patch_for_dracut
c. Чем это будет лучше porteus-initrd (который не надо пересобирать , т.к. не содержит модулей ядра и функционал весь готовый)
« Последнее редактирование: 15 Июль 2013, 11:39:58 от sfs »

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:Сборка initrd: dracut
« Ответ #1 : 15 Июль 2013, 13:44:09 »
Я так понимаю, если инитрд от портеуса не содержит модули ядра, то значит они вкомпилены в ядро или используются от основного дистра.

У нас необходимость определяется размером. Чтобы по сети не грузить большие модули, основные сетевые и файловые модули у нас в инитрд. Они позволяют потом подключить большие модули сборки и активировать их.


Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Сборка initrd: dracut
« Ответ #2 : 15 Июль 2013, 14:13:41 »
Я так понимаю, если инитрд от портеуса не содержит модули ядра, то значит они вкомпилены в ядро или используются от основного дистра.
Очень глубоко не вникал. Похоже, он промежуточно монтирует базовый модуль
Таким образом его не надо пересобирать и экономится место (нет повторов модулей ядра в Initrd)

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Сборка initrd: dracut
« Ответ #3 : 16 Июль 2013, 07:22:51 »
интересно, а udev там какой используется? ведь udev свежих версий не хочет работать без systemd
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Сборка initrd: dracut
« Ответ #4 : 16 Июль 2013, 09:17:10 »
Где именно? Какой udev - интересует версия?
Почему бы не использовать systemd?

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Сборка initrd: dracut
« Ответ #5 : 16 Июль 2013, 09:32:03 »
udev который судя по описанию находится унутре initrd и стартует упереди планеты всей, насчет наличия systemd ничего не говорится.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Сборка initrd: dracut
« Ответ #6 : 16 Июль 2013, 10:10:49 »
Мы про какой-то конкретный initrd говорим или про гипотетический dracut
Судя по http://pkgs.org/search/?keyword=dracut - спец. версий udev для dracut (как это бывает с busybox) нет - значит udev тот что в системе

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Сборка initrd: dracut
« Ответ #7 : 16 Июль 2013, 14:44:50 »
про гипотетический.

если портеус умеет обходится без модулей ядра - значит фактически его initrd становится очень редко изменяемым, соответственно то, на чем работает init, становится безразличным.
 но один раз все-таки надо будет сделать чтоб было универсально и надолго.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Сборка initrd: dracut
« Ответ #8 : 16 Июль 2013, 15:21:53 »
Я тоже склоняюсь к изучению porteus-initrd. Отсутствие модулей ядра - достойная фича.
Я уже прилеплял его к arch alt PR deb. Правда с ядром Pf и Вашим конфигом ядра. Может секрет успеха во вкомпиленных (а не модулями) в ядро модулях... Ядро и initrd ни разу не менял
Остальной функционал porteus-initrd тоже на уровне. Если чего не хватит - проще его дописать, чем разбираться с dracut
dracut штука новая (вроде, по дефолту нигде нет) - нам ли быть первопроходцами...

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Сборка initrd: dracut
« Ответ #9 : 16 Июль 2013, 15:49:11 »
neobht, мне кажется что существующие проблемы с недостаточной функциональностью initrd в magos можно решить сборкой своего ядра. К примеру PuppyRus к raid очень равнодушен, я просто не в курсе что за модули ядра нужны для правильной работы raid, зато выпилить поддержку - знаний хватает :)
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:Сборка initrd: dracut
« Ответ #10 : 16 Июль 2013, 16:30:31 »
понятно что можно оставаться на linux-live и даже функционала, который есть сейчас у нас, уже хватает полностью для всех встречаемых мной на практике задач, но чуется мне что сделав это на dracut будет красивее и правильнее.

я в августе планирую этим заниматься.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Сборка initrd: dracut
« Ответ #11 : 16 Июль 2013, 16:57:34 »
чуется мне что сделав это на dracut будет красивее и правильнее.
По сравнению с linux-live - вероятно. Но я так и не понял, чем он лучше mkinitrd
Держите в курсе. Интересно по любому... Чем сможем - поможем
Кстати - сейчас Вы initrd руками или скриптом собираете? Если скриптом - своим или стандартным?

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Сборка initrd: dracut
« Ответ #12 : 16 Июль 2013, 17:01:33 »
красивее - возможно, но правильнее ли? ведь при переключении в корневую систему udev придется перезапускать для загрузки других устройств (видео, вебкамеры, и прочая мелочевка) будет ли это быстрее?

уже сейчас по сути init скрипт не занимается подключением модулей ядра и определением устройств, он чисто монтирует и ищет нужные файлы системы. Сдается это почти то что и даст dracut.

не забудьте и про минус в виде усложнения строки параметров ядра
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:Сборка initrd: dracut
« Ответ #13 : 16 Июль 2013, 18:43:13 »
В dracut udev действительно с systemd работает и по сути эта часть там и отрабатывает. Как это будет на практике -  надо будет смотреть.

Инитрд мы своим скриптом собираем сейчас.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Сборка initrd: dracut
« Ответ #14 : 17 Июль 2013, 07:13:26 »
в идеале (и вот к этому надо стремиться) initrd вобще не должен пересобираться каждый раз, а быть одним для любого окружения пользовательской системы. При внесении изменений или изменении функционала initrd - пересборка делается вручную, т.к. такие процессы лучше не автоматизировать.

ps. Видя как тот же дебиан (может сейчас уже не стал?) при установке пакетов делает пересоздание initrd - я лично впадаю в печаль и депрессию
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.