¿Dónde está montado el directorio o el sistema de archivos / o /sbin en Android?

¿De dónde viene el sistema de archivos raíz (es decir, / no / system) en Android? Puedo ver que /system está montado

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

Puedo ver que /system y /data están montados desde dispositivos mtdblockX. Y ese / está montado en el tipo 'virtual' 'rootfs'.

Hay un montón de archivos y directorios en / (estoy interesado en /sbin) que no parecen estar montados en un punto de montaje sobre /. ¿De dónde vienen esos archivos? (Quiero obtener acceso RW a /sbin) ¿Esto se hace con alguna magia 'chroot'? -- ¿Es de alguna imagen de 'arranque'? (En este ejemplo específico estoy usando un Minix Neo X5 con Android)

Antes de que alguien vote para cerrar, si bien esto puede ser más apropiado para los entusiastas de Android , tal vez podría generalizarse a Linux en su conjunto, lo que sería un tema en Super User . (Y recuerde que Android como sistema operativo no está fuera de tema, solo preguntas relacionadas puramente con teléfonos sin computadora involucrada, por lo que Android x86 en una computadora tradicional también estaría en el tema).
Esta no es una pregunta de tipo 'cómo programar esto'. El propósito es entender de dónde provienen los datos/archivos para poder escribir el programa para manipular los contenidos (de /sbin) en varios sistemas.

Respuestas (1)

El kernel e init configuran rootfs, /sbin es parte de initrd.img, también conocido como ramdisk. Initrd.img es parte de la partición de arranque y debe descomprimirse para poder editarse.

Aquí hay buena información sobre el proceso de arranque y la edición de la partición de arranque .

Además, los dispositivos más nuevos requieren que se firme la partición de arranque y, a menos que el cargador de arranque esté desbloqueado, cualquier edición hará que el dispositivo no arranque.

Cita de ibm.com/developerworks/library/l-initrd > El disco RAM inicial de Linux® (initrd) es un sistema de archivos raíz temporal que se monta durante el arranque del sistema para admitir el proceso de arranque de dos estados. El initrd contiene varios ejecutables y controladores que permiten montar el sistema de archivos raíz real, después de lo cual se desmonta el disco RAM initrd y se libera su memoria. En muchos sistemas Linux integrados, el initrd es el sistema de archivos raíz final.