Разделить initrd на файлы меньшего размера

Разделить initrd на файлы меньшего размера

Я хотел бы узнать, возможно ли реализовать раздельную реализацию initrd. Причина, по которой мы это делаем, заключается в том, что наше приложение на основе Fedora использует урезанную версию Fedora с файлом initrd, который стал настолько большим (+500 МБ), что GRUB2 создает нам проблемы с этим файлом на некоторых компьютерах (в основном, это дешевые ноутбуки HP, которые наши клиенты любят покупать вопреки нашим рекомендациям). Мы установили, что проблема заключается в GRUB2, initrdи ноутбуках HP, поскольку распаковка initrdпозволяет этим машинам загружаться. Однако для нашего варианта использования нам нужно иметь возможность загружаться в RAM, поскольку наше приложение представляет собой загрузочный RAMDisk, который запускает наше приложение в среде киоска.

Мы уже используем самую высокую форму сжатия initrd(XZ level 9). Обслуживание rootfs из сетевой папки и принуждение наших клиентов к настройке своей инфраструктуры — нежелательное решение. Мы хотели бы сохранить возможность для нашего приложения просто загружаться с USB-устройства, как они уже делают.

Отклонение от GRUB2, возможно, также было бы вариантом, но это поставило бы под угрозу нашу возможность загрузки на оборудовании, поддерживающем только EFI Secure Boot (поскольку пакеты GRUB2 предварительно подписаны некоторыми поставщиками для Secure Boot).

Можно ли просто разделить наш массив initrd? Или у нас есть другие варианты?

Спасибо.

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

Связанный контент