Разработки проекта PuppyRus > Компиляция ядра Linux

Большой initrd vs большое монолитное ядро

(1/3) > >>

DdShurick:

--- Цитата: sfs от 14 Июнь 2022, 13:38:36 ---Имел ввиду сборку initrd типа dracut, mkinitcpio
--- Конец цитаты ---
Это персональный initrd к каждой сборочке? Зачем, когда можно сделать универсальный? И вообще, чем проще, тем надёжнее. Что должен делать initrd в frugal сборке? Должен увидеть носитель, найти на нём модули и собрать их в aufs. Всё, остальное излишество. В "большом" линунуксе видеть носитель обязано любое ядро, за исключением специальных сборок, предназначенных для работы из RAM. Для сборки с aufs необходимо накладывать патч, или использовать overlayfs, пожертвовав горячим подключением.
 Вопрос: на кой хрен тащить модули ядра в initrd и городить их загрузку, когда это абсолютно не нужно? Обоснуй свои излишества.

krasnyh:

--- Цитата: DdShurick от 14 Июнь 2022, 20:55:38 ---Обоснуй свои излишества.
--- Конец цитаты ---
Целая тема была, [Решено] Поддержка устройств типа nvme в initrd, по итогам которой допилили initrd-raf от sfs, а "классический*" :) initrd остался не удел, биться за него не стали.

* классический, тот самый, без модулей.

sfs:

--- Цитата: DdShurick от 14 Июнь 2022, 20:55:38 ---Это персональный initrd к каждой сборочке?
--- Конец цитаты ---
Это возможность добавить в инитрд то, что нужно не всем (например llvm , шифрование, экзотические ФС ...) и собрать его под любое ядро

Т.е. если собрать инитрд только с тем , что нужно тебе - совсем большим оно не будет
Да если и будет - на ссд это не заметно. После загрузки Ос - уже без разницы что было в инитрд

А вот если все притащить монолитом в ядро - vmlinuz становится огромным. А он грузится в память и торчит там до выключения.

В итоге считаю , что правильный путь - минимально монолитное ядро и инитрд с системой его пересборки и хуками на все случаи жизни


--- Цитата: krasnyh от 14 Июнь 2022, 21:20:30 ---"классический*"  initrd остался не удел, биться за него не стали.
--- Конец цитаты ---
Не очень удачный пример. Было просто лень с ним заморачиваться , т.к. маленький инитрд  мало что дает (см. выше)
Ну и допустим понадобился мне llvm . Системы пересборки нет. Автору не интересно. Приехали

gumanzoy:
А что значит "большой initrd" ?
Не все initrd с модулями одинаковые.
mkinitramfs в Debian 11 с ядром 5.10 выходит ~33MB
А в DogLinux (mkinitrd) и в Slax (initramfs_create) ~10MB с ограниченным списком только нужных для загрузки модулей и их зависимостей.

initrd на сколько я понял все же остается в памяти. В DogLinux в /mnt/live/ в Slax /run/initramfs/
Или в других Puppyобразных не так ?

imp:
Тут с sfs соглашусь. Большой vmlinuz не нужен. Однако, нужен достаточной для начального разворота. Большой initrd, как по-мне - тоже, нужен достаточный. И инструменты, чтобы добавить, кому чего не хватает для полного счастья.
Хотя, тот, кому надо и без инструментов добавит. А остальным это непонятно, зачем.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии