Cyanogenmod: sistema de archivos para tarjeta SD de 64 GB, archivos de más de 4 GB

Cada vez que encuentro un hilo en Internet que describe "cómo hacer que su tarjeta SD de 64 GB funcione con Cyanogenmod", la respuesta es siempre la misma: formatéela en FAT32.

FAT32 no admite archivos de más de 4 GB. ¿Cyanogenmod (10.1) es compatible con un sistema de archivos decente que puede tomar archivos más grandes que eso?

¿Necesitas que funcione con Windows?
No. Si va a mencionar EXT4, parece que hay muchos problemas con los permisos, pero siga adelante si tiene una solución.

Respuestas (2)

En el CyanogenMod de ayer por la noche, realicé los siguientes pasos:

  1. Desmontar la tarjeta SD en la interfaz de usuario
  2. Borre la tarjeta SD en la interfaz de usuario (esto recrea la tabla de particiones y crea un nuevo FAT32 fs)
  3. Desmonte la tarjeta SD nuevamente, si es necesario
  4. Conecta el teléfono
  5. Abra un shell con adb shell
  6. su to root (esto tiene que estar habilitado en Configuración)
  7. Ejecutar make_ext4fs /dev/block/mmcblk1p1para crear el nuevo ext4 fs
  8. Monte la tarjeta SD en la interfaz de usuario (tendrá que desconectar el teléfono para hacer esto)
  9. Vuelva a abrir el shell raíz y ejecute chown media_rw:media_rw /mnt/media_rw/sdcard1para darle a la carpeta el propietario esperado
  10. Ejecutar chmod 775 /mnt/media_rw/sdcard1para hacer que la tarjeta SD se pueda escribir

Una vez hecho esto, CyanogenMod monta automáticamente la tarjeta y se puede escribir en ella desde los administradores de archivos sin privilegios de root. También copié música e imágenes en el sistema de archivos y, después de reiniciar, se indexan y se muestran en Apollo y Gallery. Solo lo he estado usando por menos de un día, pero hasta ahora ha estado funcionando como un mejor FAT32 fs.

¿Otras aplicaciones funcionan bien? Por ejemplo, ¿poweramp puede encontrar la música?
Estoy usando CM11 (11-20140804-SNAPSHOT-M9) y su paso 8 no me funciona. Dice "chequeo de errores", pero luego termina sin decir nada ni montar. Sin embargo, si hago ssh a Android, puedo montar conmount -t ext4 -o rw,noatime /dev/block/mmcblk1p1 /mnt/media_rw/sdcard1
@David, uso Apollo y puede encontrar música. Tengo un problema en el que si desmonto y vuelvo a montar la tarjeta SD, todas mis listas de reproducción se invalidan; No estoy seguro de si eso está relacionado con el sistema de archivos o no.
@LuisA.Florit ese es un buen consejo. No recuerdo qué comportamiento estaba viendo si intentaba montar mientras lo enchufaba, pero puede haber sido similar.

La respuesta "adecuada" sería exFAT. "Adecuado" porque exFAT es una mierda, pero dado que "soluciona" algunos de los problemas de FAT, es la única opción sin problemas.

Olvídese de NTFS.

Ext4 sería una opción mucho mejor. En caso de que se administre correctamente en Android con respecto a la administración de derechos, según mi entendimiento bastante reciente (último CM11 a partir de enero de 2015), Android no espera que el verdadero almacenamiento externo entienda, y mucho menos imponga los derechos de acceso. Dado que *FAT no tiene concepto de ningún derecho, esto no es un problema. Sin embargo, en Linux no existe una forma limpia de deshabilitar la administración de derechos en un sistema de archivos nativo. El concepto de seguridad de Android utiliza los derechos de acceso de UNIX de una manera diferente a la prevista. No hay que culpar a Android, el concepto UNIX es antiguo, pero su uso tiene un precio. El precio es la necesidad de una gestión de derechos externa para la que Android no está preparado y el usuario (generalmente) no tiene control sobre ninguno de los dos.

Hay una forma de usar ext4 en Android, llamada Mounts2SD. Es bastante limpio y confiable, aunque es cualquier cosa menos nativo (hecho de "trucos desagradables", dirían algunos). No lo recomendaría a menos que tengas absoluta confianza en lo que estás haciendo.