Qual sistema de arquivos o Android anexa ao diretório raiz?

23

Eu sei que o Android usa FAT32 para cartões SD e os monta via FUSE. Mas qual FS está anexado em / ? Algum tipo de ext? ZFS?

yanpas
fonte

Respostas:

30

Não existe um sistema de arquivos "Android" definido de maneira singular, portanto, isso pode variar entre os dispositivos. Qualquer FS que o kernel possa carregar drivers é basicamente um jogo justo.

Em geral, você quase certamente encontrará que o ext4 é o sistema de arquivos mais comum em dispositivos modernos. Os dispositivos mais antigos também podem usar versões ext * mais antigas ou outros sistemas de arquivos. Como tudo é construído no Linux, o ext4 é uma escolha bastante sensata, com suporte sólido ao kernel e um bom histórico. Você pode ler um pouco sobre por que essa decisão foi tomada no artigo da Ars Technica sobre a mudança para o ext4.

Alguns dispositivos também usaram o sistema de arquivos compatível com flash da Samsung (f2fs). Notavelmente, vários dispositivos da Motorola, assim como o Nexus 9, usam f2fs. O objetivo do f2fs era criar um sistema de arquivos projetado especificamente com as necessidades de mídias de armazenamento baseadas em flash, em uma tentativa de maximizar o desempenho em dispositivos que usam chips NAND para sua mídia de armazenamento principal.

No entanto, isso não significa que esses são os únicos sistemas de arquivos nos quais o Android é capaz de executar, como observei acima. Dada a fonte do kernel e o know-how, certamente seria possível incluir drivers para outros sistemas de arquivos em uma imagem do kernel. O Android x86 suporta a instalação em sistemas de arquivos NTFS e FAT32 , por exemplo.

eldarerathis
fonte
1
Os antigos telefones Android da Samsung (telefones antigos com Android 2.1, como o i9000) também usavam algo chamado RFS, que era basicamente FAT com suporte a permissões no estilo UNIX.
SztupY
O RFS tinha um nome entre a maioria dos usuários que possuíam um dispositivo que o utilizava ... Realmente muito lento .
Ryan Conrad
Mas em dispositivos recentes como o Amazon Fire HD 7, um cartão SD não pode ser formatado para ext4. Huawei Ascend P7 permite NTFS em um cartão SD
david.perez
@ david.perez A questão não é sobre cartões SD, é sobre /.
Eldarerathis
1
@Abdul Mais ou menos. Muitos (talvez todos) dos sistemas de arquivos que o Linux suporta são implementados como módulos de kernel, o que significa que podem ser omitidos de uma construção ou carregados / descarregados em tempo de execução. Tecnicamente, eles ainda fazem parte do código-fonte do kernel, mas não são uma parte obrigatória de todas as versões, e é por isso que o suporte pode diferir um pouco entre os dispositivos; depende do kernel da ROM realmente ter o módulo relevante para um sistema de arquivos construído e disponível.
Eldarerathis
4

O YAFFS (outro sistema de arquivos Flash) geralmente era usado como o sistema de arquivos padrão para versões do Android até 2.3: http://www.yaffs.net/google-android

O ext4 foi usado desde então por causa do suporte a multithreading: https://ext4.wiki.kernel.org/index.php/Main_Page

Charles Boyd
fonte
7
O YAFFS foi usado apenas até a versão 2.3, o ext4 foi usado devido ao suporte a multithreading.
Visualização
7
A Ars Technica tem um artigo sobre a mudança do yaffs para o ext4 , para qualquer pessoa interessada, que inclui algumas discussões com engenheiros do Android que explicam um pouco a decisão.
Eldarerathis
0

Eu tentei formatar todas as partições e f2fs, em seguida, quando exibi uma ROM personalizada, pude encontrar, o / é formatado com ext4fs, quando verifiquei o arquivo em lotes que acompanha o arquivo ROM é o culpado, na verdade ele reformata a f2fspartição ext4fs.

siniranji
fonte