На встроенной платформе под управлением Linux 2.6.36 я иногда сталкиваюсь с проблемой, когда файлы не отображаются в корневой файловой системе, которые ARE присутствуют в нашем файле c initiofs cpio.Файлы «исчезают» из initramfs
Я строю initramfs из файла списка cpio (см. gen_init_cpio.c
), но также столкнулся с проблемой до того, как просто использовать полный каталог.
Когда я говорю, что знаю, что файлы присутствуют в файле cpio, я имею в виду, если я извлечу usr/initrmafs_data.cpio.gz
, файлы есть.
Похоже, что это связано с количеством содержимого в initramfs, но я не нашел волшебное количество файлов и/или общий размер хранилища, из-за чего файлы начинают исчезать.
Есть ли опция в make menuconfig
Мне не хватает, чтобы это исправить? Аргумент загрузки? Что-то другое?
Любые предложения?
Update: Для того, чтобы уточнить, что это с встроенным псевдодиска использованием CONFIG_INITRAMFS_SOURCE
и он сжат с Gzip с помощью установки CONFIG_INITRAMFS_COMPRESSION_GZIP
. Кроме того, это для платформы mipsel-linux
.
Обновление # 2: Я добавил печать на init/initramfs.c:clean_path
и таинственным образом, ранее «исчезающие» файлы теперь все там. Я думаю, что эта сортировка, похоже, указывает на ошибку ядра, если попытка зарегистрировать поведение изменила поведение. Я сравню initramfs.c против нового ядра завтра, чтобы узнать, не проливает ли свет на этот вопрос.
Голосовать против закрытия: с каких проблем возникают проблемы с компиляцией * ядра на superuser.com? В настоящее время я добавляю утверждения 'printk' и взламываю файлы init/*. C, чтобы понять это. –
Это вопрос интеграции, который по теме, но граничит здесь, полностью offside для [su], borderline [unix.se] и, вероятно, будет лучше всего [на собственном сайте] (http://area51.stackexchange.com/proposals/70800/embedded-systems?referrer=ugotaNldoh5JOVkcEm-iDw2) , – Gilles