Wo wird das / oder /sbin Dateisystem oder Verzeichnis auf Android gemountet?

Woher kommt das Root-Dateisystem (dh / nicht /system) auf Android? Ich kann sehen, dass /system gemountet ist

cat /proc/mounts

rootfs / rootfs ro,relatime 0 0
  ...
/dev/block/mtdblock8 /system ext4 ro,noatime,nodiratime,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/mtdblock6 /data ext4 rw,nosuid,nodev,noatime,nodiratime,barrier=1,data=ordered,noauto_da_alloc 0 0

Ich kann sehen, dass /system und /data von mtdblockX-Geräten bereitgestellt werden. Und dieses / ist auf dem 'virtuellen' Typ 'rootfs' gemountet.

Es gibt eine Reihe von Dateien und Verzeichnissen in / (ich interessiere mich für /sbin), die anscheinend nicht an einem Einhängepunkt über / gemountet sind. Woher kommen diese Dateien? (Ich möchte RW-Zugriff auf /sbin bekommen) Wird das mit etwas 'Chroot'-Magie gemacht? -- stammt es von einem 'Boot'-Image? (In diesem speziellen Beispiel verwende ich einen Minix Neo X5 mit Android)

Bevor irgendjemand für das Schließen stimmt – obwohl dies für Android-Enthusiasten so wie es ist besser geeignet sein mag , könnte es vielleicht auf Linux als Ganzes verallgemeinert werden, was auf Super User ein Thema wäre . (Und denken Sie daran, dass Android als Betriebssystem kein Thema ist, sondern nur Fragen, die sich ausschließlich auf Telefone ohne beteiligten Computer beziehen - also wäre Android x86 auf einem herkömmlichen Computer auch ein Thema.)
Dies ist keine Frage, wie man das programmiert. Der Zweck ist zu verstehen, woher die Daten/Dateien kommen, damit ich das Programm schreiben kann, um den Inhalt (von /sbin) auf verschiedenen Systemen zu manipulieren.

Antworten (1)

Das rootfs wird vom Kernel und init eingerichtet, /sbin ist Teil von initrd.img alias Ramdisk. Initrd.img ist Teil der Boot-Partition und muss zur Bearbeitung entpackt werden.

Hier finden Sie einige gute Informationen zum Bootvorgang und zum Bearbeiten der Bootpartition http://www.slideshare.net/chrissimmonds/android-bootslides20 XDA-Forum HOWTO: Unpack, Edit, and Repack Boot Images

Außerdem erfordern neuere Geräte, dass die Boot-Partition signiert wird, und wenn der Bootloader nicht entsperrt ist, führt jede Bearbeitung dazu, dass das Gerät nicht bootet.

Zitat von ibm.com/developerworks/library/l-initrd > Die anfängliche Linux®-RAM-Disk (initrd) ist ein temporäres Root-Dateisystem, das während des Systemstarts eingehängt wird, um den Startvorgang mit zwei Zuständen zu unterstützen. Die initrd enthält verschiedene ausführbare Dateien und Treiber, die das Einhängen des echten Root-Dateisystems ermöglichen, wonach die initrd-RAM-Disk ausgehängt und ihr Speicher freigegeben wird. In vielen eingebetteten Linux-Systemen ist die initrd das endgültige Root-Dateisystem