3 votos

Obteniendo un error de "operación no permitida" al intentar hacer un enlace simbólico a un directorio

Después de instalar una ROM personalizada (ICS 4.0.3 rc1 de Onecosmic) en mi Samsung I9000 Galaxy S, el external_sd El enlace simbólico está roto. Así que quería recuperar este symlink. Utilicé el siguiente código en el emulador de terminal (sí, estoy rooteado con SuperUser):

su (superuser asked for rights, allowed)
cd ./mnt/sdcard
ln -s ./mnt/emmc external_sd

Pero tengo el siguiente error:

Operación no permitida.

¿Cómo puedo crear el enlace simbólico ahora?

0 votos

external_sd es un punto de montaje, no un enlace simbólico (de ahí que sea una carpeta). Tendrías que cambiar la forma en que la ROM lo monta para que vaya allí en lugar de /mnt/emmc .

0 votos

@Matthew Read: Entonces, ¿cómo podría hacer eso?

0 votos

Nunca he oído hablar de esa ROM, así que no sabría por dónde empezar.

1voto

Lie Ryan Puntos 15629

¿Cuál es el formato de la partición de la tarjeta SD? FAT no admite enlaces simbólicos, aunque creo que debería ser posible crear un enlace simbólico en ext3 que apunte a un directorio FAT.

Además, hay operaciones que ni siquiera Root puede hacer, como escribir en una unidad de sólo lectura o en unidades con capacidad de escritura que están montadas de sólo lectura. ¿Cuál es la salida del comando 'mount'?

Además, su comando parece sospechoso; intente utilizar la ruta absoluta (es decir, no anteponga la ruta con ./ en lugar de ello, anteponga / ):

$ su
# ln -s /mnt/emmc /mnt/sdcard/external_sd

0 votos

mount dice que tanto la sdcard como la emmc son vfat. Y obviamente, el almacenamiento principal es de lectura/escritura. ¿Hay alguna opción para mí? ¿Cómo puede haber un symlink en el inicio? ¿O eso está codificado en el software? Porque durante la actualización a la nueva rom, no se formateó nada.

0 votos

Por cierto, sí he intentado utilizar su comando, dio la misma salida. Ah, y sí la carpeta external_sd se elimina (para evitar problemas con la sobreescritura (leer que al menos en bash symlink no sobrescribe))

0voto

El problema no está relacionado con el sistema de archivos FAT. En un sistema de archivos EXT4, por ejemplo, puedes crear enlaces a particiones montadas en FAT32 en linux tan bien como lo haces con enlaces a particiones EXT4, porque la partición en la que se crearía el enlace (ext4) sí admite enlaces.

El problema es que Android monta sus particiones de almacenamiento interno con tmpfs. Utiliza fuse o algo así. Si escribes mount entonces verás que /mnt, /storage, /storage/emulado y otros están montados como tmpfs que no soporta enlaces. El mensaje correcto debería ser "operación no soportada".

A menos que consigamos una forma de montar (o la ruta del punto de montaje ext4) estas particiones sin usar el tmpfs, no será posible crear enlaces como esos.

Hay una forma de crear enlaces. Aplicaciones como Link2SD lo hacen. Pero todavía no sé cómo.

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