Изменение каталога /lib с initramfs на смонтированный раздел /lib

Я хочу в идеале изменить /lib, загруженный из initramfs, на смонтированный раздел / lib без необходимости в rm initramfs '/ lib и затем вставить символическую ссылку в новый / lib.
Проблема с этим подходом состоит в том, что после того, как я удаляю исходный файл /lib, мои двоичные файлы в /bin (особенно busybox) не имеют библиотек, на которые можно ссылаться, поэтому последующее связывание не будет выполнено.
Причина, по которой мне нужно создать символическую ссылку на новый /lib, потому что мне нужно загрузить дополнительные модули, которые слишком велики, чтобы их можно было включить в initramfs (так как это приведет к переполнению всего ядра)

Есть ли какой-нибудь инструмент, который я мог бы использовать для преобразования каталога / lib в символическую ссылку за одну операцию?

Или есть какой-то другой способ, с помощью которого мои двоичные файлы могут получить доступ к другому каталогу lib без перезаписи исходного /lib?

1 ответ

У initrd нет больших ограничений по размеру (иногда я добавляю 50 МБ дополнительного содержимого). Я считаю, что хранилище initrd освобождается после завершения пивота. Так что... на ум приходит пара вещей. Вы можете просто подождать, пока real /lib станет доступным, прежде чем вставлять свой модуль специального назначения (вы, вероятно, подумали об этом).

Другой вариант - загрузить модуль специального назначения, необязательно, на основе параметра ядра cmdline. Таким образом, вы можете создать меню Grub, которое обеспечивает загрузку со специальным модулем или без него.

Другие вопросы по тегам