Creé una partición /sd-ext y enlacé la /cache/download y la /cache/dalvik-cache a la /sd-ext/... Cuando arranco el teléfono y todos los sistemas de archivos están montados y comienzo la shell adb, "df -h" muestra que tengo tanto /sd-ext como /data/sdext2 y ambos están conectados al mismo dispositivo de bloque, /dev/block/mmcblk0p2. ¡De hecho esa partición está montada en 7 puntos de montaje diferentes! ¿Se supone que eso debe suceder?
/dev/block/mmcblk0p2 915.2M 394.7M 471.6M 46% /sd-ext
/dev/block/mmcblk0p2 915.2M 394.7M 471.6M 46% /data/sdext2
/dev/block/mmcblk0p2 915.2M 394.7M 471.6M 46% /data/app
/dev/block/mmcblk0p2 915.2M 394.7M 471.6M 46% /data/app-private
/dev/block/mmcblk0p2 915.2M 394.7M 471.6M 46% /data/data
/dev/block/mmcblk0p2 915.2M 394.7M 471.6M 46% /data/dalvik-cache
/dev/block/mmcblk0p2 915.2M 394.7M 471.6M 46% /sd-ext/download
Además, hay /sd-ext/dalvik-cache y /data/dalvik-cache. Parecen tener idéntico contenido. De hecho, ls -ldi muestra que son el mismo inodo!
Cuando configuré por primera vez la partición /sd-ext, la añadí a /etc/fstab. Pero cada vez que arrancaba, encontraba que /etc/fstab estaba sobrescrito. ¡Ahora ya no puedo encontrar fstab en ninguna parte de la tarjeta SD!
También busqué en init.rc y encontré lo siguiente:
# grep symlink init.rc
symlink /system/etc /etc
symlink /sys/kernel/debug /d
symlink /system/vendor /vendor
symlink /mnt/sdcard /sdcard
Esto no explica realmente por qué /data/dalvik-cache y /sd-ext/dalvik-cache son el mismo inodo, y muchas otras cosas que estoy viendo.
Obviamente está pasando más de lo que se ve a simple vista, y me gustaría llegar al fondo del asunto para saber qué está pasando.