1 votos

¿Cómo montar la tarjeta SD externa en una ruta fija en CM13?

En Marshmallow (y consecuentemente en CM13), la tarjeta SD externa se monta en una ruta que contiene su número de serie. Tengo un montón de tareas de Tasker, algún que otro script, y montones y montones de apps configuradas con una ruta específica a la tarjeta SD externa (en mi caso, /external_sd porque es donde estaba en CM12).

Hay algo sensato que pueda hacer con este cambio en Marshmallow? Arreglar las rutas en todas partes sólo porque he actualizado a una tarjeta SD más rápida / más grande (que tiene un número de serie diferente) no va a ser divertido.

¿Cómo puedo hacer que la tarjeta SD externa esté disponible en "/external_sd" en CM13/Marshmallow?

2voto

romkyns Puntos 290

He encontrado una manera razonablemente fácil de hacer algo lo suficientemente cercano: sólo hay que establecer el número de serie del volumen a algo fijo. Esto es bastante fácil para las tarjetas SD con formato FAT32: basta con usar Sysinternals VolumeID :

D:\>vol D:
 Volume in drive D has no label.
 Volume Serial Number is 07F5-432C

D:\>volumeid D: ECAD-ECAD

VolumeID V2.01 - Set disk volume id
Copyright (C) 1997-1999 Mark Russinovich
Sysinternals - www.sysinternals.com

Volume ID for drive D: updated to ecad-ecad

("ecad" por "tarjeta externa" pero hay otras posibilidades (por supuesto)

Ahora mi tarjeta SD externa está montada en /storage/ECAD-ECAD que es fácil de recordar para teclear en aquellas aplicaciones que no me permiten elegir una ruta, y lo que es más importante, puede seguir siendo la misma cuando actualice a una tarjeta más rápida, por ejemplo (si repito este procedimiento).

La única complicación son las tarjetas SD de más de 32 GB, que Windows se niega a formatear en FAT32. La mejor herramienta para evitar esto es Rufus es una herramienta de código abierto centrada en las unidades de arranque, pero también puede formatear una unidad FAT32 grande.

1voto

MJ Walsh Puntos 26

Otra opción sería utilizar un init.d script para volver a crear el enlace de la sdcard.

#!/system/bin/sh

SERIAL=`ls /mnt/media_rw/ | head -n 1`
FULL_PATH="/mnt/media_rw/$SERIAL"
SERIAL_LENGTH=${#SERIAL}
LINK_NAME="/external_sd"

if [ -e $LINK_NAME ] ; then
    echo "Link already exists!"
elif [[ $SERIAL_LENGTH -lt 1 ]] ; then
    echo "Badly formed path!"
elif [ ! -d "$FULL_PATH" ] ; then
    echo "SdCard path not found!"
else
    mount -o rw,remount /
    ln -s $FULL_PATH $LINK_NAME
    mount -o ro,remount /
fi

Este script asume:

  • que los scripts init.d no están siendo bloqueados por SEAndroid,
  • que su dispositivo debe estar apagado para cambiar la tarjeta sd, y
  • que sólo tiene espacio para una tarjeta sd.

Supongo que la razón de la introducción de los números de serie en la ruta de la sdcard es para los dispositivos con espacio para más de una sdcard.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X