Какая файловая система Android подключается к корневому каталогу?

Я знаю, что Android использует FAT32 для SD-карт и монтирует их через FUSE. Но какая ФС подключена к / ? Какой-то доп? ЗФС?

Ответы (3)

Не существует однозначно определенной файловой системы «Android», поэтому она может варьироваться в зависимости от устройства. Любая FS, для которой ядро ​​может загрузить драйверы, в основном является честной игрой.

В общем и целом, вы почти наверняка обнаружите, что файловая система ext4 является наиболее распространенной файловой системой на современных устройствах. Старые устройства также могут использовать более старые версии ext* или полностью другие файловые системы. Поскольку все построено на Linux, ext4 — довольно разумный выбор, с надежной поддержкой ядра и хорошим послужным списком. Немного о том, почему было принято такое решение, вы можете прочитать в статье Ars Technica о переходе на ext4.

Некоторые устройства также использовали файловую систему Samsung для Flash (f2fs). Примечательно, что несколько устройств Motorola, а также Nexus 9 используют f2fs. Цель f2fs состояла в том, чтобы создать файловую систему, которая была разработана специально с учетом потребностей носителей данных на основе флэш-памяти, в попытке максимизировать производительность на устройствах, использующих микросхемы NAND в качестве основного носителя данных.

Однако это не означает, что это единственные файловые системы, на которых может работать Android, как я уже отмечал выше. Учитывая исходный код ядра и ноу-хау, безусловно, можно включить драйверы для других файловых систем в образ ядра. Например, Android x86 поддерживает установку в файловых системах NTFS и FAT32 .

Старые телефоны Samsung Android (ранние телефоны с Android 2.1, такие как i9000) также использовали нечто, называемое RFS, которое в основном было FAT с поддержкой разрешений в стиле UNIX.
У RFS было имя среди большинства пользователей, у которых было устройство, которое его использовало... Действительно чертовски медленно .
Но в последних устройствах, таких как Amazon Fire HD 7, SD-карту нельзя отформатировать в ext4. Huawei Ascend P7 поддерживает NTFS на SD-карте
@ david.perez Вопрос не в SD-картах, а в /.
@eldarerathis «Любая FS, для которой ядро ​​​​может загружать драйверы, в основном является честной игрой». Означает ли это, что файловая система независима от ядра, по крайней мере, для Linux?
@Абдул вроде. Многие (возможно, все) файловые системы, поддерживаемые Linux, реализованы в виде модулей ядра, что означает, что их можно не включать в сборку или загружать/выгружать во время выполнения. Технически они все еще являются частью исходного кода ядра, но не являются обязательной частью каждой сборки, поэтому поддержка может немного различаться между устройствами; это зависит от ядра ПЗУ, на самом деле имеющего соответствующий модуль для созданной и доступной файловой системы.

YAFFS (еще одна файловая система Flash) обычно использовалась в качестве файловой системы по умолчанию для версий Android до 2.3: http://www.yaffs.net/google-android .

С тех пор ext4 используется из-за поддержки многопоточности: https://ext4.wiki.kernel.org/index.php/Main_Page .

YAFFS использовался только до версии 2.3, с тех пор используется ext4 из-за поддержки многопоточности.
В Ars Technica есть статья о переходе с yaffs на ext4 для всех, кому интересно, в которой есть обсуждение с инженерами Android, которые немного объясняют решение.

Я попытался отформатировать все разделы с помощью f2fsзатем, когда я прошил пользовательское ПЗУ, я обнаружил, что / отформатирован с помощью ext4fs, когда я проверил, что виновником является командный файл, который поставляется с файлом ПЗУ, он фактически переформатировал f2fsраздел с ext4fs.