3 votos

¿Sería posible usar la tarjeta SD como el sistema de archivos root

Esto puede sonar estúpido para alguien que sabe más sobre Android, pero yo no y me ha estado molestando desde hace algún tiempo.

Ya que Android es en su núcleo un sistema Linux, ¿no debería ser posible arrancar directamente desde un dispositivo de almacenamiento diferente (como la tarjeta SD) de la misma manera que puedo arrancar mi ordenador desde un disco duro?

Esto permitiría (en teoría) utilizar una (gran) tarjeta SD como memoria del sistema en lugar de la (en mi caso, que es una Wildfire S) ridícula y pequeña memoria del sistema real.

Entonces, ¿es posible? Si es así: ¿Cómo? ¿Y hay enlaces/cómo? Si no: ¿Por qué? ¿Qué mecanismos impiden que eso suceda? ¿O es que nadie ha intentado hacerlo?

3voto

Nick Pierpoint Puntos 7976

El boot.img que es responsable de arrancar Android, tiene sus scripts de inicio incrustados en el disco RAM de la actual boot.img que monta los tabiques en los respectivos /data , /cache , /system puntos de montaje respectivamente.

Alterando los guiones de inicio para golpear la tarjeta SDCard, podría llevar a un sistema inestable, además, reduciendo la vida de la tarjeta SDCard a través del desgaste de la misma - ¿por qué?

El núcleo al arrancar, se está cargando desde el / que está dentro de la misma partición que la boot de ahí la necesidad de que el disco RAM esté presente junto con él. Es eso, lo que se carga en la memoria - un sistema de archivos temporal, para que los guiones de inicio se lean y se ejecuten. Una vez que se establecen los puntos de montaje, se retira el disco RAM y, por lo tanto, el sistema de archivos temporal, un disco RAM, se "voltea" a las particiones reales en una etapa posterior durante el arranque.

Aquí es donde entra el Disco RAM, sólo temporalmente, es a través de él que todo el proceso de arranque puede ocurrir.

El huevo y la gallina es esto - el núcleo antes del arranque, no tiene ni idea de qué particiones hay!

No sólo eso, codificando duramente la tarjeta SDCard en el parámetro de inicio del kernel, que es una opción específica que puede ser pasada al kernel en el arranque en la que altera el procesamiento del entorno del kernel.

El desgaste de la SDCard se incrementaría significativamente, y no sólo eso, todo el ecosistema de Android cambiaría drásticamente, las API han definido el almacenamiento interno y el almacenamiento externo - por lo que podría llevar a la confusión en cuanto a dónde almacenar sus propios proveedores de contenido para los contactos, etc, "¿Estamos sentados en un almacenamiento externo o interno?" Desde la perspectiva del propio Android, tened en cuenta que los proveedores de contenido en sí se alojan en el almacenamiento interno y, desde una perspectiva general, es una convención estándar de facto para los sistemas de archivos de Android implicados.

Así que para resumir, no creo que eso sea posible, sin descartar tampoco su imposibilidad, pero si se puede hacer, lo más probable es que esté íntimamente ligado al propio teléfono, más o menos, lo que los fabricantes ponen ahí desde una perspectiva de tipos de formato de partición (yaffs, emmc, LinusStoreIII, y más importante, el mecanismo de manejo de SDCard desde el punto de vista del kernel/hardware será diferente - estoy hablando de diferentes direcciones IO aquí) y no sólo eso, difiriendo los tamaños de las particiones también, esto haría que todo el concepto de Android - no exactamente portátil tampoco debido a los scripts no estándar que se encuentran dentro del propio disco RAM.

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