Что значит прикрепить ROMFS в RAM?
Я собираю ядро для платформы ARM, работающей на uClinux 2.4, и в разделе "Общая настройка" в конфигурации Linux есть опция "m68knommu-style присоединенные romfs в поддержке RAM". Мои навыки сборки ARM несколько ограничены, но, насколько я могу судить, если я включу эту опцию, ROMFS копируется в конец ядра BSS.
Какова цель этого?
2 ответа
Как вы правильно указали, эта опция заставляет romfs, прикрепленные к образу ядра, перемещаться в конец раздела.bss. Это позволяет системе запускаться с romfs в качестве корневой файловой системы.
Выше не совсем правильно; Я считаю, что я действительно разработал изменения, если не определенно использовал их. Как уже отмечалось, эта функция предлагает поддержку файловой системы romfs, присоединенной к образу ядра - обе они размещены в оперативной памяти. Затем эта опция гарантирует, что размер файловой системы romfs будет автоматически оценен и перемещен в зарезервированную область ОЗУ (а также соответствующие указатели, переданные для монтирования через драйвер ОЗУ MTD).
Без этого изменения все еще возможно исчерпать RAM; вам просто нужно было, чтобы ваш загрузчик поместил его в заранее определенное место и передал соответствующие параметры ядра. Большая особенность, добавленная этим изменением, заключалась в возможности иметь единый, унифицированный образ ядра + файловой системы, как это делали сборки Coldfire.
Обратите внимание, что это сработало только при наличии соответствующих изменений в вашей головной платформе. Как я помню, я думаю, что это возможно только на NetSilicon NS7520.