Чи можна використовувати ext4 на своїй SD-картці в не вкоріненому телефоні?


18

Я знаю, що на укоріненому телефоні досить нормально створити невеликий розділ ext4 для використання App2SD, але я не запитую про цей випадок: у мене не вкорінений HTC Desire під керуванням Froyo, і я хотів би відформатувати вся моя SD карта як ext4 замість FAT. Я знаю, що це означатиме, що ПК на ПК Windows не зможе користуватися цією карткою, але всі мої ПК працюють під управлінням Linux, тому вони мають бути добре. Чи зможе телефон мати доступ до цієї картки та використовувати її в цьому випадку?


Я не думаю, що ти можеш. тим більше, що Froyo використовує FAT для своєї реалізації apps2sd.
Райан Конрад

Думаю, вам доведеться змінити параметри монтажу для SD-карти, яка потребує root.
Матвій

Відповіді:


4

ext4 слід підтримувати, якщо у вас є оновлення до 2.3 або 3.0 Android (я бачу, що ваша публікація є лише перед випуском версій 2.3 та 3.0 ...).

... і коли btrFS доданий до Android, він має гарний варіант кріплення ", ssd" з вирівнюванням зносу тощо, у якого ext4 немає ... і більшу швидкість, ніж ext4 зараз, особливо якщо ви використовуєте ", стисніть = lzo "АБО", space_cache "у fstab (але не використовуйте компресію З параметром space_cache, використовуйте лише 1 або інше, або це сповільнює сканування в деяких орієнтирах) - і ця швидкість приходить, незважаючи на контрольну суму btrFS всіх дані (не лише про журнали, як це робить ext4). :-)


3
Лише оновлення від 2017 року: я думаю, що це дійсно справедливо лише в тому випадку, якщо у вас є, на жаль, укорінений пристрій.
Джессі Адельман

5

Я фактично мав свою sdcard на ext4 і встановив її постійно на час завантаження (у мене є root на телефоні).

Найбільшою проблемою було те, що додатки не очікують перевірки дозволу на / sdcard, але extX виконує це (немає можливості монтувати навколо цього). Отже, якщо одне додаток зберігає, наприклад, якийсь аудіозапис і викликає інший підкомпонент для відтворення, воно не працює.

Те ж саме стосується фотографій (фотокамери знімають їх, деякий попередній переглядач може захотіти отримати доступ до них).

Ви можете виправити це вручну, але вам доведеться запускати після кожного створеного нового файлу ... Це було б гарне реальне рішення, але воно потребує модифікації системи: нехай програми запускаються з umask (002) замість 022. Android є UPG (приватні групи користувачів), тому в цьому немає великої шкоди. - Тепер програми можуть вибрати, чи хочуть вони відкривати файли іншим, встановивши групу на "sdcard", чи ні. Це також додасть до примусового розділення там, де програми цього хочуть.


Отримайте фіксовані дозволи за допомогою FUSE або sdcardfs: android.stackexchange.com/a/217936/218526 . Але ця відповідь не стосується не вкоріненого телефону.
Ірфан Латиф

3

Здається, що відповідь "ні" :(. Я просив, тому що у мене нова телефонна картка, щоб зайти в телефон, тому я подумав, що я просто спробую це не спрацювати. Коли я попрошу телефону монтуючи свою картку, прямо йдеться про те, що "SD-карту безпечно видаляти".

Що ж, добре.


Будь ласка, якось підтримайте свою відповідь або видаліть її.
Лео Леопольд Герц 준영

forum.xda-developers.com/showthread.php?t=2424900 пояснює, що vold є чимось перешкодою
JasonPlutext

@JasonPlutext тепер доступний патч vold .
Ірфан Латиф

1

Коротка відповідь: ні .

Хоча на Android 5 cat /proc/filesystemsпоказує , що ext4підтримується, здається, тільки FAT32і exFAT (FAT64)підтримуються на некореневих пристроях. Я намагався без жодного успіху встановити 64 ГБ мікро SD-карти як exFAT.

Використовуючи fdiskви можете відформатувати свою карту до FAT32 (файли понад 4 Гб не підтримуються):

$ fdisk -H 224 -S 56 /dev/mmcblk0

  • d видалити попередній розділ
  • nновий розділ, потім виберіть первинний один pі запустити сектор за замовчуванням, наприклад, до2048
  • tвстановити cдля FAT32
  • (тут ви можете зберегти кілька секторів, перейшовши в експертний режим xі перемістивши початок розділу b)
  • w написати зміни

Потім відформатуйте FAT32, використовуючи вашу кількість зарезервованих секторів ( 2048)

$ mkfs.vfat -F 32 -s 32 -R 2048 -v /dev/mmcblk0p1

  • -F 32 для FAT32
  • -s 32 розмір кластера, виражений у вигляді секторів, тому 32 х 512 байти = 16 КБ кластерів
  • -R 2048 кількість зарезервованих секторів

Таким чином, 64GB-карту можна встановити за допомогою FAT32, я не змогла знайти жодного робочого форматування для exFAT або ext4.


Будь ласка, якось підтримайте свою відповідь або видаліть її.
Лео Леопольд Герц 준영

@Masi Ви могли б бути більш конкретними? Я спробував відформатувати SD-карту в ext2, ext3, ext4, fat32 та exfat. Тестовано на Android 5.0 і працював лише fat32. У Android є дуже обмежені можливості ведення журналу на не вкорінених пристроях. Що б ти хотів, щоб я зробив?
Томбарт

Я щойно зробив повну системну установку нового Rom на ext4. Телефон використовував режим відновлення (TWRP 2.8.x). У телефоні взагалі немає ОС. Ваше зображення для відновлення повинно підтримувати ext4. Будь ласка, повідомте нам своє та спробуйте оновити його. Рекомендую TWRP 3.0.2.
Лео Леопольд Герц 준영

1
@Masi Питання стосується не вкоріненого Android. Я думаю, ви використовуєте вкорінену ОС.
Томбарт

1
@Masi добре, чи могли ви тоді підтримати цю заяву чимось більш конкретним?
Томбарт

1

Я спробував LineageOS 14.1 (android 7.1.2), він підтримує sdcard (tf-карту), відформатований у ext4. Хоча він форматує sdcard для vfat за замовчуванням, якщо ви не зробите жодного виправлення. Найпростіший спосіб - відформатувати sdcard за допомогою ext4 за допомогою зовнішнього адаптера usb-sdcard, після чого вставити sdcard в телефон із встановленим LineageOS.


Це пов’язано з виправленою vold . Не працюватимуть на запасних ROM.
Ірфан Латиф
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.