Je construis un noyau Android personnalisé basé sur le code source du noyau de la ROM Cyanogenmod. Je voudrais ajouter des dossiers et des fichiers dans le dossier racine du système d'exploitation ( /
). Par exemple, après avoir compilé mon noyau, j'aimerais qu'un dossier supplémentaire nommé toto
(chemin absolu = /toto
) soit créé.
Je ne sais vraiment pas quels fichiers doivent être modifiés et comment faire le travail.
Remarque: Si vous êtes un utilisateur Android (pas un développeur ROM) qui souhaite ajouter des fichiers à votre rootfs
, veuillez plutôt consulter la question Android.SE appropriée .
linux-kernel
compiling
android
deadeert
la source
la source
userspace,
mais des autres Linux, lain-kernel
différence ne représente qu'une poignée de correctifs. En fait, la popularité d'Android est une force motrice majeure derrière le développement du noyau, et ce depuis quelques années. Jetez un œil aux changelogs de kernel.org et décidez par vous-même de leur pertinence pour les systèmes mobiles - Android en particulier.boot.img
pour le portage ROM? : les réponses expliquent comment récupérer et modifier leboot.img
fichier, ce qui permet de modifier de manière persistante le contenu du répertoire racine de l'appareil.Réponses:
Sur Android, comme sur de nombreux systèmes basés sur Linux, le noyau monte d' abord un initramfs sur
/
. Les initramfs sont stockés dans la RAM; il est chargé à partir d'une archive CPIO qui est stockée avec le noyau lui-même (ou à un autre endroit où le chargeur de démarrage peut le trouver).La plupart des systèmes Linux de bureau ont un petit initramfs qui contient juste assez de programmes et de fichiers de configuration pour monter le vrai système de fichiers racine, qui est ensuite monté
/
, remplaçant les initramfs. Android, comme certains systèmes Linux embarqués, maintient les initramfs montés pour toujours. Les initramfs Android contient/init
,adbd
et quelques fichiers de configuration.Pour CyanogenMod, vous pouvez trouver des instructions de construction dans le guide de portage . Vous souhaitez copier plus de fichiers sur le disque virtuel (l'image initramfs, dans la terminologie Android), vous devez donc les ajouter à la
PRODUCT_COPY_FILES
liste dans ledevice_*.mk
makefile de votre appareil.la source
initramfs
image est ce qui contient ces fichiers de configuration, leinitramfs
système de fichiers est compilé dans chaque noyau.Les documents du noyau expliquent comment empaqueter une image dans le noyau lui-même. De kernel.org :
la source