1

Я разрабатываю процесс загрузки для встроенного устройства. В настоящее время я использую initrd (без сжатия, это 4 мегабайта), чтобы иметь возможность настроить мой настоящий корневой раздел перед продолжением загрузки (я должен выбрать раздел на основе некоторой информации и наложить другой, используя unionfs).

Тем не менее, я обеспокоен тем, что память, которая использовалась для файловой системы initrd, постоянно зарезервирована для этого использования, хотя это необходимо всего лишь для нескольких секунд загрузки. Устройство имеет только 256 мегабайт оперативной памяти, и 4 мегабайта кажутся значительными.

  • Есть ли способ вернуть эту память?
  • Если бы я использовал initramfs вместо initrd, купил бы это мне что-нибудь?
  • Есть ли другой вариант?

1 ответ1

1

Память, используемая initrd/initramfs, освобождается после того, как это сделано с помощью ie. когда настоящий root fs смонтирован. Поэтому обычно вам следует беспокоиться об этом. Ваш вопрос показывает, что вы не используете initrd/initramfs в качестве корневого fs во время выполнения, поэтому используемая для него память освобождается автоматически.

Для получения более подробной информации, смотрите раздел initrd документации ядра под заголовком "Изменение корневого устройства".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .