[devel] зачем вообще может быть нужен initrd при загрузке с локального носителя
Alexey V. Vissarionov
gremlin на altlinux.org
Чт Апр 12 12:31:24 MSK 2018
On 2018-04-11 22:18:39 +0300, Alexey Shabalin wrote:
>>>>> Коллеги, а вот кто может внятно объяснить, зачем вообще
>>>>> может быть нужен initrd при загрузке с локального носителя
>>>>> (непосредственно подключенного к компутеру)?
>>>> Множество причин, тысячи их.
>>> Доброго сэра, конечно же, не затруднит назвать хотя бы десяток
>>> причин из этих тысяч?
>> Даже при загрузке с локального носителя есть штатные
>> конфигурации, в которых ядро само не может смонтировать rootfs и
>> запустить оттуда init, например: - драйвер локального носителя
>> не вкомпилирован в ядро;
> +1 И я буду сильно против, если кто-то попытается мне подсунуть
> ядро со всеми возможными вкомпиленными в ядро модулями.
Зачем со всеми-то? Здесь прекрасно соблюдается правило 80/20 - работу
80% всего железа обеспечивают 20% ядерного кода.
> Тем более, некоторыми еще нужен firmware, например FC Qlogic.
> Их куда вкомпиливать?
Ты не поверишь - вкомпилированные модули тоже умеют грузить firmware
из userspace. Я серьезно. Могу даже показать: втыкаю в УПШ железяку
(WiFi-свистульку), говорю dmesg и вижу что-то вроде "Автоматическая
загрузка /lib/firmware/... - загружена версия 1.2.3".
Впрочем, как раз такие модули есть смысл держать в /lib/modules
>> - драйвер файловой системы rootfs не вкомпилирован в ядро;
> +1 Мне вот нужен rootfs на 9pfs.
Это реальная задача или так, разговор поддержать?
Вопрос не риторический, мне для статистики.
> Уверены, что его надо вкомпиливать в ядро?
Именно корень? "Не верю!" // (ц) К.С.Станиславский
/home - сколько угодно, но корень...
Кстати, а грузиться оно откуда будет?
>> - требуются нетривиальные действия для подготовки rootfs к
>> монтированию, не связанные с загрузкой модулей ядра, например,
>> расшифровка устройства с помощью ключа, тем или иным способом
>> полученного от оператора загрузки во время загрузки.
> Тут, я думаю, вообще возразить что-то тяжело.
См. мой ответ ldv@
> И от себя еще один вариант использования. Мне бывает нужно
> подсунуть свою таблицу acpi для ноутбука в виде dsdt файла.
Список моделей таких ноутбуков - в президиум! Желательно с
пометками, какие из них умеют делать это через EFI, какие нет.
> Если ядро претендует на роль универсального, а не для
> конкретной железки и конкретной цели использования, без initrd
> невозможно обойтись.
Пример хотя бы одной железяки, где initrd позволит сделать что-то,
что не умеет само ядро - опять же, в президиум!
Я уже, наверное, могу спорить на пиво, что собранное мной свежее
ядро безо всякого initrd взлетит с полной поддержкой загрузочного
накопителя (где корень и /lib/modules) на любом писюшном железе,
выпущенном за прошедшие 3 года - с 2015 по 2018 год. Если что, про
серверы с EFI-only загрузкой знаю, они мне уже не особо интересны
(сейчас у криворуких админов это величайшая проблема: железо
требует инициализации средствами EFI, без которой превращается в
тыкву; решение - не откатываться на CSM, а пользоваться EFI, но им
страшно и непривычно).
2 all: если что, принимаю приглашения :-)
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 801 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20180412/b5b32462/attachment-0001.bin>
Подробная информация о списке рассылки Devel