Мне нужно создать файловую систему с настраиваемыми загружаемыми модулями с помощью romfs. Однако у меня есть несколько недоразумений (я все еще новичок в материалах ядра):
После прочтения
romfs
документа: romfs, насколько Я знаю, чтоromfs
— это файловая система, похожая наext2, ext3, ext4....
, которая используется для создания виртуального диска инициализации, необходимого ядру во время загрузки. Однако говорят, чтоromfs
включено в ядро начиная с версии 2.1.21: домашняя страница romfs. На главной странице мы можем загрузить только утилитуgenromfs
, которая используется для создания файла изображенияromfs
. Итак, я хочу внести ясность: модульromfs
, включенный в ядро, предназначен для чтения файловой системыromfs
, аgenromfs
используется для ее создания, не так ли (я пробовалgenromfs
, но хочу убедиться)?initrd
создаетсяmkinitrd -allow-missing -f initrd.img kernel-version
в исходном каталоге (загружаемая файловая система) и распаковывается:gzip -dc initrd.img | cpio -idv
, при использовании romfs я должен создать его образ, используяmkinitrd
, и распаковать его, используя:genromfs -fdv romfs.img
. Это то же самое, что и initrd во время загрузки ядра?initrd
предполагает сжатие, аromfs
нет, это нормально?Если да, то модуль
romfs
должен быть встроен в ядро для чтения на ранней стадии загрузки ядра, верно? В моей системе у нас есть бездисковая машина, и в настоящее времяinitrd
используется в качестве файловой системы фазы загрузки, а также в качестве конечной корневой файловой системы. Однако, посколькуromfs
предназначен только для чтения,romfs
запрещает пользователям возможность записи в файловую систему (поэтому мы не можем делать что-то вродеecho "something" > /tmp/something.txt
)?
vmlinuz
иinitrd
через tftp. Следовательно, единственная и последняя файловая система бездисковых компьютеров — этоinitrd
, которая используется при загрузке и после загрузки (компьютеры используются только для обработки и больше ничего). 15.05.2012romfs
для целей расширения. Обычно, чтобы включить поддержку нового модуля, приходится перекомпилировать ядро. Таким образом, образromfs
используется для содержания дополнительных модулей, которые мы хотим добавить в систему, и если мы хотим добавить новые модули, нам нужно только скомпилировать образromfs
, и модули управляются здесь. 15.05.2012