Я создаю собственное ядро Android на основе исходного кода ядра Cyanogenmod ROM. Я хотел бы добавить папки и файлы в корневую папку ОС ( /
). Например, после компиляции моего ядра, я хотел бы создать дополнительную папку с именем toto
(absolute path = /toto
).
Я действительно понятия не имею, какие файлы нужно редактировать и как выполнять работу.
Примечание. Если вы пользователь Android (а не разработчик ПЗУ), который хочет добавить файлы к себе rootfs
, см. Соответствующий вопрос на Android.SE .
linux-kernel
compiling
android
deadeert
источник
источник
userspace,
но от других Linux-системin-kernel
разница составляет всего несколько патчей. Фактически, популярность Android является основной движущей силой в разработке ядра, и вот уже несколько лет. Посмотрите журналы изменений kernel.org и сами решите, насколько они актуальны для мобильных систем, в частности для Android.boot.img
для портирования ПЗУ? Ответы там объясняют, как получить и отредактироватьboot.img
файл, позволяя постоянно изменять содержимое корневого каталога устройства.Ответы:
На Android, как и на многих системах Linux на основе ядро первого монтирует initramfs на
/
. Initramfs хранится в оперативной памяти; он загружается из архива CPIO, который хранится вместе с самим ядром (или в другом месте, где его может найти загрузчик).Большинство настольных систем Linux имеют небольшие initramfs, которые содержат достаточно программ и файлов конфигурации для монтирования реальной корневой файловой системы, которая затем монтируется
/
, заменяя initramfs. Android, как и некоторые встроенные системы Linux, сохраняет initramfs навсегда. Initramfs Android содержит только/init
,adbd
и несколько конфигурационных файлов.Для Cyanogenmod вы можете найти инструкции по сборке в руководстве по портированию . Вы хотите скопировать больше файлов на виртуальный диск (образ initramfs, в терминологии Android), поэтому вам необходимо добавить их в
PRODUCT_COPY_FILES
список вdevice_*.mk
make-файле для вашего устройства.источник
initramfs
образа содержит то, что содержит эти файлы конфигурации,initramfs
файловая система компилируется в каждое ядро.Документы ядра объясняют, как упаковать изображение в само ядро. С kernel.org :
источник