[devel] зачем вообще может быть нужен initrd при загрузке с локального носителя
Leonid Krivoshein
klark.devel на gmail.com
Чт Апр 12 00:21:54 MSK 2018
11.04.2018 22:18, Alexey Shabalin пишет:
> 11 апреля 2018 г., 21:24 пользователь Dmitry V. Levin
> <ldv на altlinux.org> написал:
>> On Wed, Apr 11, 2018 at 01:37:28PM +0300, Alexey V. Vissarionov wrote:
>>> On 2018-04-11 11:52:18 +0300, Sergey Bolshakov wrote:
>> [...]
>>> >> Коллеги, а вот кто может внятно объяснить, зачем вообще
>>> >> может быть нужен initrd при загрузке с локального носителя
>>> >> (непосредственно подключенного к компутеру)?
>>>
>>> > Множество причин, тысячи их.
>>>
>>> Доброго сэра, конечно же, не затруднит назвать хотя бы десяток
>>> причин из этих тысяч?
>> Даже при загрузке с локального носителя есть штатные конфигурации,
>> в которых ядро само не может смонтировать rootfs и запустить оттуда init,
>> например:
>> - драйвер локального носителя не вкомпилирован в ядро;
> +1
> И я буду сильно против, если кто-то попытается мне подсунуть ядро со
> всеми возможными вкомпиленными в ядро модулями.
> Тем более, некоторыми еще нужен firmware, например FC Qlogic. Их куда
> вкомпиливать?
>
>> - драйвер файловой системы rootfs не вкомпилирован в ядро;
> +1
> Мне вот нужен rootfs на 9pfs. Уверены, что его надо вкомпиливать в ядро?
>
>> - требуются нетривиальные действия для подготовки rootfs к монтированию,
>> не связанные с загрузкой модулей ядра, например, расшифровка устройства
>> с помощью ключа, тем или иным способом полученного от оператора загрузки
>> во время загрузки.
> Тут, я думаю, вообще возразить что-то тяжело.
>
> И от себя еще один вариант использования.
Технологию выгрузки/загрузки модулей "на лету", которую обычно применяют
на десктопах для всяких alsa-tools, wifi-модулей после просыпания, иначе
с ними ядро нормально не работает, понятное дело, в случае носителей
применяется редко, даже для hotplug. Тем не менее, меня эта техника
выручала в случаях жёсткого зависания в пространстве ядра на критически
важных системах, когда всё глухо висло при обращении к одному из дисков.
Если модуль вкомпилирован -- только полная перезагрузка и простой.
> Мне бывает нужно подсунуть свою таблицу acpi для ноутбука в виде dsdt файла.
>
> Если ядро претендует на роль универсального, а не для конкретной
> железки и конкретной цели использования, без initrd невозможно
> обойтись.
>
--
Best regards,
Leonid Krivoshein.
Подробная информация о списке рассылки Devel