LINUX.ORG.RU

Используете ли вы initrd или initramfs?

 ,


1

1

Добрый день!

Интересно узнать о такой специфичной штуке, как Initial RAM-disk: используете ли вы её, и что в вашем случае initrd (initramfs) из себя представляет.

Решаете ли вы с помощью Initial RAM-Disk какие-то специфичные задачи, может у вас там целая миниатюрная ОС предустановлена?

Если не секрет, расскажите пожалуйста, какие функции в Initial RAM-disk вы используете. Не важно, если это ваше собственное решение или вы используете предустановленный дистрибутивный initrd (initramfs).

Используете шифрование? Используете ли вы загрузку компонентов ОС по сети? Вообще, какие функции используете в Initial RAM-disk и какие возможности вам хотелось бы получить?

Храните ли вы initrd (initramfs) отдельным файлом, или собираете вместе с ядром, одним файлом?

Когда ломается сервер или рабочая станция, вы загружались по сети (PXE) в linux+initramfs чтобы решить проблему? Расскажите истории успеха: как часто initrd / initramfs вас выручал, или вам наоборот было проще всё переустановить заново, не заморачиваясь починкой?

Что-нибудь необычное, экзотичное? Очень интересно узнать!

  1. Предустановленный в дистрибутиве 219 (61%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Не использую совсем 47 (13%)

    ********************************************************************

  3. Использую mkinitcpio 36 (10%)

    ****************************************************

  4. Использую dracut 25 (7%)

    ************************************

  5. Использую initramfs-tools 11 (3%)

    ****************

  6. Собственный для моих задач 10 (3%)

    **************

  7. Использую другое ПО 7 (2%)

    **********

  8. Initial RAM-disk это основная ОС 2 (1%)

    **

Всего голосов: 357

★★★★★

Проверено: Harald ()
Последнее исправление: cetjs2 (всего исправлений: 1)

Понятия не имею.

Используете шифрование?

Да, это значит что мой вариант отличается от «Предустановленный в дистрибутиве»?

Когда ломается сервер или рабочая станция, вы загружались по сети (PXE) в linux+initramfs чтобы решить проблему?

В моей случае «ломалось» что-то после установки или попытки настроить новые ядра\модули, так что загружался со старым ядром и чинил оттуда. Ну и еще при втыкании новой железки едут всякие там внутренние имена других компонентов, тоже такое чинил, но через консоль в которую сваливается ОС когда вообще не может стартануть.

или вам наоборот было проще всё переустановить заново, не заморачиваясь починкой?

Лично для меня это будет прям повод сильно приуныть, я одну и ту же инсталляцию таскаю с ПК на ПК уже несколько лет, только обновления через пакетный менеджер накатывают. Настроить то что есть с нуля будет прям очень сложно, так что вариант «переустановка это будет проще» никогда не рассматривается.

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

--- foo 2021-06-24 20:18:53.457968064 +0700
+++ bar 2021-06-24 20:19:05.522159223 +0700
@@ -1 +1 @@
-fixed: единственный мажор с более чем одним компом
+fixed: единственный мажор с более чем одним дистрибутивом

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

В Солярисе напрямую загрузчик работает, грузит ядро и передаёт ему управление. На Спарке ваще всё прямо, там половину работы OBP делает, на x86/x64 есть технологические в виде grub-stage костылей, но не суть.

В Винде - смотря в какой и какой вид загрузки (BIOS/EFI legacy,EFI). Но в целом тоже однотипно bios->ntldr->ntkernel. замени на bootmgr.;-)

initrd был у M$ во времена DOS’а и 3.1. himem.sys и вот это всё.;-)

Кто такой AUX я не знаю, обычно это разъём ком-порта на сисках.

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

линуксы не только на нотебучеках и десктопчиках работают

воистину акбар!+100500

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

hd-media

дистрибутиве из коробки все достаточно не плохо, что не

приходится туда лезть

+100500

я крайний раз за много лет туда лазил когда на Futro (тонкий клиент такой) надо было демьяна вкорячить, а драйвера ихнего ide штатно не было в установщика диструбутива плюс по месту в ОЗУ не проходило, пришлось initrd в hd-media слегка обучить и лишнее выкинуть :)

ну и да, можно собрать своё ядро только с нужными вещами и тогда initrd вообще не нужен, будет всё как у мордода, адепта фряхи здесь

mumpster ★★★★★
()

Ничего не понял, ребятушки. Предлагаю забанить автора непонятного опроса.

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

Или проблема в самой возможности использовать инитрд?

Проблема в невозможности загрузки модулей ядра загрузчиком (GRUB). Почти все остальные ОС это умеют поэтому в них просто нет необходимости в костыле initrd, всё грузится из основной ФС.

X512 ★★★★★
()

Genkernel. Использую для загрузки модулей + полностью зашифрованный винт с LVM. Собираю отдельным файлом.

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

Загрузчиков есть много, пользователю предоставлена свобода выбора. Кроме того, необходимые модули можно собрать в ядро, если вы это хотите.

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

Загрузчиков есть много, пользователю предоставлена свобода выбора.

Это бардак, а не свобода выбора. Зачем выбирать загрузчики? Может лучше сразу другое ядро выбрать?

Кроме того, необходимые модули можно собрать в ядро, если вы это хотите.

В Haiku/FreeBSD/Mac OS/Windows пересобирать ядро не надо, достаточно поменять динамически-загружаемые модули ядра.

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

Зачем выбирать загрузчики

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

В Haiku/FreeBSD/Mac OS/Windows пересобирать ядро не надо, достаточно

А в линуксе надо. Это вообще ничего не значит для обычного пользователя, а разработчик просто пересобирёт ядро.

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

Ну я как то так и подумал.

А если по теме: все самосборные ядра у меня без инитрд, но это только для малины в данный момент (до этого ещё на ноуте было). Ещё есть стандартное ядро дебиана со стандартным дебиановским скриптом сборки, и я хз какой он там. И void на другом ноуте, и я хз что там, но кажется инитрд вообще не собирался при установке ядра, а значит он уже был запакован в пакете.

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

Загрузчики нужны чтобы грузить то, что тебе нужно, причём удобным для тебя способом. Если нет универсального загрузчика, то твоя железка - контентный терминал искуственно ограниченного срока использования. И разумеется нужного софта там нет. Если загрузчик кактус то и железка кактус.

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

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

Загрузчики разрабатываются отдельно от ядра, а драйвера как часть ядра в репозитории ядра. В нормальных ОС всё наоборот. Разрабатывать отдельные загрузчики никакого смысла нет, а драйвера – есть.

Это вообще ничего не значит для обычного пользователя

Обычный пользователь может установить бинарники модулей ядра (драйверы и т.п.). Некоторые из них возможно надо грузить на раннем этапе.

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

В нормальных ОС всё наоборот

В нормальных ОС по-разному.

Обычный пользователь может установить бинарники модулей ядра (драйверы и т.п.). Некоторые из них возможно надо грузить на раннем этапе

Обычный пользователь не знает термины «ядро» и «бинарник». Он выполнит последовательность инструкций, составленную разработчиком или тем, кто банально знает, что нужно делать.

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

В нормальных ОС по-разному.

Нет, во всех ОС кроме Линукса так.

Он выполнит последовательность инструкций, составленную разработчиком

Он запустит установщик (*.run), и всё что надо будет скопировано. Собирать ядро пользователь не будет.

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

Линукс — нормальная ОС, следовательно, можно сделать вывод, что подходы бывают разные.

Он запустит установщик (*.run), и всё что надо будет скопировано. Собирать ядро пользователь не будет.

Как у модуля нвидии на линукс.

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

uefi обычно способны загрузить только мс-дос совместимые загрузчики. Грузить через этот бред что то другое ещё хуже, чем через весь этот зоопарк. К тому же запускать ОС это не задача для среды инициализации оборудования.

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

Загрузчики. Заметьте, что линукс может грузиться напрямую через юефай или через загрузчик. С инитрд или без.

Это свобода, товарищ.

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

Это свобода, товарищ.

Загрузить модули ядра вместе с ядром Линукс не умеет, а все остальные ОС умеют. Нет свободы.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)

Нужен мультивыбор. Использую dracut и mkinitcpio.

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

Загрузить модули ядра вместе с ядром Линукс не умеет

Вы можете это реализовать.

Нет свободы

Есть, просто к ней прилагаются технические ограничения.

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

Их можно настроить так, чтобы они запускали загрузчики разных ОС без GRUB. В U-boot недавно UEFI завезли.

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

Ходят слухи, что на каких то версиях каких то плат можно встретить полнофункиональный разлоченный uefi, который всё умеет. Но я ещё не встречал людей, которые их видели. Обычно всё заканчивается хоткеем, позволяющим выбрать диск, с которого считывать загрузчик. Ну и разумеется великолепным, графическим, анимированным интерфейсом настройки 33 режимов работы вентилятора.

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

Ходят слухи, что на каких то версиях каких то плат можно встретить полнофункиональный разлоченный uefi, который всё умеет.

УМВР. Можно выбрать несколько ОС прямо в UEFI. Работает без MBR из эпохи DOS.

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

Загрузить модули ядра вместе с ядром Линукс не умеет

Чего?! А что по вашему лежит в /lib/modules/ того раздела, который указан ядру в качестве корневого?

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

Чего?! А что по вашему лежит в /lib/modules/ того раздела, который указан ядру в качестве корневого?

Загрузчик ядра их грузить не умеет. Либо копировать в initrd, либо статически линковать, либо модули будут загружены на позднем этапе и некоторые модули (ФС и т.п.) для этого должны быть в initrd или слинкованы.

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

А у меня не работает. И у знакомых не работает.

Конкретно на моём ноуте с эфи сам эфи накрылся к чёртовой бабушке после того, как я удалил предустановленный раздел восстановления винды и иначе как в режиме дос-совместимости ничего не грузил. Не то чтобы я от этого что то потерял, так проще и вроде даже быстрее запускается.

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

А у меня не работает. И у знакомых не работает.

ССЗБ что глючное железо покупаете. Можно в интернете посмотреть перед тем как покупать.

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

Загрузчик ИЛИ ядро? Потому что загрузчик грузит ядро а ядро грузит свои собственные модули. Собственно модули на то и модули, чтобы лежать отдельно и подключаться потом.

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

Загрузчик ИЛИ ядро?

Загрузчик. Загрузчики всех основных ОС кроме Линукса умеют напрямую грузить модули ядра ещё до того, как ядро начало работать. Необходимости в initrd просто нет.

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

Я на многое готов пожаловаться, но только не на глючность моего ноута. Никаких секюри бутов, никакого прочего бреда, просто пишу две строки в конфиг граба и всё работает.

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

грузить модули ядра ещё до того, как ядро начало работать.

ЗАЧЕМ? Какой смысл в модулях если ядро не способно само с ними разобраться? А потом мы имеем чёртов андроид с 14 скрытыми разделами, на которых записаны зашифрованные образы драйверов железа, которые нельзя обновить, из за которых невозможно обновить ядро (какая там другая ОС…), из за которых железку можно взять и окирпичить, и вообще проще разработать с нуля и запустить в серию новый смартфон чем накатить обновление.

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

Какой смысл в модулях если ядро не способно само с ними разобраться?

Как загрузить модуль ФС который нужен для загрузки модуля ФС? pkzip.zip.

Ядро многих ОС может зарегистрировать модули по адресам, переданным загрузчиком.

А потом мы имеем чёртов андроид с 14 скрытыми разделами

Это как раз потому что Линукс. В BSD/Windows/Mac OS таких проблем нет.

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

Ну, откуда то надо брать файлы модулей. Собственно почесу бы и не /lib/modules внутри образа ля быстрого старта? Не на /boot же их пихать.

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

Как загрузить модуль ФС

А почему бы не включить модуль фс в состав ядра? Или вам известны случаи, когда модули ФС обновляются без обновления всего ядра?

kirill_rrr ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.