¿Qué sistema de archivos adjunta Android al directorio raíz?

Sé que Android usa FAT32 para tarjetas SD y las monta a través de FUSE. Pero, ¿qué FS está adjunto a / ? ¿Algún tipo de extensión? ¿ZFS?

Respuestas (3)

No hay un sistema de archivos "Android" definido singularmente, por lo que esto puede variar entre dispositivos. Cualquier FS para el que el kernel pueda cargar controladores es básicamente un juego justo.

En general, es casi seguro que encontrará que ext4 es el sistema de archivos más común en los dispositivos modernos. Los dispositivos más antiguos también pueden usar versiones anteriores de ext* u otros sistemas de archivos por completo. Dado que todo está construido en Linux, ext4 es una opción bastante sensata, con un sólido soporte de kernel y un buen historial. Puede leer un poco sobre por qué se tomó esta decisión en el artículo de Ars Technica sobre el cambio a ext4.

Algunos dispositivos también han utilizado el sistema de archivos compatible con Flash (f2fs) de Samsung. En particular, varios de los dispositivos de Motorola, así como el Nexus 9, usan f2fs. El objetivo de f2fs era crear un sistema de archivos diseñado específicamente teniendo en cuenta las necesidades de los medios de almacenamiento basados ​​en flash, en un intento de maximizar el rendimiento en dispositivos que utilizan chips NAND como medio de almacenamiento principal.

Sin embargo, esto no significa que estos sean los únicos sistemas de archivos en los que Android es capaz de ejecutarse, como señalé anteriormente. Dada la fuente del kernel y el conocimiento, ciertamente sería posible incluir controladores para otros sistemas de archivos en una imagen del kernel. Android x86 admite la instalación en sistemas de archivos NTFS y FAT32 , por ejemplo.

Los viejos teléfonos Android de Samsung (los primeros teléfonos con Android 2.1, como el i9000) también usaban algo llamado RFS, que era básicamente FAT con soporte de permisos de estilo UNIX.
RFS tenía un nombre entre la mayoría de los usuarios que tenían un dispositivo que lo usaba... Really Freaking Slow .
Pero en dispositivos recientes como Amazon Fire HD 7, una tarjeta SD no se puede formatear a ext4. Huawei Ascend P7 permite NTFS en una tarjeta SD
@ david.perez La pregunta no se trata de tarjetas SD, se trata de /.
@eldarerathis "Cualquier FS para el que el kernel pueda cargar controladores es básicamente un juego justo" ¿Esto implica que el sistema de archivos es independiente del kernel, al menos para Linux?
@Abdul Más o menos. Muchos (quizás todos) de los sistemas de archivos compatibles con Linux se implementan como módulos del kernel, lo que significa que pueden omitirse de una compilación o cargarse/descargarse en tiempo de ejecución. Técnicamente siguen siendo una parte del código fuente del kernel, pero no una parte obligatoria de cada compilación, por lo que el soporte puede diferir un poco entre dispositivos; depende de que el núcleo de la ROM tenga realmente el módulo relevante para un sistema de archivos construido y disponible.

YAFFS (Yet Another Flash File System) se usaba generalmente como el sistema de archivos predeterminado para las versiones de Android hasta la 2.3: http://www.yaffs.net/google-android

ext4 se ha utilizado desde entonces debido a la compatibilidad con subprocesos múltiples: https://ext4.wiki.kernel.org/index.php/Main_Page

YAFFS solo se usó hasta la versión 2.3, ext4 se ha usado desde entonces debido a la compatibilidad con subprocesos múltiples.
Ars Technica tiene un artículo sobre el cambio de yaffs a ext4 , para cualquier persona interesada, que incluye una discusión con los ingenieros de Android que explican un poco la decisión.

Intenté formatear todas las particiones y f2fsluego, cuando mostré una ROM personalizada, pude encontrar que / está formateado con ext4fs, cuando verifiqué que el archivo por lotes que viene con el archivo ROM es el culpable, en realidad reformatea la f2fspartición con ext4fs.