PDA

Ver la Versión Completa : [TUTORIAL] [ST25] [UB] DUAL BOOT (arrancar más de un sistema con Xperia Boot Menu)


DaniPhii
13/09/13, 01:33:32
Gracias nuevamente a Munjeni, uno de los mejores desarrolladores de software para smartphones Xperia™, ahora tenemos la posibilidad de instalar más de una ROM (dual boot) en nuestro Xperia™ U.

De momento podemos arrancar con dual boot ROMs Ice Cream Sandwich, Jelly Bean y KitKat, pero no descarto que en un futuro podamos usar también ROMs Gingerbread. Solo necesitaríamos que alguien aplicara el parche KEXEC a un kernel de Gingerbread.

Si seguís bien el tutorial no tendréis por qué tener ningún problema, pero que quede claro que no me responsabilizo de cualquier daño que le hagáis a vuestro Xperia™ U. Cualquier duda, ya sabéis que para contestar estoy. Como siempre, tened una copia de vuestra NAND actualizada por si no os sale bien.

Requisitos:


Bootloader desbloqueado (http://developer.sonymobile.com/unlockbootloader/unlock-yourboot-loader/).
Modo depuración activado para tener conexión con Android Debug Bridge (ADB) (http://developer.android.com/sdk/index.html#download).
Saber utilizar Flashtool (http://www.flashtool.net/index.php).
Editor de texto en UNIX/UTF-8 (recomiendo Notepad++ (http://notepad-plus-plus.org/)).
Concentración y entender en todo momento lo que se está haciendo.
Saber sumar, restar, multiplicar y dividir. X-D X-D X-D


Bueno, pues dicho esto, empezamos:1. Cómo arrancar la ROM actual desde Xperia Boot Menu.
1.1. Lo primero que tenéis que hacer es descargar este fichero (http://www.4shared.com/zip/IoNIGtg-/Xperia_Boot_Menu.html) (mirror aquí (http://www.mediafire.com/download/ue6c2aos1221piw/Xperia_Boot_Menu.zip)) que contiene todo lo necesario (aparte de los requisitos) para empezar. Dentro veréis unas carpetas numeradas, para que también vayáis por orden y a la par de los pasos que describo aquí.

Seguid la instrucción de la carpeta 1. Cuando tengáis la carpeta bootmenu en vuestra memoria interna (la de la ROM no, donde tenéis las fotos, música, etc.), entrad dentro y os explico su estructura para que la entendáis.

Tenemos tres carpetas llamadas CM10.1, ICS y JB, las cuales contienen un kernel y un RAM disk cada una, correspondientes a cada ROM que podremos arrancar (en nuestro caso serán dos de ellas). La carpeta recovery contiene un menú Recovery por si no tenemos Recovery en la ROM actual (de aquí en adelante, será la ROM principal: si tenéis Recovery en dicha ROM, no será necesaria la carpeta recovery). Además tenemos un settings.ini. Las únicas carpetas que tienen una estructura completa son CM10.1 y recovery. Dentro de cada una hay un archivo zImage, el cual es el kernel, y un archivo initrd.gz, es decir, el RAM disk. El kernel en esas dos carpetas y en la carpeta JB es para ROMs Jelly Bean. El RAM disk de CM10.1 ya está editado por mí para arrancar una ROM CyanogenMod 10.1 desde la carpeta donde crearemos posteriormente las particiones, la carpeta ROM2 dentro de la memoria interna. El kernel en la carpeta ICS es para ROMs Ice Cream Sandwich. Todos los kernels están parcheados con el parche KEXEC para poder arrancar con la funcionalidad dual boot. Las carpetas incluidas aquí en bootmenu no pueden contener espacios en su nombre, pues al intentar arrancar la ROM a la que haga referencia desde el Boot Menu, dará error.

¿Hasta aquí todo claro? ¿Más o menos? Si tenéis alguna duda, ya sabéis para qué está el hilo: preguntad todo lo que queráis. Bien, ahora paso a explicaros el settings.ini. Si lo abris, entenderéis mejor el funcionamiento. Tenéis tres arranques casi configurados, pero nos vamos a fijar en el segundo para entenderlos todos, miremos el de la ROM CyanogenMod 10.1. Como podéis ver, por cada arranque hay cuatro opciones configurables: el título, la ruta del kernel, la ruta del RAM disk y la línea de comandos. La que no vamos a tener que editar es la línea de comandos, pues está preparada en cada caso ya para nuestro Xperia™ U. Habría que editarla si el kernel que usáis asigna valores distintos de RAM y dichas modificaciones las podéis consultar también al desempaquetar el boot.img. Las otras tres opciones de cada arranque, que son el título y las rutas del kernel y el RAM disk, las editaremos al menos en la [rom-1]. El título que le pongáis puede ser directamente el nombre de vuestra ROM principal, y en las rutas, tenéis que cambiar el main por ICS o JB según sea la versión de vuestra ROM principal. Podéis añadir un máximo de 9 arranques, pero tenemos espacio limitado en nuestra memoria interna, así que no podrán ser más de 4 aproximadamente (aunque pa' qué tantas, si con 2 va que chuta, jajaja... :rolleyes:).

1.2. Ahora vamos a extraer el RAM disk y el kernel de vuestra ROM principal. Para ello, necesitaremos copiar en /system/bin/ las herramientas de la carpeta 2 del fichero adjunto. Hay que dar permisos 755 (rwx r-x r-x) a las 5 herramientas y reiniciar el terminal para aplicar bien los cambios.

Tenéis que extraer el boot.img (o el kernel.elf si no es el caso) que tengáis actualmente instalado en vuestra ROM (o podéis aprovechar para instalar un nuevo kernel) y colocarlo en vuestra memoria interna, en una carpeta nueva y llamadla tareasboot por ejemplo. Después, conectad el teléfono en modo depuración y conectad con él mediante ADB en un símbolo del sistema. Entonces, ejecutad los siguientes comandos:adb shell
su
cd /storage/sdcard0/tareasboot
mkdir bootAhora, si vuestro kernel es un boot.img:
kernel_dump ./boot boot.imgY si es un kernel.elf
kernel_dump ./boot kernel.elfResultado:
370090
Veréis que con esos comandos hemos creado una carpeta boot dentro de tareasboot. Pues tenemos que copiar el initrd.gz y el zImage dentro de la carpeta ICS o JB que hay en bootmenu, dependiendo de la versión de Android que sea nuestra ROM principal. Si el zImage no tiene aplicado el parche KEXEC para que pueda arrancar con Boot Menu, no serviría. Por eso he incluido en el adjunto dos kernel preparados para usar en dos carpetas distintas, uno para ICS y otro para JB. No tenemos aún un kernel GB con el parche KEXEC, pero cuando esté disponible, actualizaré el tutorial para que quien quiera pueda usar GB con la funcionalidad dual boot.

La estructura de carpetas ha de ser la siguiente:

Para aquellos que tengan ICS como ROM principal:

CM10.1/
  initrd.gz (este ya estaba en el ZIP)
  zImage
ICS/
  initrd.gz (el resultante de la extracción)
  zImage
JB/
  zImage
recovery/
  initrd.gz
  zImage
settings.ini
[rom-1]
menutitle=Android ICS
kernel=/sdcard/bootmenu/ICS/zImage
ramdisk=/sdcard/bootmenu/ICS/initrd.gz
cmdline=cachepolicy=writealloc noinitrd init=init zram.enabled=1 board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson mem=96M@0 mem_mtrace=15M@96M mem_mshared=1M@111M mem_modem=16M@112M mem=32M@128M mem_issw=1M@160M hwmem=79M@161M mem=272M@240M mpcore_wdt.mpcore_margin=359
[rom-2]
menutitle=CyanogenMod 10.1
kernel=/sdcard/bootmenu/CM10.1/zImage
ramdisk=/sdcard/bootmenu/CM10.1/initrd.gz
cmdline=cachepolicy=writealloc noinitrd init=init zram.enabled=1 board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson mem=96M@0 mem_mtrace=15M@96M mem_mshared=1M@111M mem_modem=16M@112M mem=32M@128M mem_issw=1M@160M hwmem=79M@161M mem=272M@240M mpcore_wdt.mpcore_margin=359
[rom-3]
menutitle=Recovery Menu
kernel=/sdcard/bootmenu/recovery/zImage
ramdisk=/sdcard/bootmenu/recovery/initrd.gz
cmdline=cachepolicy=writealloc noinitrd init=init zram.enabled=1 board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson mem=96M@0 mem_mtrace=15M@96M mem_mshared=1M@111M mem_modem=16M@112M mem=32M@128M mem_issw=1M@160M hwmem=79M@161M mem=272M@240M mpcore_wdt.mpcore_margin=359
Para aquellos que tengan JB como ROM principal:

CM10.1/
  initrd.gz (este ya estaba en el ZIP)
  zImage
ICS/
  zImage
JB/
  initrd.gz (el resultante de la extracción)
  zImage (el resultante de la extracción solo en caso de tener el parche KEXEC, en caso negativo será el que ya venía incluido)
recovery/
  initrd.gz
  zImage
settings.ini
[rom-1]
menutitle=Android JB
kernel=/sdcard/bootmenu/JB/zImage
ramdisk=/sdcard/bootmenu/JB/initrd.gz
cmdline=cachepolicy=writealloc noinitrd init=init zram.enabled=1 board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson mem=96M@0 mem_mtrace=15M@96M mem_mshared=1M@111M mem_modem=16M@112M mem=32M@128M mem_issw=1M@160M hwmem=79M@161M mem=272M@240M mpcore_wdt.mpcore_margin=359
[rom-2]
menutitle=CyanogenMod 10.1
kernel=/sdcard/bootmenu/CM10.1/zImage
ramdisk=/sdcard/bootmenu/CM10.1/initrd.gz
cmdline=cachepolicy=writealloc noinitrd init=init zram.enabled=1 board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson mem=96M@0 mem_mtrace=15M@96M mem_mshared=1M@111M mem_modem=16M@112M mem=32M@128M mem_issw=1M@160M hwmem=79M@161M mem=272M@240M mpcore_wdt.mpcore_margin=359
[rom-3]
menutitle=Recovery Menu
kernel=/sdcard/bootmenu/recovery/zImage
ramdisk=/sdcard/bootmenu/recovery/initrd.gz
cmdline=cachepolicy=writealloc noinitrd init=init zram.enabled=1 board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson mem=96M@0 mem_mtrace=15M@96M mem_mshared=1M@111M mem_modem=16M@112M mem=32M@128M mem_issw=1M@160M hwmem=79M@161M mem=272M@240M mpcore_wdt.mpcore_margin=359

La ROM principal tiene que estar en [rom-1] para que al encender el móvil, sin tocar ninguna tecla, sea la que se ejecute por defecto en unos segundos, aunque eso lo podéis cambiar cuando tengáis instalada una segunda ROM.

1.3. Para poder instalar el Xperia Boot Menu, tan solo tenéis que flashear el boot_menu.img que hay en la carpeta 3 del adjunto mediante Flashtool en modo fastboot. Si no sabéis cómo hacer este paso, buscad una guía sobre cómo utilizar Flashtool.

1.4. Cuando arranquéis el teléfono, os aparecerá por primera vez el Boot Menu con los distintos arranques configurados en settings.ini. Esperad si queréis o seleccionad directamente la ROM principal y arrancadla (tercer botón naranja para seleccionar). Una vez arrancada la ROM, los que no hayan sobrescrito el zImage incluido por el resultante de vuestra extracción, os habréis quedado sin WiFi. Para arreglarlo, tenéis que copiar los módulos en la carpeta 4, los que correspondan a vuestra versión de Android, en /system/lib/modules/ y darle permisos 644 (rw- r-- r--) a todos los ficheros copiados y sobrescritos. Una vez hecho, reiniciáis y volverá a funcionar el WiFi. Si conseguís ir bien hasta aquí, podéis continuar con el siguiente bloque de instrucciones.Aclaración: la sustitución de los módulos del WiFi depende del kernel que queráis instalar para arrancar vuestra ROM. Hay kernels con el parche KEXEC ya aplicado (Experimental, Nemesis...) y no hay necesidad de sustituir módulos en vuestra ROM, pues normalmente ya vienen integrados en el RAM disk. Pero cuando no es así, vendrían incluidos en el ZIP de instalación, por lo que habría que sustituirlos por eso. Cuando es así (es decir, cuando van incluidos en el RAM disk), se cargan directamente los que haya ahí, ignorando los que hay en el directorio /system/lib/modules/. Para instalar un kernel diferente del que incluyo en el ZIP que habéis descargado (el cual es de Munjeni), tan solo tenéis que desempaquetar el boot.img correspondiente al kernel deseado y sustituir tanto el zImage como el initrd.gz, tal y como he indicado anteriormente. Os recuerdo que también tendréis que sustituir parte de la línea de comandos que arranca el kernel. El archivo cmdline contiene las asignaciones de memoria concretas para ese kernel. Por eso tendréis que modificar esos parámetros en el fichero settings.ini.

Para que sepáis a qué parámetros me refiero, aquí dejo un ejemplo:cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson mem=96M@0 mem_mtrace=15M@96M mem_mshared=1M@111M mem_modem=16M@112M mem=32M@128M mem_issw=1M@160M hwmem=79M@161M mem=272M@240M mpcore_wdt.mpcore_margin=359Ahora podéis seguir con la siguiente parte del tutorial.2. Cómo crear las particiones donde instalar la ROM secundaria y cómo arrancarla.
2.1. Para poder continuar, tenemos que tener espacio libre suficiente, yo recomiendo bastante más de 1 GB (1,5 GB estará bien). Necesitamos crear 3 particiones, las cuales serán system.ext4, data.ext4 y cache.ext4. El tamaño que asignéis a la partición system.ext4 tendrá que ser siempre algo mayor que el tamaño descomprimido de la ROM secundaria que queráis instalar más las Google Apps también, si es que las queréis instalar posteriormente, claro.

Ahora os proporciono los comandos a ejecutar para obtener información sobre los dispositivos, crear y preparar las particiones. Para ello, tenéis que tener encendido vuestro teléfono y conectado en modo depuración.

Podemos ver los dispositivos que tiene nuestro teléfono entrando en /dev/block/, y veremos que hay distintos dispositivos loop. La idea será montar nuestras nuevas particiones en tres de esos dispositivos disponibles. En nuestro caso, usaremos los dispositivos (bloques) loop1, loop2 y loop3. Pero no me adelantaré más a los acontecimientos, sigamos por orden.

Ejecutad en un símbolo del sistema lo siguiente:adb shell
su
dfResultado:374650
Como veis, he marcado en rojo ciertas cosas a tener en cuenta. Las tres particiones /system, /data y /cache, en las que se encuentra nuestra ROM principal, están montadas en los dispositivos mmcblk0p10, mmcblk0p11 y mmcblk0p12, respectivamente. El tamaño total de estas particiones viene expresado en bloques de 1 KB, es decir, viene expresado en kilobytes. Por ejemplo:

Tamaño de /system: 1032088 1K-blocks = 1032088 × 1 = 1032088 KB
1032088 KB ÷ 1024 KB = 1007,898 MB ≅ 1 GB

Ahora pasamos a crear las particiones. Para ello, os muestro los comandos a seguir, pero no los ejecutéis hasta que los hayáis entendido con mi explicación posterior a ellos. Cerrad el símbolo del sistema y abrid uno nuevo para seguir mejor los pasos.

Comandos:Para comenzar un shell superusuario en ADB (como antes) y crear un nuevo directorio (llamado ROM2) en nuestra memoria interna, donde crearemos nuestras particiones:
adb shell
su
cd /storage/sdcard0/
mkdir ROM2Para crear la partición /system:
dd if=/dev/zero of=/storage/sdcard0/ROM2/system.ext4 bs=4096 count=166400
losetup /dev/block/loop1 /storage/sdcard0/ROM2/system.ext4
blkid /dev/block/mmcblk0p10
mke2fs -T ext4 -O has_journal,extent,huge_file,flex_bg,uninit_bg,dir _nlink,extra_isize -U UUID_que_devuelve_blkid -I 256 /dev/block/loop1Para crear la partición /data:
dd if=/dev/zero of=/storage/sdcard0/ROM2/data.ext4 bs=4096 count=90112Para crear la partición /cache:
dd if=/dev/zero of=/storage/sdcard0/ROM2/cache.ext4 bs=4096 count=38400Resultado:374715
Ahora es cuando me explico y empiezo de cháchara otra vez. :risitas:
Si no os gusta leer tanto, no leáis, pero luego no os quejéis de haberle hecho algo al teléfono y que no funcione bien el dual boot.

Tras crear la carpeta ROM2 con el comando mkdir, procedemos a crear las particiones. En la que me centraré para explicar el proceso es obviamente en la partición /system. Para el comando dd, NUNCA (repito, NUNCA) intercambiéis de lugar los valores de los parámetros if y of porque podéis brickear el teléfono. El parámetro bs especifica el tamaño en bytes que tendrá cada bloque y el parametro count el número de bloques (los valores marcados en rojo en la captura de pantalla). Esto, en el caso de /system, quiere decir que tendremos 166400 bloques de 4096 B (4 KB). Entonces:

Tamaño de /system: 166400 4K-blocks = 166400 × 4 = 665600 KB
665600 KB ÷ 1024 KB = 650 MB

Podéis hacer particiones de un tamaño mayor o menor. Eso lo dejo a vuestra elección, aunque yo recomiendo que hagáis particiones de un tamaño algo mayor al que vayáis a usar.
Para averiguar el número de bloques que queréis que tenga vuestra partición (es decir, el valor a introducir en el parámetro count), podéis calcularlo multiplicando por 256 el tamaño deseado en MB. Ejemplo:

Si x = 500 MB,
y = 256x = 256 × 500 = 128000 4K-blocks.

Tarda un poco en crearse cada partición (en mi caso system.ext4 ha tardado algo más de un minuto, lo podéis ver en la captura de pantalla). Con el número de bloques que os propongo, la ROM secundaria os ocupará en total 1,125 GB (1 GB y 128 MB). Os recomiendo un mínimo de 0,5 GB de memoria libre después de este proceso. Incluso podéis crear las particiones desde vuestro mismo teléfono con los mismos comandos, pero es más tedioso que con ADB y lo que tarda menos es despreciable:374805
El comando losetup monta la partición que queramos en el dispositivo loop que le indiquemos (comando en color verde). Puede que al intentar ejecutar este comando os devuelva"losetup: not found". Esto se debe a la versión de BusyBox que tenéis instalada en vuestra ROM. Con la versión 1.20.1 no tendréis problemas.
Si el problema persiste, puede que sea problema de vuestra ROM principal (o del kernel) y tengáis que usar otra (u otro kernel). Como último recurso podéis probar, antes de cambiarla, desde un terminal en Android siendo superusuario, pero no os aseguro nada, por eso recomiendo que cambiéis de kernel o ROM. :rolleyes:

El comando blkid nos proporciona el UUID de una partición, en nuestro caso el de la partición mmcblk0p10, es decir, la partición /system de nuestra ROM principal (valor en hexadecimal en color azul). ¿Para qué? Para que al dar formato a nuestra nueva partición del sistema de la ROM secundaria arranque correctamente. Si no, no podríamos arrancar el sistema de la ROM secundaria por muy bien que la instalemos en la partición. Por ello, especificamos el UUID de nuestra partición /system en nuestra nueva partición system.ext4 con el parámetro -U en el comando mke2fs.

¿Cómo vais hasta aquí? Si seguís todos los pasos bien, no tenéis que tener problema alguno. Ahora, tenéis que desconectar el teléfono, apagarlo y quedaros en el Xperia Boot Menu. Para parar la cuenta atrás, moveros alguna vez por las opciones. Entonces, conectad de nuevo el teléfono. Tendréis acceso ADB, a menos que tengáis que reinstalar el driver porque vuestro PC no lo reconozca del mismo modo que con el sistema Android arrancado.

Una vez consigáis tener acceso ADB desde el Xperia Boot Menu, ejecutad estos comandos:adb shell

losetup /dev/block/loop1 /sdcard/ROM2/system.ext4
losetup /dev/block/loop2 /sdcard/ROM2/data.ext4
losetup /dev/block/loop3 /sdcard/ROM2/cache.ext4

make_ext4fs /dev/block/loop1
make_ext4fs /dev/block/loop2
make_ext4fs /dev/block/loop3

e2fsck -f -y /dev/block/loop1
e2fsck -f -y /dev/block/loop2
e2fsck -f -y /dev/block/loop3

tune2fs -o journal_data_writeback /dev/block/loop2
tune2fs -o journal_data_writeback /dev/block/loop3

losetup -d /dev/block/loop1
losetup -d /dev/block/loop2
losetup -d /dev/block/loop3

umount /sdcard

exit
adb rebootResultado:374757 374758

Si hubiera algún problema con alguna partición en algún momento, recurrid siempre primero al comando e2fsck para comprobar errores. Por ejemplo, en la siguiente captura vemos que la partición /data había sufrido daños:

415707

Así, repararíamos los errores en las particiones y posteriormente solo sería necesario un wipe de las cachés para arrancar la ROM secundaria con normalidad.
El comando make_ext4fs da un formato completo a las particiones y prepara el sistema de archivos para que sea utilizable (y sobre todo, formateable desde el Recovery).

El comando e2fsck comprueba el sistema de archivos una vez creado para verificar que todos los bloques de memoria están correctos.

El comando tune2fs sirve para predeterminar ciertas opciones cada vez que las particiones /data y /cache sean montadas en los dispositivos loop2 y loop3 respectivamente. En concreto, configuran esas dos particiones para que, en caso de un cierre sucio del sistema, pueda conservarse la información sin que se dañe (lo cual no es necesario para la partición /system, pues donde hay un continuo flujo de datos es en las otras particiones).

Una vez hayamos terminado, tendremos preparadas nuestras particiones para instalar en ellas nuestra ROM secundaria. Ahora vamos a ver cómo instalarla y arrancarla.

2.2. Aquí vamos a ver cómo modificar el RAM disk de nuestra ROM secundaria, dependiendo de si es una ROM Ice Cream Sandwich, Jelly Bean o KitKat.

Mientras que para arrancar nuestra ROM principal solamente tuvimos que colocar el RAM disk del kernel de nuestra ROM en su correspondiente carpeta, para la ROM secundaria tenemos que editarlo, no podemos dejarlo tal cual. Si lo dejáramos tal cual, el RAM disk montaría las particiones de nuestra ROM principal, cosa que no nos interesa. Lo que queremos es que el RAM disk editado monte las particiones que hemos creado previamente para trabajar solo sobre ellas.

Tenemos que extraer el RAM disk del kernel de la ROM que queráis instalar como secundaria igual que extrajimos el de nuestra ROM principal en el apartado 1.2. Para no confundir ningún archivo, os recomiendo que borréis todo el contenido de la carpeta tareasboot, aunque de todos modos vamos a trabajar en un directorio diferente. Cuando hayáis extraído el initrd.gz a la carpeta tareasboot, dentro de /data/local/tmp/ y darle permisos 644.

Ahora ejecutad estos comandos para desempaquetarlo:adb shell
su
cd /data/local/tmp
mkdir ramdisk
chmod 644 ./ramdisk
cd ramdisk
gunzip < ../initrd.gz | cpio -i -d
Una vez desempaquetado el RAM disk a la carpeta ramdisk, mirad dentro y comprobad si hay o no un fichero llamado recovery_ramdisk.gz en la carpeta sbin.

Si lo hay, seguid aquí:El fichero recovery_ramdisk.gz es el menú Recovery, que viene empaquetado aparte y monta las particiones por su cuenta, entonces también hay que editarlo para evitar cualquier interacción con la ROM primaria. Como ya hemos desempaquetado el RAM disk del kernel, el procedimiento restante en este caso es este: desempaquetar, editar y volver a empaquetar el RAM disk del Recovery, sustituir el Recovery en la carpeta sbin por el que hemos editado, y editar y volver a empaquetar el RAM disk del kernel.

Para desempaquetar el RAM disk del Recovery, copiadlo también a /data/local/tmp, dadle permisos 644 y ejecutad estos comandos para desempaquetarlo:adb shell
su
cd /data/local/tmp
mkdir recovery
chmod 644 ./recovery
cd recovery
gunzip < ../recovery_ramdisk.gz | cpio -i -d
Ahora copiad la carpeta recovery a la memoria interna y de ahí al PC. Editaremos los siguientes archivos con Notepad++ o cualquier otro editor de texto UNIX/UTF-8:
Para ROMs Ice Cream Sandwich:

fstab:
Si no está este archivo, ignoradlo, no está en todos los RAM disk.# These declarations must match the mount statements in
# <buildroot>/device/semc/riogrande/files/init.riogrande.rc

/data ext4 /dev/block/loop2
/cache ext4 /dev/block/loop3
/modemfs ext4 /dev/block/mmcblk0p6 init.rc
Encuentra la línea:mkdir /systemEscribe, justo encima de esa línea, esta otra:mkdir /sderecovery.fstab (puede estar en /etc, en la raíz o en ambos directorios):Es posible que encontréis ligeras variaciones, dependiendo de la versión del kernel con la que esteis tratando.# mount point fstype device [device2] fstype2

/boot emmc /dev/null
/system ext4 /dev/block/loop1
/data ext4 /dev/block/loop2
/cache ext4 /dev/block/loop3
/sdcard vfat /dev/block/mmcblk0p14
# /sd-ext ext4 /dev/block/mmcblk0p2
/emmc vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 init.st-ericsson.rc:
Los cambios están en negrita y en azul, las líneas nuevas en negrita y en rojo.on fs
# If you change anything here, make sure to update
# <root>/vendor/semc/system/bootstrap/masterreset/fstab.riogrande
# accordingly.

# Wait for eMMC device to become available
wait /dev/block/mmcblk0p14

mkdir /sde
mount vfat /dev/block/mmcblk0p14 /sde rw
exec /sbin/losetup /dev/block/loop1 /sde/ROM2/system.ext4
exec /sbin/losetup /dev/block/loop2 /sde/ROM2/data.ext4
exec /sbin/losetup /dev/block/loop3 /sde/ROM2/cache.ext4

# Mount system partition
mount ext4 /dev/block/loop1 /system ro

# Mount user data partition
exec /system/bin/logwrapper /system/bin/e2fsck -y /dev/block/loop2
setprop ro.crypto.state unsupported
mount ext4 /dev/block/loop2 /data nosuid nodev noatime noauto_da_alloc

# Mount cache partition
mount ext4 /dev/block/loop3 /cache nosuid nodev noatime

mount ext4 /dev/block/mmcblk0p6 /modemfs nosuid nodev noatime

# FOTA must be started after partitions are mounted
# and property service is initialized
exec /sbin/fota-ua c
Para ROMs Jelly Bean y KitKat:

init.rc
Encuentra la línea:mkdir /systemEscribe, justo encima de esa línea, esta otra:mkdir /sdefstab.st-ericsson# Android fstab file.
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/dev/block/mmcblk0p6 /modemfs ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
/dev/block/loop1 /system ext4 ro wait
/dev/block/loop2 /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
/dev/block/loop3 /cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,checkrecovery.fstab (puede estar en /etc, en la raíz o en ambos directorios):Es posible que encontréis ligeras variaciones, dependiendo de la versión del kernel con la que estéis tratando.# mount point fstype device [device2] fstype2

/boot emmc /dev/null
/system ext4 /dev/block/loop1
/data ext4 /dev/block/loop2
/cache ext4 /dev/block/loop3
/sdcard vfat /dev/block/mmcblk0p14
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 init.st-ericsson.rc
Los cambios están en negrita y en azul:on fs
# If you change anything here, make sure to update
# <root>/vendor/semc/system/bootstrap/masterreset/fstab.riogrande
# accordingly.

setprop ro.crypto.state unsupported

wait /dev/block/mmcblk0p14
mkdir /sde
mount vfat /dev/block/mmcblk0p14 /sde rw wait
exec /sbin/losetup /dev/block/loop1 /sde/ROM2/system.ext4
exec /sbin/losetup /dev/block/loop2 /sde/ROM2/data.ext4
exec /sbin/losetup /dev/block/loop3 /sde/ROM2/cache.ext4
exec /sbin/e2fsck -y /dev/block/loop2

mount_all fstab.st-ericsson
Si notáis que falta algún archivo que editar en el RAM disk del Recovery, no os preocupéis, editad como os indico los que aparezcan, porque tendréis que volver a consultar estas modificaciones ahora después cuando editéis el RAM disk del kernel. Antes de eso, vamos a empaquetar el RAM disk editado del Recovery y a colocarlo en su sitio.

Copiad la carpeta recovery de vuelta a /data/local/tmp , borrando antes la carpeta que ya hay allí y también el recovery_ramdisk.gz para evitar confusiones. Ahora, conectando mediante ADB reempaquetamos el RAM disk del Recovery así:adb shell
su
cd /data/local/tmp
chmod 644 ./recovery
mkbootfs ./recovery | gzip > recovery_ramdisk.gz
Después de esto, deberéis tener un nuevo recovery_ramdisk.gz en la carpeta /data/local/tmp. Este es el que tenemos que copiar en la carpeta /data/local/tmp/ramdisk/sbin, sobreescribiendo el que ya había. Y ahora nos toca editar los archivos de la carpeta ramdisk.

Para ello, hay que hacer el mismo proceso que con la carpeta recovery, pero esta vez con la carpeta ramdisk. Copiad la carpeta, como antes, a la memoria interna y de ahí a vuestro PC para trabajar sobre ella. Volvemos a hacer uso de Notepad++ para editar los mismos ficheros citados anteriormente y del mismo modo. Cuando hayáis terminado de editar los archivos de texto, copiad la carpeta al lugar donde estaba, en /data/local/tmp. Os recomiendo borrar el initrd.gz que hay en estos momentos en la carpeta tmp, para evitar confusiones al igual que antes.Si no lo hay, seguid aquí:Copiad la carpeta ramdisk entera a vuestro PC para trabajar sobre ella. Ahora es cuando haremos uso de Notepad++ o cualquier otro editor de texto UNIX/UTF-8. Editaremos los siguientes ficheros, dependiendo de si el RAM disk es de una ROM Ice Cream Sandwich o una Jelly Bean.

Para ROMs Ice Cream Sandwich:

fstab:
Si no está este archivo, ignoradlo, no está en todos los RAM disk.# These declarations must match the mount statements in
# <buildroot>/device/semc/riogrande/files/init.riogrande.rc

/data ext4 /dev/block/loop2
/cache ext4 /dev/block/loop3
/modemfs ext4 /dev/block/mmcblk0p6 init.rc
Encuentra la línea:mkdir /systemEscribe, justo encima de esa línea, esta otra:mkdir /sderecovery.fstab# mount point fstype device [device2] fstype2

/boot emmc /dev/null
/system ext4 /dev/block/loop1
/data ext4 /dev/block/loop2
/cache ext4 /dev/block/loop3
/sdcard vfat /dev/block/mmcblk0p14
# /sd-ext ext4 /dev/block/mmcblk0p2
/emmc vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 init.st-ericsson.rc:
Los cambios están en negrita y en azul, las líneas nuevas en negrita y en rojo.on fs
# If you change anything here, make sure to update
# <root>/vendor/semc/system/bootstrap/masterreset/fstab.riogrande
# accordingly.

# Wait for eMMC device to become available
wait /dev/block/mmcblk0p14

mkdir /sde
mount vfat /dev/block/mmcblk0p14 /sde rw
exec /sbin/losetup /dev/block/loop1 /sde/ROM2/system.ext4
exec /sbin/losetup /dev/block/loop2 /sde/ROM2/data.ext4
exec /sbin/losetup /dev/block/loop3 /sde/ROM2/cache.ext4

# Mount system partition
mount ext4 /dev/block/loop1 /system ro

# Mount user data partition
exec /system/bin/logwrapper /system/bin/e2fsck -y /dev/block/loop2
setprop ro.crypto.state unsupported
mount ext4 /dev/block/loop2 /data nosuid nodev noatime noauto_da_alloc

# Mount cache partition
mount ext4 /dev/block/loop3 /cache nosuid nodev noatime

mount ext4 /dev/block/mmcblk0p6 /modemfs nosuid nodev noatime

# FOTA must be started after partitions are mounted
# and property service is initialized
exec /sbin/fota-ua c
Para ROMs Jelly Bean y KitKat:

init.rc
Encuentra la línea:mkdir /systemEscribe, justo encima de esa línea, esta otra:mkdir /sdefstab.st-ericsson# Android fstab file.
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/dev/block/mmcblk0p6 /modemfs ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
/dev/block/loop1 /system ext4 ro wait
/dev/block/loop2 /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
/dev/block/loop3 /cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,checkrecovery.fstab# mount point fstype device [device2] fstype2

/boot emmc /dev/null
/system ext4 /dev/block/loop1
/data ext4 /dev/block/loop2
/cache ext4 /dev/block/loop3
/sdcard vfat /dev/block/mmcblk0p14
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 init.st-ericsson.rc
Los cambios están en negrita y en azul:on fs
# If you change anything here, make sure to update
# <root>/vendor/semc/system/bootstrap/masterreset/fstab.riogrande
# accordingly.

setprop ro.crypto.state unsupported

wait /dev/block/mmcblk0p14
mkdir /sde
mount vfat /dev/block/mmcblk0p14 /sde rw wait
exec /sbin/losetup /dev/block/loop1 /sde/ROM2/system.ext4
exec /sbin/losetup /dev/block/loop2 /sde/ROM2/data.ext4
exec /sbin/losetup /dev/block/loop3 /sde/ROM2/cache.ext4
exec /sbin/e2fsck -y /dev/block/loop2

mount_all fstab.st-ericsson
Cuando hayáis terminado de editar los archivos de texto, copiad la carpeta al lugar donde estaba, en la carpeta data/local/tmp. Recomiendo borrar el initrd.gz que hay en estos momentos en la carpeta tmp, para evitar confusiones y para comprobar que los siguientes comandos generan uno nuevo.Para empaquetar el RAM disk ya editado, ejecutad estos comandos:adb shell
su
cd /data/local/tmp
chmod 644 ./ramdisk
mkbootfs ./ramdisk | gzip > initrd.gzResultado (tanto de la extracción como del reempaquetado, en la captura trabajé sobre otros directorios y en Android Terminal, pero el resultado es el mismo):374806
Como comprobaréis, tenéis un nuevo initrd.gz en la carpeta tmp si todo ha ido bien. Ese initrd.gz es el que tenéis que colocar en una carpeta como las que ya tenéis en la carpeta bootmenu, junto al zImage correspondiente ya sea para ICS o JB, y además crear una entrada nueva en el fichero settings.ini siguiendo la misma sintaxis. Este RAM disk editado permite montar las nuevas particiones para flashear la ROM secundaria y arrancarla desde el Xperia Boot Menu. Genial, ¿no? :-)

Para el error de segmentación, pasad por este post (http://www.htcmania.com/showpost.php?p=10477593).

Como veis, yo ya incluyo una carpeta llamada CM10.1 con el RAM disk de dicha ROM editada por mí mismo para montar las particiones creadas en el directorio ROM2 como a lo largo de todo este tutorial (esto quiere decir que, si habéis creado las particiones en otro directorio, no os servirá). Esto es un regalo que les hago a aquellos que se sientan demasiado torpes para seguir este proceso y quieran tener como ROM secundaria la cada vez más perfeccionada CyanogenMod 10.1. Ahora explico lo último que queda por hacer, algo que es obligatorio para aquellos que quieran ahorrarse este punto 2.2 y quieran tener dual boot con CM 10.1 como ROM secundaria.

2.3. Para terminar, tenemos que hacer algunas modificaciones en el script del ZIP que instalará nuestra ROM como secundaria.
El script en el ZIP está en "META-INF\com\google\android\updater-script" (editadlo también con Notepad++).

Estas son las modificaciones que hacer en el script:


Eliminar la función inicial "assert":assert(getprop("ro.product.device") == "ST25i" || getprop("ro.build.product") == "ST25i" ||
getprop("ro.product.device") == "ST25a" || getprop("ro.build.product") == "ST25a" ||
getprop("ro.product.device") == "kumquat" || getprop("ro.build.product") == "kumquat");
Sustituir "mmcblk0p10" cada vez que aparezca por "loop1".
Sustituir "mmcblk0p11" cada vez que aparezca por "loop2".
Sustituir "mmcblk0p12" cada vez que aparezca por "loop3".
Eliminar la función que flashea el kernel. Para ello, busca "boot.img" o "kernel.elf", dependiendo del formato del kernel que haya en el ZIP, y borra la función que lo flashea. Ejemplo:
package_extract_file("boot.img", "/dev/block/mmcblk0p9");

Una vez hayáis terminado, actualizar el script en el ZIP con compresión "deflate" o "store" (dependiendo de si usáis 7-Zip o WinRAR), copiadlo a la memoria interna, reiniciad el teléfono, iniciar la ROM secundaria, entrar en el Recovery de la ROM secundaria, formatear /system, /data y /cache, instalar el ZIP y reiniciad el teléfono de nuevo. Ahora ya debería de arrancar tanto una ROM como otra si habéis hecho todo como indico. ¡Disfrutad! X-DOpcional: ya que la mayoría de veces que instalamos una ROM se regenera el ID de dispositivo de forma aleatoria, cuando iniciéis sesión en vuestra cuenta de Google desde la ROM secundaria, el teléfono será detectado como si fuera otro distinto. Para solucionar esto, os recomiendo hacer al menos que hagáis una copia de seguridad (la que queráis) desde Titanium Backup, reiniciéis y arranquéis vuestra ROM secundaria, instaléis Titanium Backup en ella y abridlo. El primer mensaje que recibiréis (aparte del de dar permisos root, obviamente) será sobre el ID de vuestro dispositivo. Ahí podéis decidir si restaurar con el ID que tenéis en vuestra ROM principal para que vuestro teléfono sea el mismo para los servicios de Google tanto usando una ROM como otra, o bien dejar intacto ese ID, para lo cual os recomendaría que cambiéis la ruta en la que vayáis a hacer copia de seguridad en vuestra ROM secundaria. Pero, ante todo, yo recomiendo conservar el mismo ID en ambas ROMs. Es lo más sencillo y lo menos problemático.

Posible error menor, pendiente por solucionar: puede ocurrir que después de usar un tiempo ambas ROMs (o nada más empezar a usarlas), hay un bug menor relativo a los datos que guardan las ROMs en una partición común, la /storage/sdcard0/.android_secure (donde se guardan aplicaciones trasladadas de la partición /data al almacenamiento interno, y/o datos de las mismas, aunque también datos de aplicaciones de sistema). Los efectos de este bug son los siguientes, de mayor a menor grado:


Si tenemos una aplicación instalada solo en una de las dos ROMs, cuando arranquemos aquella en la que no esté instalada, puede dañarse o eliminarse, por lo que tendremos que reinstalarla en la ROM donde la tuviéramos instalada.
El contenido multimedia no es detectado por aplicaciones de sistema como Galería, Apollo, etcétera. Tampoco es detectado por aplicaciones de usuario.
Si el contenido es total o parcialmente detectado, la información de nuestras pistas de música descargada de la red se corrompe tanto en la ROM principal como en la ROM secundaria.
Al realizar alguna captura de pantalla o alguna fotografía, puede que de error de memoria. Si no da error, la captura o fotografía en cuestión podrá verse desde la Galería, pero no se verá ni rastro de las capturas y fotografías realizadas desde la ROM principal.

De momento hay que estar a la espera de que se solvente este bug, pero es un poco raro porque a algunos les pasa y a otros no. Depende de diversos factores, pero como siempre, seguramente tenga una solución que, sencilla o no, trataré de explicar por aquí lo mejor posible. :D 3. Cómo eliminar en un futuro las particiones adiciones y, por tanto, la ROM secundaria.
Tan sencillo como borrar manualmente la carpeta que contiene las particiones y flasheando con Flashtool en modo fastboot el kernel que queráis para vuestra ROM principal, eliminando así el Xperia Boot Menu.

También, para que funcionen el WiFi y demás, tendréis que sustituir los módulos en /system/lib/modules/ por los de vuestra ROM o vuestro kernel y darle a todos permisos 644 (rw- r-- r--).

Así de simple. :DEXPERIMENTAL. Cómo modificar la tabla de particiones para instalar la ROM secundaria fuera del almacenamiento interno.
Próximamente desarrollaré esta sección más a fondo (aquí (http://forum.xda-developers.com/xperia-u/u-development/xperia-boot-menu-v1-0-t2418241/post53514322) es donde surgió mi idea).

¿Para qué servirá esto? Para que en lugar de usar dispositivos loop que monten nuestras particiones, dispondremos de tres particiones lógicas más en los 8 GB de memoria interna que tiene nuestro teléfono. Así, nuestras particiones EXT4 dejarán de estar alojadas en nuestra partición FAT32 (nuestro almacenamiento interno). Para conseguirlo, reparticionaremos parte del espacio disponible en la partición extendida /dev/block/mmcblk0p4, concretamente el espacio disponible desde la partición 10 a la 14, ambas inclusive. Si no entendemos lo que hacemos aquí, hay riesgo de convertir nuestro teléfono en un bonito pisapapeles (y como bien dije al principio, no me responsabilizo del daño que le hagáis a vuestro teléfono).

Mi propuesta es pasar de esta tabla de particiones por defecto.../dev/block/mmcblk0p1 ~ /dev/block/mmcblk0p9 son particiones sobre las que no trabajaremos.

Partición Formato y tamaño Cilindros de 32K

/dev/block/mmcblk0p10 Linux (1024 MB) 1857-34624
/dev/block/mmcblk0p11 Linux (2048 MB) 42625-108160
/dev/block/mmcblk0p12 Linux (250 MB) 34625-42624
/dev/block/mmcblk0p13 Linux (16 MB) 1345-1856
/dev/block/mmcblk0p14 FAT32 (4076 MB) 108161-238592
... a otra similar a esta:/dev/block/mmcblk0p1 ~ /dev/block/mmcblk0p9 se quedan como están.

Partición Formato y tamaño Cilindros de 32K

/dev/block/mmcblk0p10 Linux (832 MB) 1857-28480
/dev/block/mmcblk0p11 Linux (1856 MB) 33121-92512
/dev/block/mmcblk0p12 Linux (145 MB) 28481-33120
/dev/block/mmcblk0p13 Linux (16 MB) 1345-1856
/dev/block/mmcblk0p14 FAT32 (3443 MB) 128417-238592
/dev/block/mmcblk0p15 Linux (625 MB) 92513-112512
/dev/block/mmcblk0p16 Linux (352 MB) 117153-128416
/dev/block/mmcblk0p17 Linux (145 MB) 112513-117152
Esta modificación está sujeta a cualquier cambio. En esta propuesta es obvia la preferencia que se le daría a la ROM primaria. Como ya sabemos, las particiones de la ROM primaria son las particiones 10, 11 y 12. La partición 14 corresponde al almacenamiento interno. Las particiones 15, 16 y 17 serían las correspondientes a la ROM secundaria (/system, /data y /cache respectivamente, al igual que las particiones 10, 11 y 12). Los tamaños pueden variarse para tener más espacio donde se desee, pero hay que calcularlo bien todo.

Ya entraré en detalles cuando lo haga en mi teléfono para colocar capturas de pantalla de todo el proceso. :D
¡Ya lo he hecho! :platano:

Aquí veis el resultado y el estado de la eMMC de mi teléfono:555039
He sufrido percances y sustos en este proceso, así que elaboraré esta parte del tutorial para que no tengáis problemas. xD xD xD

Para particionar así la memoria he hecho uso de fdisk, cuyo binario está incluido en el Xperia Boot Menu y es accesible desde ADB. Entraré más adelante en explicar cómo lo he usado.

Mejoras que surgen de esta modificación:


Tenemos control total sobre el tamaño de las particiones. Si no queremos ROM secundaria en particiones lógicas, podemos calcular valores nuevos para tener el mismo número de particiones pero con 5 GB o más de almacenamiento interno en lugar de los 4 GB por defecto, restando espacio a las particiones del sistema (esto es muy útil para quienes escuchan mucha música, ven muchos vídeos e instalan pocas aplicaciones, por poner un ejemplo).
Podemos formatear nuestro almacenamiento interno sin perder nuestra ROM secundaria. Esto es conveniente por si alguna vez necesitamos formatear nuestro almacenamiento interno (por algún error o daño en el sistema de archivos debido a una transferencia de datos interrumpida por error, etcétera). Lo único a tener en cuenta es que tendremos que reponer la carpeta bootmenu con las configuraciones, kernels y RAM disks de nuestras ROMs para poder arrancarlas desde Xperia Boot Menu.


Inconvenientes que surgen de esta modificación:


CWM deja de servirnos como Recovery, solo podemos usar TWRP usemos el kernel que usemos o instalemos la ROM que sea. No me preguntéis por qué, pero las nuevas particiones se dañan por completo cuando se formatean con CWM. Solo desde TWRP he conseguido dejarlas en perfecto estado.
No podremos usar Flashtool para reinstalar una ROM de stock como principal. Flashtool prepara la tabla de particiones por defecto para instalar una ROM de stock, por lo que cualquier ROM que queramos instalar en nuestras particiones tendrá que ser a través de TWRP. Si usamos Flashtool, nuestra tabla de particiones volverá a su estado original y con la ROM de stock elegida, por lo que perderemos todo (almacenamiento interno y todo lo relativo a nuestras ROMs).


Aquí os muestro qué habría que hacer para editar RAM disks e instalar ROMs en las nuevas particiones:
Estos cambios están algo desactualizados (sobre todo para modificar el RAM disk de un Recovery TWRP), pero sirven como guía para hacer correctamente las modificaciones. Todo archivo que lleve fstab escrito en su nombre es muy seguro que necesita ser modificado.

Diferencias en la modificación de RAM disks para arrancar ROMs instaladas en las particiones 15, 16 y 17:

Para ROMs Ice Cream Sandwich:

fstab:
Si no está este archivo, ignoradlo, no está en todos los RAM disk.# These declarations must match the mount statements in
# <buildroot>/device/semc/riogrande/files/init.riogrande.rc

/data ext4 /dev/block/mmcblk0p16
/cache ext4 /dev/block/mmcblk0p17
/modemfs ext4 /dev/block/mmcblk0p6 recovery.fstab# mount point fstype device [device2] fstype2

/boot emmc /dev/null
/system ext4 /dev/block/mmcblk0p15
/data ext4 /dev/block/mmcblk0p16
/cache ext4 /dev/block/mmcblk0p17
/sdcard vfat /dev/block/mmcblk0p14
# /sd-ext ext4 /dev/block/mmcblk0p2
/emmc vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 init.st-ericsson.rc:
Los cambios están en negrita y en azul.# Mount system partition
mount ext4 /dev/block/mmcblk0p15 /system ro

# Mount user data partition
exec /system/bin/logwrapper /system/bin/e2fsck -y /dev/block/mmcblk0p16
setprop ro.crypto.state unsupported
mount ext4 /dev/block/mmcblk0p16 /data nosuid nodev noatime noauto_da_alloc

# Mount cache partition
mount ext4 /dev/block/mmcblk0p17 /cache nosuid nodev noatime

mount ext4 /dev/block/mmcblk0p6 /modemfs nosuid nodev noatime

# FOTA must be started after partitions are mounted
# and property service is initialized
exec /sbin/fota-ua c
Para ROMs Jelly Bean y KitKat:

fstab.st-ericsson# Android fstab file.
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/dev/block/mmcblk0p6 /modemfs ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
/dev/block/mmcblk0p15 /system ext4 ro wait
/dev/block/mmcblk0p16 /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
/dev/block/mmcblk0p17 /cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,checkrecovery.fstab# mount point fstype device [device2] fstype2

/boot emmc /dev/null
/system ext4 /dev/block/mmcblk0p15
/data ext4 /dev/block/mmcblk0p16
/cache ext4 /dev/block/mmcblk0p17
/sdcard vfat /dev/block/mmcblk0p14
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
Y estas son las diferencias en el script:


Sustituir "mmcblk0p10" cada vez que aparezca por "mmcblk0p15".
Sustituir "mmcblk0p11" cada vez que aparezca por "mmcblk0p16".
Sustituir "mmcblk0p12" cada vez que aparezca por "mmcblk0p17".

Si pasa tiempo sin que actualice esta sección y queréis saber más, podéis escribirme por privado, os atenderé lo antes posible. :-) He de agradecer a AGONTUK y a Munjeni que hayan hecho posible mi tutorial, porque si no fuera por su dedicación y su esfuerzo, yo no habría aprendido nada de lo que aquí explico para que otros (sobre todo quienes no saben inglés) lo puedan entender mejor si es posible.

dore22
13/09/13, 03:53:12
Muy buen tutorial amigo gracias por traducirlo y explicarlo por aquí
Saludos :D

DaniPhii
13/09/13, 10:04:42
Muy buen tutorial amigo gracias por traducirlo y explicarlo por aquí
Saludos :D
En realidad no lo he traducido, lo he entendido por mi cuenta y lo he explicado mucho más a fondo, porque con solo traducirlo no les bastaría a algunos. Pero sí, gracias a NoobCoder con su explicación me ha bastado para redactar mi propio tutorial. :)
¡Saludos!

Garcia98
13/09/13, 15:04:33
Buen tuto :ok:
Aunque yo ya lo hice con el de NoobCoder :P

diego9109
13/09/13, 16:42:20
Buen tuto :ok:
Aunque yo ya lo hice con el de NoobCoder :P

Si pero muchos se Ivan a perder con el de xda xD
Buen tuto Dani ;)

DaniPhii
13/09/13, 17:31:44
Buen tuto :ok:
Aunque yo ya lo hice con el de NoobCoder :PSi pero muchos se Ivan a perder con el de xda xD
Buen tuto Dani ;)¡Muchas gracias! :D
Voy a seguirlo ahora mismo, a ver si lo dejo niquelado. Hay problemillas que pueden surgir y de los que quiero tomar control en el tutorial para que todo inconveniente que le pueda surgir a cualquiera, lo pueda solucionar sobre la marcha sin siquiera preguntar (no porque sea molesto contestar preguntas, sino para ahorrar la espera a quien pregunte, jejeje)...

¡Voy a ello! :P

neton1990
13/09/13, 17:51:30
muchas gracias Dani!! esta genial el tuto!!
tengo unas dudas:
1º. una vez tengamos todo hecho, se puede cambiar el kernel a la ROM?
2º. si un dia decidimos cambiar la ROM principal de JB a ICS o al reves, hay que hacer todo esto de nuevo?
3º. para quitarlo basta con flashear con flashtool?

diego9109
13/09/13, 19:37:00
muchas gracias Dani!! esta genial el tuto!!
tengo unas dudas:
1º. una vez tengamos todo hecho, se puede cambiar el kernel a la ROM?
2º. si un dia decidimos cambiar la ROM principal de JB a ICS o al reves, hay que hacer todo esto de nuevo?
3º. para quitarlo basta con flashear con flashtool?

1. Por ahora no, porque sólo hay un kernel de ics y otro de jb que tengan kexec(me parece que aún no ha salido ninguno más)
2. Supongo, porque una está guardada en la sd, habría que pasar todos los archivos.
3. Aún menos, sio cambias el kernel y borras los datos en la sd.

DaniPhii
13/09/13, 21:36:21
1. Por ahora no, porque sólo hay un kernel de ics y otro de jb que tengan kexec(me parece que aún no ha salido ninguno más)
2. Supongo, porque una está guardada en la sd, habría que pasar todos los archivos.
3. Aún menos, sio cambias el kernel y borras los datos en la sd.
No lo hubiera dicho mejor. :B
Aunque cuando complete el tutorial habrá que matizar. Ahora me pilla sin ordenador, pero esta noche ya lo termino.

Garcia98
13/09/13, 22:28:51
Una cosa, ¿fuiste capaz de conectar en ADB en el bootmenu con Windows 7 64 bits?
Con Linux si que me dejaba, ¿sabes como arreglarlo?

diego9109
14/09/13, 21:29:12
Alguien ha probado a poner la segunda rom desde ics?
He creado la partición pero al darle al siguiente paso me dice: s:losetup not found
No lo entiendo porque lo comprobé y el loop1 está ahí :S

DaniPhii
14/09/13, 21:40:29
Una cosa, ¿fuiste capaz de conectar en ADB en el bootmenu con Windows 7 64 bits?
Con Linux si que me dejaba, ¿sabes como arreglarlo?Alguien ha probado a poner la segunda rom desde ics?
He creado la partición pero al darle al siguiente paso me dice: s:losetup not found
No lo entiendo porque lo comprobé y el loop1 está ahí :S
Perdonad por tardar más de lo que dije, enseguida os ayudo.
Creo que desde ICS es problemática la instalación de la ROM secundaria, diego9109, y debe ser por los comandos del shell, creo que se debe a que te falta el losetup que hay en /system/bin en las ROMs JB.
Me pilláis desde el móvil y atareado, en cuanto acabe con unas cosillas pendientes me pongo a ayudaros.

diego9109
14/09/13, 21:54:56
Perdonad por tardar más de lo que dije, enseguida os ayudo.
Creo que desde ICS es problemática la instalación de la ROM secundaria, diego9109, y debe ser por los comandos del shell, creo que se debe a que te falta el losetup que hay en /system/bin en las ROMs JB.
Me pilláis desde el móvil y atareado, en cuanto acabe con unas cosillas pendientes me pongo a ayudaros.

Nada hombre no te preocupes. De todos modos a cabo de ir a system/bin en una rom que tengo por aquí de jb y no hay losetup.
Si no me pasó a jb, que teniendo las particiones hechas y la carpeta bootmenu igual se tarda poco.

DaniPhii
15/09/13, 19:10:26
Nada hombre no te preocupes. De todos modos a cabo de ir a system/bin en una rom que tengo por aquí de jb y no hay losetup.
Si no me pasó a jb, que teniendo las particiones hechas y la carpeta bootmenu igual se tarda poco.Prueba actualizando la versión de BusyBox que tienes en tu ROM, que con eso debería arreglarse. Yo tengo la 1.20.1.

diego9109
15/09/13, 19:56:44
Prueba actualizando la versión de BusyBox que tienes en tu ROM, que con eso debería arreglarse. Yo tengo la 1.20.1.

Yo tenía la 1.21.1, ahora puse la 1.20.1. Por la noche pruebo a ver si va.

werty100
16/09/13, 16:27:48
esuqe nuestro U sin micro el dualboot pufff

Garcia98
16/09/13, 22:14:38
esuqe nuestro U sin micro el dualboot pufff

Eing? Micro?

diego9109
16/09/13, 22:30:53
Eing? Micro?

MicroSD

DaniPhii
20/09/13, 21:29:31
esuqe nuestro U sin micro el dualboot pufffEing? Micro?MicroSD

Bah, tampoco ocupa tanto, yo con 70 temas en MP3, alguna película, un poco de espacio para la caché de algunas aplicaciones y para fotos tengo de sobra incluso con una ROM más, tampoco hay que hacer un drama, se puede tener... X-D

diego9109
21/09/13, 00:35:56
Bah, tampoco ocupa tanto, yo con 70 temas en MP3, alguna película, un poco de espacio para la caché de algunas aplicaciones y para fotos tengo de sobra incluso con una ROM más, tampoco hay que hacer un drama, se puede tener... X-D

Depende de cada quien. El asphalt 8 los datos son 1,6 gigas, entre eso y la rom ya no tienes nada.

DaniPhii
21/09/13, 01:42:03
Depende de cada quien. El asphalt 8 los datos son 1,6 gigas, entre eso y la rom ya no tienes nada.
También es cierto. Depende de cada quién. :oh:

neton1990
28/09/13, 19:34:49
por fin tengo algo de tiempo para hacer lo del dual boot!! X-D
pero tengo un problema, y es que no me deja extraer el RAM disk... hago todo como pone, pero luego no se me crea la carpeta esa que tiene que crearse donde colocas el kernel de la rom...
no me sale la linea de: ...dumping to ./boot/certificate

supongo que sera por eso, pero no se por que no me sale...
alguien puede ayudarme?

DaniPhii
28/09/13, 19:52:09
por fin tengo algo de tiempo para hacer lo del dual boot!! X-D
pero tengo un problema, y es que no me deja extraer el RAM disk... hago todo como pone, pero luego no se me crea la carpeta esa que tiene que crearse donde colocas el kernel de la rom...
no me sale la linea de: ...dumping to ./boot/certificate

supongo que sera por eso, pero no se por que no me sale...
alguien puede ayudarme?Sí que has extraído el RAM disk, ¿ves ese initrd.gz? Ese es el RAM disk, fíjate que se llama así porque lo que hace es iniciarlo (init, r de RAM y d de disk). :p
No pasa ni media por esa diferencia en la extracción, no necesitas el certificate. :)
Eso depende del kernel que estés desempaquetado, este en concreto no tiene ese sector.

Si no ves la carpeta boot desde el explorador de Windows, prueba a montar la memoria interna con una aplicación de Google Play que se llama "Xperia SDCARD Mounter". Asegúrate de no tener ninguna aplicación en la memoria interna que esté ejecutándose cuando vayas a conectarlo al USB.

neton1990
28/09/13, 20:10:20
Sí que has extraído el RAM disk, ¿ves ese initrd.gz? Ese es el RAM disk, fíjate que se llama así porque lo que hace es iniciarlo (init, r de RAM y d de disk). :p
No pasa ni media por esa diferencia en la extracción, no necesitas el certificate. :)
Eso depende del kernel que estés desempaquetado, este en concreto no tiene ese sector.

Si no ves la carpeta boot desde el explorador de Windows, prueba a montar la memoria interna con una aplicación de Google Play que se llama "Xperia SDCARD Mounter". Asegúrate de no tener ninguna aplicación en la memoria interna que esté ejecutándose cuando vayas a conectarlo al USB.

si, si me fije que me salia el initrd.gz, pero luego miraba la carpeta y me rayaba jajaja

vale, ya la he visto jaja

gracias!! ahora voy a por la ROM secundaria!!:platano:

DaniPhii
28/09/13, 20:12:37
si, si me fije que me salia el initrd.gz, pero luego miraba la carpeta y me rayaba jajaja

vale, ya la he visto jaja

gracias!! ahora voy a por la ROM secundaria!!:platano: Jajaja, ¡suerte! Luego nos cuentas qué tal te ha ido. :)

neton1990
28/09/13, 21:10:59
Jajaja, ¡suerte! Luego nos cuentas qué tal te ha ido. :)

bueno, de momento tengo otro problemilla, esta vez al extraer el RAM disk del kernel de la ROM secundaria, he metido su kernel en la carpeta tareasboot y al seguir los pasos sale esto

DaniPhii
28/09/13, 21:19:40
bueno, de momento tengo otro problemilla, esta vez al extraer el RAM disk del kernel de la ROM secundaria, he metido su kernel en la carpeta tareasboot y al seguir los pasos sale esto Claro, porque se te ha olvidado que tienes todo en el directorio zz. xD

neton1990
28/09/13, 21:32:44
Claro, porque se te ha olvidado que tienes todo en el directorio zz. xD

no, es que esa la he borrado y he hecho otra nueva que se llama como tu pusistes... (lo se, me complico yo solo)

EDITO: ya esta solucionado, el problema era que no estaba siguiendo los pasos del punto 1.2, si no que estaba haciendo lo que hay que hacer una vez extraido jaja

neton1990
29/09/13, 04:30:54
ya he completado todo el tuto (2 veces) pero no me va (soy un torpe), instale la ROM de CM 10.1 y de principar JB stock, pero ahora en el boot menu me pone:

E:can't mount /cache/recovery/comand
E:can't mount /cache/recovery/log
E:can't open /cache/recovery/log
E:can't mount /cache/recovery/last_log
E:can't open /cache/recovery/last_log

y la ROM principal se me inicia pero se me ha borrado todo lo que tenia, la secundaria no se inicia...
mañana sera otro dia y volvere a intentarlo ;)

DaniPhii
29/09/13, 06:45:00
ya he completado todo el tuto (2 veces) pero no me va (soy un torpe), instale la ROM de CM 10.1 y de principar JB stock, pero ahora en el boot menu me pone:

E:can't mount /cache/recovery/comand
E:can't mount /cache/recovery/log
E:can't open /cache/recovery/log
E:can't mount /cache/recovery/last_log
E:can't open /cache/recovery/last_log

y la ROM principal se me inicia pero se me ha borrado todo lo que tenia, la secundaria no se inicia...
mañana sera otro dia y volvere a intentarlo ;) Si se han borrado los datos en la ROM principal, probablemente sea porque al iniciar el disco RAM de la ROM secundaria se siguen montando las particiones de la primera en algún momento, las cuales ya no deberían ser accesibles…

Algo has editado mal en el initrd.gz, si eso usa el mío, el que va en el ZIP. Usando ese, las particiones deben estar todas en la carpeta ROM2 en el almacenamiento interno (dónde si no, quizá en un futuro pueda estar en un lápiz USB, pero sería tontería por el gasto de batería, ahí solo valdría para experimentar y tontear, valga la redundancia). Si tienes creadas ya las particiones y comprobadas desde ADB estando el móvil conectado con el Xperia Boot Menu en pantalla, no hace falta que las hagas otra vez, con que las muevas a dicha carpeta desde un explorador es suficiente. Luego prueba y me cuentas a ver qué tal. :)

Por cierto, lo que sale en el Xperia Boot Menu al encender el teléfono, sale generalmente cuando no ha habido al menos un inicio y un apagado correctos usando la ROM primaria. De hecho, saldrá incluso cuando se reinicia pulsando el botón de reinicio que nos habilitan algunos mods para ciertas ROMs, porque no hacen un apagado del todo conveniente. A mí me pasaba esto siempre con el botón de reinicio de un mod, lo cambié por otro y solucionado. Pero no es importante, simplemente se trata de una comprobación de la cache y los logs del recovery de la ROM principal por si hubiera algún error de arranque que constatar en ellos. No te preocupes, no pasa ninguna fatalidad, a mí me sale muy de vez en cuando y me va perfectamente el dual boot. :p

No es que seas torpe, es que es complicado todo esto, hace falta mucha paciencia y desmenuzar muy bien cada cosa a tener en cuenta para hacerlo lo mejor posible, además de perseverar para conseguirlo. "Quien la sigue, la consigue" se dice, aunque haya cambiado una barbaridad el significado de este refrán desde que existe Twitter, jajajajaja…

Espero que la forma en que explico en mis tutoriales cómo hacer las cosas no te pierda mucho… :$
Lo que no quiero es comportarme como el típico profesor de Universidad que te pasa cuatro diapositivas cutres sin explicarlas y se va sin atender ni la mitad de tus dudas, mirándote por encima del hombro si algo no te sale bien (cuando lo normal es que se ría de ti). Detesto esa actitud y no la quiero para mí, los demás que hagan lo que quieran. Si les gusta ser así, que sepan que cuentan con mi desaprobación, aunque no importe nada lo que yo opine.

Seguiré por aquí, para resolver todas las dudas que pueda. :)

¡Mucha suerte con ello! :D

neton1990
29/09/13, 15:32:26
Si se han borrado los datos en la ROM principal, probablemente sea porque al iniciar el disco RAM de la ROM secundaria se siguen montando las particiones de la primera en algún momento, las cuales ya no deberían ser accesibles…

Algo has editado mal en el initrd.gz, si eso usa el mío, el que va en el ZIP. Usando ese, las particiones deben estar todas en la carpeta ROM2 en el almacenamiento interno (dónde si no, quizá en un futuro pueda estar en un lápiz USB, pero sería tontería por el gasto de batería, ahí solo valdría para experimentar y tontear, valga la redundancia). Si tienes creadas ya las particiones y comprobadas desde ADB estando el móvil conectado con el Xperia Boot Menu en pantalla, no hace falta que las hagas otra vez, con que las muevas a dicha carpeta desde un explorador es suficiente. Luego prueba y me cuentas a ver qué tal. :)

Por cierto, lo que sale en el Xperia Boot Menu al encender el teléfono, sale generalmente cuando no ha habido al menos un inicio y un apagado correctos usando la ROM primaria. De hecho, saldrá incluso cuando se reinicia pulsando el botón de reinicio que nos habilitan algunos mods para ciertas ROMs, porque no hacen un apagado del todo conveniente. A mí me pasaba esto siempre con el botón de reinicio de un mod, lo cambié por otro y solucionado. Pero no es importante, simplemente se trata de una comprobación de la cache y los logs del recovery de la ROM principal por si hubiera algún error de arranque que constatar en ellos. No te preocupes, no pasa ninguna fatalidad, a mí me sale muy de vez en cuando y me va perfectamente el dual boot. :p

No es que seas torpe, es que es complicado todo esto, hace falta mucha paciencia y desmenuzar muy bien cada cosa a tener en cuenta para hacerlo lo mejor posible, además de perseverar para conseguirlo. "Quien la sigue, la consigue" se dice, aunque haya cambiado una barbaridad el significado de este refrán desde que existe Twitter, jajajajaja…

Espero que la forma en que explico en mis tutoriales cómo hacer las cosas no te pierda mucho… :$
Lo que no quiero es comportarme como el típico profesor de Universidad que te pasa cuatro diapositivas cutres sin explicarlas y se va sin atender ni la mitad de tus dudas, mirándote por encima del hombro si algo no te sale bien (cuando lo normal es que se ría de ti). Detesto esa actitud y no la quiero para mí, los demás que hagan lo que quieran. Si les gusta ser así, que sepan que cuentan con mi desaprobación, aunque no importe nada lo que yo opine.

Seguiré por aquí, para resolver todas las dudas que pueda. :)

¡Mucha suerte con ello! :D

si uso tu initrd.gz no es necesario que las particiones sean del mismo tamaño no?

no me pierdo con tu tuto, realmente esta bien hecho, sin el creo que no podria haber hecho ni lo de la ROM principal jajaja :ok:

DaniPhii
29/09/13, 17:21:23
si uso tu initrd.gz no es necesario que las particiones sean del mismo tamaño no?

no me pierdo con tu tuto, realmente esta bien hecho, sin el creo que no podria haber hecho ni lo de la ROM principal jajaja :ok: El tamaño es indiferente, puedes usar mi initrd.gz con libertad, indiferentemente del tamaño de tus particiones. :)

Me alegra que lo hayas podido seguir bien. :D

¿Lo has conseguido?

neton1990
29/09/13, 19:32:23
El tamaño es indiferente, puedes usar mi initrd.gz con libertad, indiferentemente del tamaño de tus particiones. :)

Me alegra que lo hayas podido seguir bien. :D

¿Lo has conseguido?

que va, con tu initrd.gz me pasa igual, no se en que la estare liando...

DaniPhii
29/09/13, 19:48:18
que va, con tu initrd.gz me pasa igual, no se en que la estare liando...
Pues eso sí que es raro, con el mío tendría que montar perfectamente las particiones en los tres dispositivos loop y poder acceder a ellas. ¿No puedes ni montar ni formatear las particiones desde el CWM de mi RAM disk? Al menos eso sí, ¿no?

Y otra cosa… ¿Has editado bien el script de instalación del ZIP? Eso es importante que lo hayas hecho bien. Si quieres, te paso el script editado de la V3 de CM 10.1, para que compares… :s

neton1990
29/09/13, 20:01:15
Pues eso sí que es raro, con el mío tendría que montar perfectamente las particiones en los tres dispositivos loop y poder acceder a ellas. ¿No puedes ni montar ni formatear las particiones desde el CWM de mi RAM disk? Al menos eso sí, ¿no?

Y otra cosa… ¿Has editado bien el script de instalación del ZIP? Eso es importante que lo hayas hecho bien. Si quieres, te paso el script editado de la V3 de CM 10.1, para que compares… :s

si que me deja formatear las particiones, y el script yo creo que si que lo he modificado bien, el notepad te busca y sustituye todo, borre las lineas assert y la del boot.img...
no se, pasamelo y asi salimos de dudas, pero creo que esta bien

DaniPhii
30/09/13, 01:13:28
si que me deja formatear las particiones, y el script yo creo que si que lo he modificado bien, el notepad te busca y sustituye todo, borre las lineas assert y la del boot.img...
no se, pasamelo y asi salimos de dudas, pero creo que esta bien mount("ext4", "EMMC", "/dev/block/loop1", "/system");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
show_progress(0.500000, 0);
format("ext4", "EMMC", "/dev/block/loop1", "0", "/system");
mount("ext4", "EMMC", "/dev/block/loop1", "/system");
package_extract_dir("system", "/system");
symlink("/system/xbin/su", "/system/bin/su");
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash",
"/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename",
"/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev",
"/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat",
"/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat",
"/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp",
"/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot",
"/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm",
"/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond",
"/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date",
"/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod",
"/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff",
"/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd",
"/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo",
"/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env",
"/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false",
"/system/xbin/fbsplash", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/flash_lock",
"/system/xbin/flash_unlock", "/system/xbin/flashcp",
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fstrim", "/system/xbin/fsync",
"/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser",
"/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups",
"/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/inetd", "/system/xbin/insmod",
"/system/xbin/install", "/system/xbin/ionice", "/system/xbin/iostat",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/less", "/system/xbin/ln",
"/system/xbin/losetup", "/system/xbin/ls", "/system/xbin/lsattr",
"/system/xbin/lsmod", "/system/xbin/lsusb", "/system/xbin/lzcat",
"/system/xbin/lzma", "/system/xbin/lzop", "/system/xbin/lzopcat",
"/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mesg",
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
"/system/xbin/mkfs.ext2", "/system/xbin/mkfs.vfat",
"/system/xbin/mknod", "/system/xbin/mkswap", "/system/xbin/mktemp",
"/system/xbin/modinfo", "/system/xbin/modprobe", "/system/xbin/more",
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mpstat",
"/system/xbin/mv", "/system/xbin/nanddump", "/system/xbin/nandwrite",
"/system/xbin/nbd-client", "/system/xbin/netstat", "/system/xbin/nice",
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pipe_progress",
"/system/xbin/pkill", "/system/xbin/pmap", "/system/xbin/poweroff",
"/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps",
"/system/xbin/pstree", "/system/xbin/pwd", "/system/xbin/pwdx",
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize",
"/system/xbin/rev", "/system/xbin/rm", "/system/xbin/rmdir",
"/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/run-parts",
"/system/xbin/rx", "/system/xbin/sed", "/system/xbin/seq",
"/system/xbin/setconsole", "/system/xbin/setserial",
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum",
"/system/xbin/sha256sum", "/system/xbin/sha3sum",
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
"/system/xbin/taskset", "/system/xbin/tee", "/system/xbin/telnet",
"/system/xbin/telnetd", "/system/xbin/test", "/system/xbin/tftp",
"/system/xbin/tftpd", "/system/xbin/time", "/system/xbin/timeout",
"/system/xbin/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize",
"/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname",
"/system/xbin/uncompress", "/system/xbin/unexpand", "/system/xbin/uniq",
"/system/xbin/unix2dos", "/system/xbin/unlzma", "/system/xbin/unlzop",
"/system/xbin/unxz", "/system/xbin/unzip", "/system/xbin/uptime",
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode",
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc",
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami",
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat",
"/system/xbin/yes",
"/system/xbin/zcat");
symlink("mksh", "/system/bin/sh");
symlink("toolbox", "/system/bin/cat", "/system/bin/chmod",
"/system/bin/chown", "/system/bin/cmp", "/system/bin/cp",
"/system/bin/date", "/system/bin/dd", "/system/bin/df",
"/system/bin/dmesg", "/system/bin/du", "/system/bin/getevent",
"/system/bin/getprop", "/system/bin/grep", "/system/bin/hd",
"/system/bin/id", "/system/bin/ifconfig", "/system/bin/iftop",
"/system/bin/insmod", "/system/bin/ioctl", "/system/bin/ionice",
"/system/bin/kill", "/system/bin/ln", "/system/bin/log",
"/system/bin/ls", "/system/bin/lsmod", "/system/bin/lsof",
"/system/bin/md5", "/system/bin/mkdir", "/system/bin/mount",
"/system/bin/mv", "/system/bin/nandread", "/system/bin/netstat",
"/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv",
"/system/bin/ps", "/system/bin/r", "/system/bin/reboot",
"/system/bin/renice", "/system/bin/restart", "/system/bin/rm",
"/system/bin/rmdir", "/system/bin/rmmod", "/system/bin/route",
"/system/bin/schedtop", "/system/bin/sendevent",
"/system/bin/setconsole", "/system/bin/setprop", "/system/bin/sleep",
"/system/bin/smd", "/system/bin/start", "/system/bin/stop",
"/system/bin/sync", "/system/bin/top", "/system/bin/touch",
"/system/bin/umount", "/system/bin/uptime", "/system/bin/vmstat",
"/system/bin/watchprops",
"/system/bin/wipe");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 0, 0755, 0755, "/system/addon.d");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 2000, 0755, "/system/vendor");
set_perm(0, 2000, 0755, "/system/vendor/camera");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/etc");
set_perm(0, 0, 0644, "/system/vendor/etc/audio_effects.conf");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 0, 06755, "/system/xbin/tcpdump");
show_progress(0.200000, 10);
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "restore");
delete("/system/bin/backuptool.sh");
delete("/system/bin/backuptool.functions");
package_extract_file("system/bin/modelid_cfg.sh", "/tmp/modelid_cfg.sh");
set_perm(0, 0, 0777, "/tmp/modelid_cfg.sh");
run_program("/tmp/modelid_cfg.sh", "");
show_progress(0.200000, 10);
show_progress(0.100000, 0);
unmount("/system"); Si lo tienes igual, habrá que buscar otro motivo por el que no funciona... :oh:

neton1990
30/09/13, 15:00:17
Si lo tienes igual, habrá que buscar otro motivo por el que no funciona... :oh:

si, lo tengo igual, no se si probar a poner de secundaria cualquier otra ROM para probar...

DaniPhii
30/09/13, 17:30:55
si, lo tengo igual, no se si probar a poner de secundaria cualquier otra ROM para probar... Estabas probando con la CM 10.1 V3 de DevSwift1, ¿no?

neton1990
30/09/13, 17:36:35
Estabas probando con la CM 10.1 V3 de DevSwift1, ¿no?

si, la ultima que han puesto en XDA, de hecho pense que podria ser ese el problema y la volvi a bajar ayer para asegurarme de que no fuese una anterior la que metia, pero ese no es el problema...
la ROM la tengo que meter en la SD como siempre no? o sea, que no hay que ponerla en ninguna carpeta antes de instalarla ni nada no?

DaniPhii
30/09/13, 18:16:20
si, la ultima que han puesto en XDA, de hecho pense que podria ser ese el problema y la volvi a bajar ayer para asegurarme de que no fuese una anterior la que metia, pero ese no es el problema...
la ROM la tengo que meter en la SD como siempre no? o sea, que no hay que ponerla en ninguna carpeta antes de instalarla ni nada no? Una vez has modificado el script de instalación, da igual donde la pongas en el almacenamiento interno. Debería instalarse correctamente. ¿Has intentado instalarla de nuevo? ¿Te borra todos los datos de la ROM principal incluso usando el RAM disk editado por mí? Eso no creo, es imposible a menos que el script de instalación esté mal editado, claro. ¿Has abierto el script editado desde dentro del ZIP para comprobar que está correctamente editado?

No se me ocurren muchas alternativas más, la verdad...

neton1990
30/09/13, 21:09:16
Una vez has modificado el script de instalación, da igual donde la pongas en el almacenamiento interno. Debería instalarse correctamente. ¿Has intentado instalarla de nuevo? ¿Te borra todos los datos de la ROM principal incluso usando el RAM disk editado por mí? Eso no creo, es imposible a menos que el script de instalación esté mal editado, claro. ¿Has abierto el script editado desde dentro del ZIP para comprobar que está correctamente editado?

No se me ocurren muchas alternativas más, la verdad...

si, incluso con tu RAM disk...
a ver, luego voy a intentarlo de nuevo, y mientras ire anotando todo lo que hago para ponertelo por aqui, a ver si asi ves lo que me falla

muchisimas gracias por tu paciencia ;)

neton1990
01/10/13, 02:42:50
a ver, he hecho las particiones /data y /cache igual que tu, la de /system la he hecho de 585Mb
he usado tu initrd.gz, asi que me he saltado el punto 2.2
encuanto al script, tambien he usado el tuyo, (el mio estaba igual, pero no se, asi salimos totalmente de dudas) y si, el script editado esta dentro del zip, comprobado! jajaja

para instalarla en el boot menu le doy a CM 10.1 y entro el el recovery, hago el wipe data/factory reset y wipe cache partition e instalo el ZIP y reinicio

ahora en el boot menu selecciono otra vez CM 10.1 y se me arranca la ROM que tengo como principal y se me queda en el bootanimation... he quitado la bateria y he vuelto a instalar la ROM de CM, pero sigue pasando lo mismo, y al entrar el la ROM principal todos los datos estan borrados...

PD: al hacer mi propio initrd.gz del kernel CM me da fallo de segmentacion, ¿sabes por que puede ser?, al final uso el tuyo, pero mejor aprender a hacerlo no? jaja

DaniPhii
01/10/13, 05:41:38
muchisimas gracias por tu paciencia ;) Faltaría más, hombre... :D

a ver, he hecho las particiones /data y /cache igual que tu, la de /system la he hecho de 585MbBien...

he usado tu initrd.gz, asi que me he saltado el punto 2.2Bien también...

encuanto al script, tambien he usado el tuyo, (el mio estaba igual, pero no se, asi salimos totalmente de dudas) y si, el script editado esta dentro del zip, comprobado! jajajaLínea, vamos para bingo... xD

para instalarla en el boot menu le doy a CM 10.1 y entro el el recovery, hago el wipe data/factory reset y wipe cache partition e instalo el ZIP y reinicio

ahora en el boot menu selecciono otra vez CM 10.1 y se me arranca la ROM que tengo como principal y se me queda en el bootanimation... he quitado la bateria y he vuelto a instalar la ROM de CM, pero sigue pasando lo mismo, y al entrar el la ROM principal todos los datos estan borrados...¡Bingo! Aquí está la clave. :platano:

Si lo hubieras dicho antes de esta forma, me hubiera dado cuenta antes de dónde está el problemilla. Veamos...

El problema lo tienes en el settings.ini de la carpeta bootmenu. Estoy seguro, no queda otra posibilidad. Tienes mal indicadas las rutas del kernel y el RAM disk en la configuración de arranque correspondiente a la ROM secundaria. Al instalar el ZIP, parece que no te da error porque se instala en una especie de partición fantasma que el script de instalación monta en el dispositivo loop1, solo se borran los datos porque en realidad los borras tú al hacer los wipes, no al instalar la ROM, jajaja... Al intentar instalar la ROM, como no accedes en ningún momento al bloque de memoria mmcblk0p10 sino al bloque loop1, la ROM se está instalando en un bloque de la RAM que se borrará una vez se apague el teléfono y tu ROM principal queda intacta en su bloque de memoria correspondiente, por eso los cambios no se guardan en ninguna parte y parece que tienes recién instalada tu ROM principal, jajajajaja... Dios, qué movida. Espero que te hayas enterado, porque a veces no me entero ni yo. xD

Si no es eso, yo ya no sé qué locura tiene tu teléfono. :risitas:

PD: al hacer mi propio initrd.gz del kernel CM me da fallo de segmentacion, ¿sabes por que puede ser?, al final uso el tuyo, pero mejor aprender a hacerlo no? jaja Sí, sé por qué pasa. Si te da pereza (como a mí) arreglarlo, puedes hacerlo desde un terminal en Android, tal y como cuento en el tutorial. Pero si quieres aprender más y tener controlado todo, te cuento, jajaja...

Eso ocurre porque hay un binario repetido en tu ROM. Es el mkbootfs y está en /sbin. Si lo borras y acto seguido conectas el teléfono en modo ADB e intentas hacerlo, no debe de haber error alguno.

Hago hincapié en lo de "acto seguido" porque, si reinicias el teléfono, volverás a tener ese binario en esa carpeta. Esto ocurre porque el binario se encuentra en la carpeta de igual nombre dentro del RAM disk del kernel que usas para arrancar la ROM, es en el arranque cuando se vuelve a cargar dicho binario en la RAM y volverás a tener ese mismo problema. Para solucionarlo definitivamente, como ya sabes desempaquetar, editar y reempaquetar un RAM disk, simplemente desempaquetas el RAM disk de tu ROM principal (cosa que no hemos necesitado hacer en ninguna otra ocasión, pero en este caso habría que hacerlo), borras el binario en cuestión, reempaquetas y listo para usar tu ROM principal en un futuro sin necesidad de estar borrando ese binario en cuestión cada vez que quieras reempaquetar un RAM disk desde ADB.

De ahí mi pereza, porque no es algo que vaya a estar haciendo todos los días, jajaja...

Revisa el punto 2.3 de mi tutorial, lo he actualizado con algunos detalles que merecen ser conocidos.
Revisa también por supuesto tu fichero settings.ini y me cuentas si llevo razón (qué fallo más tonto como sea ese, que seguro que lo es). X-D
Ayúdate del punto 1.2 para solucionar el problema/fallo/tontería/como tú quieras llamarlo, jajaja... xD xD xD

neton1990
01/10/13, 14:53:08
Revisa el punto 2.3 de mi tutorial, lo he actualizado con algunos detalles que merecen ser conocidos.
Revisa también por supuesto tu fichero settings.ini y me cuentas si llevo razón (qué fallo más tonto como sea ese, que seguro que lo es). X-D
Ayúdate del punto 1.2 para solucionar el problema/fallo/tontería/como tú quieras llamarlo, jajaja... xD xD xD

pues creo que no es ese el problema, porque las rutas que tengo en la secundaria son estas:
kernel=/sdcard/bootmenu/CM10.1/zImage
ramdisk=/sdcard/bootmenu/CM10.1/initrd.gz

y vamos, yo creo que estan bien... menuda rayada...

DaniPhii
01/10/13, 15:14:32
pues creo que no es ese el problema, porque las rutas que tengo en la secundaria son estas:
kernel=/sdcard/bootmenu/CM10.1/zImage
ramdisk=/sdcard/bootmenu/CM10.1/initrd.gzy vamos, yo creo que estan bien... menuda rayada...
Pues entonces te has tenido que equivocar y has copiado el initrd.gz editado en otra carpeta o en otra parte, porque el resultado de lo que haces indica que dentro de /sdcard/bootmenu/CM10.1 tienes el initrd.gz de tu ROM principal. Si no, no ocurriría lo que ocurre. Mira también si están bien enumeradas las opciones de arranque: [rom-1], [rom-2], etc.

neton1990
01/10/13, 16:50:46
Pues entonces te has tenido que equivocar y has copiado el initrd.gz editado en otra carpeta o en otra parte, porque el resultado de lo que haces indica que dentro de /sdcard/bootmenu/CM10.1 tienes el initrd.gz de tu ROM principal. Si no, no ocurriría lo que ocurre. Mira también si están bien enumeradas las opciones de arranque: [rom-1], [rom-2], etc.

que va, el initrd.gz de CM10.1 esta donde tu lo pusistes y estan bien enumeradas las opciones de arranque, por la noche volvere a intentarlo, a ver si me sale mi propio initrd.gz de CM y cruzare los dedos jaja

DaniPhii
01/10/13, 20:56:40
que va, el initrd.gz de CM10.1 esta donde tu lo pusistes y estan bien enumeradas las opciones de arranque, por la noche volvere a intentarlo, a ver si me sale mi propio initrd.gz de CM y cruzare los dedos jajaFlipando hállome… O_O"

Juraría que se trataba de eso…

Lo único que me queda por hacer es pasarte de nuevo mi initrd.gz para la CM 10.1 por si me equivoqué yo al meterlo en el ZIP, pero estoy bastante convencido de que es el correcto…

Si no lo consigues, te paso otro initrd.gz por si ha sido fallo mío.

Como haya sido fallo mío, es pa' matarme… :banghead:

diego9109
01/10/13, 21:06:16
Lo único que se me ocurre es que la carpeta de la sd no se llame ROM2

neton1990
01/10/13, 21:41:51
Flipando hállome… O_O"

Juraría que se trataba de eso…

Lo único que me queda por hacer es pasarte de nuevo mi initrd.gz para la CM 10.1 por si me equivoqué yo al meterlo en el ZIP, pero estoy bastante convencido de que es el correcto…

Si no lo consigues, te paso otro initrd.gz por si ha sido fallo mío.

Como haya sido fallo mío, es pa' matarme… :banghead:

vale, luego cuando lo vuelva a hacer te comento jaja

Lo único que se me ocurre es que la carpeta de la sd no se llame ROM2

si que se llama ROM2, debe ser otra cosa...

neton1990
02/10/13, 02:38:48
pues nada, esto es imposible, me he hecho el initrd.gz mediante terminal pero no me arranca el recovery de CM, asi que digo yo que abre editado mal algo... en fin, voy a dejarlo ya hasta el fin de semana para hacer todo mas tranquilamente...

muchisimas gracias!!

DaniPhii
02/10/13, 03:36:24
pues nada, esto es imposible, me he hecho el initrd.gz mediante terminal pero no me arranca el recovery de CM, asi que digo yo que abre editado mal algo... en fin, voy a dejarlo ya hasta el fin de semana para hacer todo mas tranquilamente...

muchisimas gracias!!¡No hay de qué! Lo que pasa es que no lo entiendo, se me escapa completamente lo que puede ocurrir… :oh:
Pero estoy convencido de que va a resultar ser una tontería, jajaja... :sisi1:

Descansa, que estamos con la cabeza echando humo… :estrellas:

EDITO:
Acabo de comparar el MD5 Hash del initrd.gz de mi CM 10.1 con el del que incluyo en el adjunto y son exactamente iguales. Así que no, no ha sido fallo mío... :silla:

kingknuts
20/10/13, 18:23:45
Hola he seguido el tutorial al pie de la letra y me pasa lo mismo que a neton1990 solo que cuando instalo el CM ya no arranca ninguna de las roms lo unico que si funciona es el recovery en todas las roms.
Tengo Jelly Bean como principal y Cm v3 como secundaria.
PD: ¿La demora que se produce en el logo de SONY o en el de xperia sony smartphone es normal?
lleva 20 minutos y no hace nada solo en los primeros 5 minutos se enciende la barra en color blanco y luego se apaga y se queda pillado.

DaniPhii
20/10/13, 19:06:55
Hola he seguido el tutorial al pie de la letra y me pasa lo mismo que a neton1990 solo que cuando instalo el CM ya no arranca ninguna de las roms lo unico que si funciona es el recovery en todas las roms.
Tengo Jelly Bean como principal y Cm v3 como secundaria.
PD: ¿La demora que se produce en el logo de SONY o en el de xperia sony smartphone es normal?
lleva 20 minutos y no hace nada solo en los primeros 5 minutos se enciende la barra en color blanco y luego se apaga y se queda pillado.No, no es normal que tarde tanto…

¿Has probado a desempaquetar el RAM disk en /data/local/tmp en lugar de en el directorio que sugiero principalmente (tareasboot)? Lo digo en el tutorial porque es importante a tenerlo en cuenta, puede que vuestra actual ROM dé fallo al desempaquetarlo en la memoria interna. Aún así, para asegurarte, prueba con mi RAM disk para CM10.1, debería de funcionar…

Ultracity
21/10/13, 00:08:09
Gracias por tomarte la molestia de traducirlo, Dani.

Enorme :aplauso:

DaniPhii
21/10/13, 06:49:01
Gracias por tomarte la molestia de traducirlo, Dani.

Enorme :aplauso:

No es molestia siempre que ayude a alguien. Al contrario, un placer. :)

kingknuts
21/10/13, 09:55:44
¿Has probado a desempaquetar el RAM disk en /data/local/tmp en lugar de en el directorio que sugiero principalmente (tareasboot)? Lo digo en el tutorial porque es importante a tenerlo en cuenta, puede que vuestra actual ROM dé fallo al desempaquetarlo en la memoria interna. Aún así, para asegurarte, prueba con mi RAM disk para CM10.1, debería de funcionar…

Si si, tal cual y con tu ram disk incluido en el zip

DaniPhii
21/10/13, 14:31:43
Si si, tal cual y con tu ram disk incluido en el zip
Pues no lo entiendo. O_O'
No caigo en qué podéis haber hecho diferente o qué diferencia puede haber para algunos de vosotros.
¿A alguien más le ha pasado esto aparte de a ellos dos?

kingknuts
02/11/13, 17:44:04
Pues no lo entiendo. O_O'
No caigo en qué podéis haber hecho diferente o qué diferencia puede haber para algunos de vosotros.
¿A alguien más le ha pasado esto aparte de a ellos dos?

Podrias subir las roms que empleaste en el tuto??
Igual es porque usamos rom diferentes a las que tu usas.
Asi todo lo he vuelto hacer y nada. Se queda trabado en el mismo sitio en el logo de sony xperia

kingknuts
11/11/13, 19:51:26
Jope daniphii ya no responde

DaniPhii
12/11/13, 08:10:37
Jope daniphii ya no respondePerdona, no sé cómo se me pasó contestarte… Podrias subir las roms que empleaste en el tuto??
Igual es porque usamos rom diferentes a las que tu usas.
Asi todo lo he vuelto hacer y nada. Se queda trabado en el mismo sitio en el logo de sony xperiaHe probado con más ROMs y kernels y me sigue funcionando, así que no es por eso. Queda descartado…

neton1990
12/11/13, 13:42:10
yo hace tiempo que no lo sigo intentando por falta de tiempo, pero es que es rarisimo
cuando lo hacia estoy seguro de que no se me escapaba nada y el problema salia al instalar la segunda ROM, no se...
lo que si recuerdo (por si no lo puse en su dia y si sirviese de ayuda) es que una vez hecho todo el proceso y sin instalar la ROM secundaria, si seleccionaba la secundaria en el boot menu autamaticamente se arrancaba la primaria, exactamente lo mismo que pasaba cuando ya habia instalado la segunda... era como si aun habiendola instalado no se hubiese instalado... no se si me explico...

kingknuts
12/11/13, 16:45:19
si eso si me paso pero bueno igual un video tutorial (si es posible) no estaria mal.

DaniPhii
12/11/13, 23:07:00
yo hace tiempo que no lo sigo intentando por falta de tiempo, pero es que es rarisimo
cuando lo hacia estoy seguro de que no se me escapaba nada y el problema salia al instalar la segunda ROM, no se...
lo que si recuerdo (por si no lo puse en su dia y si sirviese de ayuda) es que una vez hecho todo el proceso y sin instalar la ROM secundaria, si seleccionaba la secundaria en el boot menu autamaticamente se arrancaba la primaria, exactamente lo mismo que pasaba cuando ya habia instalado la segunda... era como si aun habiendola instalado no se hubiese instalado... no se si me explico...si eso si me paso pero bueno igual un video tutorial (si es posible) no estaria mal.Un videotutorial para esto es absurdo, se aprecia mucho mejor sin necesidad de forzar la vista viendo las capturas de pantalla que proporciono.

Yo sigo insistiendo en que si os pasa eso, es porque las rutas que hay en vuestro settings.ini no son del todo correctas, o habéis modificado archivos de texto con un editor no compatible con Unix o cualquier otra cosa que se os escape a vosotros hacer y que también se escapa de mi intuición.

Al arrancar la ROM secundaria, NUNCA, repito, NUNCA, nunca se interferirá en el sistema, ni los datos* ni la caché de la ROM primaria. Si es así, algo hay mal hecho en todo lo contenido en la carpeta bootmenu. Yo os he dado todas las posibilidades, en post anteriores ya he mencionado qué puede ocurrir. Por lo que decís, es como si hubierais metido el mismo RAM disk para ambas ROMs, cosa que está mal hecha y los síntomas que describís se deben a eso. A cada ROM le corresponde un disco de inicio de RAM distinto.

* Cuando todo funcione bien, notaréis aún así que hay cierta parte de los datos de ambas ROMs que se dañan o corrompen. Solo es la pequeña parte de los datos que se almacenan en .android_secure, como ya comento en el tutorial. Estos datos corresponden mayoritariamente a los proveedores de contenido (carátulas de disco, información de intérprete y pistas MP3…).

kingknuts
13/11/13, 12:36:12
Por responder pero el ram disk uso el tuyo (CM10.1) y luego yo hice el de JB. Si he notado que las rutas en ics no son las mismas (/mnt/sdcard) pero con todo ya hecho la primera rom si arranca, luego cuando reinicio y accedo a la segunda rom y entro en su recovery y hago los wipes y a continuacion instalo el sistema ya no arranca ni la primera ni la segunda. Eso es lo que me pasa a mi.

kingknuts
13/11/13, 14:17:47
Bueno tonteando un poco creo que he avanzado, al arrancar la segunda rom ya no se me atasca en el logotipo xperia sony smartphone ahora eso se quita pero la pantalla se queda en negro

DaniPhii
13/11/13, 20:11:05
Por responder pero el ram disk uso el tuyo (CM10.1) y luego yo hice el de JB. Si he notado que las rutas en ics no son las mismas (/mnt/sdcard) pero con todo ya hecho la primera rom si arranca, luego cuando reinicio y accedo a la segunda rom y entro en su recovery y hago los wipes y a continuacion instalo el sistema ya no arranca ni la primera ni la segunda. Eso es lo que me pasa a mi.Bueno tonteando un poco creo que he avanzado, al arrancar la segunda rom ya no se me atasca en el logotipo xperia sony smartphone ahora eso se quita pero la pantalla se queda en negroAlgo es algo, ya nos contarás si sigues avanzando. Si no, lo que haré es lo siguiente: hacer un ZIP con la carpeta bootmenu preparada para arrancar como ROM principal una basada en Jelly Bean de stock (con el kernel Experimental v10), y como ROM secundaria dejad justo como tenéis la carpeta con el RAM disk y el kernel para CM 10.1. A ver si así conseguimos algo.

Pero de momento intentadlo otra vez. Luego me decís.

kingknuts
14/11/13, 11:20:23
Algo es algo, ya nos contarás si sigues avanzando. Si no, lo que haré es lo siguiente: hacer un ZIP con la carpeta bootmenu preparada para arrancar como ROM principal una basada en Jelly Bean de stock (con el kernel Experimental v10), y como ROM secundaria dejad justo como tenéis la carpeta con el RAM disk y el kernel para CM 10.1. A ver si así conseguimos algo.

Pero de momento intentadlo otra vez. Luego me decís.

De acuerdo

kingknuts
17/11/13, 23:44:22
DANIPHII!!!!!!!!!!!!!!!
Me funciono!!!!!!!!
con tu nuevo archivo de Cyanogenmod 11 use ese zip volvi a hacer el tuto de cero y tachan!!!!
ahora eso si lo intento con otra rom y nada
Pero es igual estoy super contento!!!!!!
Rom: MIUI 4.0.4 ICS y Cyanogenmod 11.0

Garcia98
18/11/13, 00:09:43
DANIPHII!!!!!!!!!!!!!!!
Me funciono!!!!!!!!
con tu nuevo archivo de Cyanogenmod 11 use ese zip volvi a hacer el tuto de cero y tachan!!!!
ahora eso si lo intento con otra rom y nada
Pero es igual estoy super contento!!!!!!
Rom: MIUI 4.0.4 ICS y Cyanogenmod 11.0

Pero si CM 11 todavía no es usable xD

kingknuts
18/11/13, 11:07:06
Pero si CM 11 todavía no es usable xD

Toda la razon que tienes pero por lo menos me arranca que antes no podia con ninguna aunque esta no funcione jajaja:platano:X-DX-DX-D

DaniPhii
18/11/13, 13:26:38
DANIPHII!!!!!!!!!!!!!!!
Me funciono!!!!!!!!
con tu nuevo archivo de Cyanogenmod 11 use ese zip volvi a hacer el tuto de cero y tachan!!!!
ahora eso si lo intento con otra rom y nada
Pero es igual estoy super contento!!!!!!
Rom: MIUI 4.0.4 ICS y Cyanogenmod 11.0Pero si CM 11 todavía no es usable xDToda la razon que tienes pero por lo menos me arranca que antes no podia con ninguna aunque esta no funcione jajaja:platano:X-DX-DX-DPFFF... JAJAJAJAJA... Me ha encantado tu reacción, jajaja... ¡Me alegro mucho, hombre!

Ahora acabo de pensar en algo que es lo que os puede pasar con el RAM disk del kernel de otras ROMs, lo que no me explico es por qué no conseguís dual boot con el RAM disk para arrancar CM 10.1 como ROM secundaria... por eso lo descarto, pero aún así voy a añadir eso que se me ha ocurrido al tutorial ahora mismo.

kingknuts
18/11/13, 13:44:49
Pues si porque acabo de intentarlo con la rom de diego galaxy xu y no me funciona pero pongo el de cm11 y si funciona

DaniPhii
18/11/13, 16:43:01
Pues si porque acabo de intentarlo con la rom de diego galaxy xu y no me funciona pero pongo el de cm11 y si funcionaPues ya está actualizado. Es un poco más lioso, porque puede ser que se deba a que el Recovery tiene su propio RAM disk y hay que hacer dos veces un mismo proceso y uno dentro de otro. Pero dicho así suena poco apetecible, lo mejor es que lo leas y me preguntes cualquier duda que te asalte. Haré una captura de pantalla si es necesario para dejarlo mejor explicado. :D

kingknuts
22/11/13, 09:07:20
Dani en CM 11 no tengo wifi pero es android 4.4... Si pongo los modulos de Jelly Bean funcionaria?? o es cosa de la rom??

DaniPhii
22/11/13, 09:18:31
Dani en CM 11 no tengo wifi pero es android 4.4... Si pongo los modulos de Jelly Bean funcionaria?? o es cosa de la rom??No, tranquilo, es problema de la ROM. Date cuenta que han empezado a desarrollarla hace nada prácticamente.

Por cierto, ¿viste todo lo nuevo que añadí al tutorial? Lo he reorganizado, ahora es más fácil de seguir.

kingknuts
22/11/13, 11:57:52
No, tranquilo, es problema de la ROM. Date cuenta que han empezado a desarrollarla hace nada prácticamente.

Por cierto, ¿viste todo lo nuevo que añadí al tutorial? Lo he reorganizado, ahora es más fácil de seguir.

Por supuesto, pero me quedo con cm11 y con su segunda nightly hasta que saquen la siguiente.

cuando me canse y quiera cambiar de rom volvere a hacer todo el tuto

DaniPhii
22/11/13, 13:32:58
cuando me canse y quiera cambiar de rom volvere a hacer todo el tuto
No hace falta que vuelvas a hacer las particiones, tan solo seguir la parte del tutorial donde explico cómo editar el RAM disk del kernel que quieras usar con la ROM que instales como secundaria, y también la parte donde explico cómo editar el updater script. :D

DaniPhii
25/11/13, 14:44:30
He actualizado el tutorial con una captura de pantalla más para mostraros un caso donde podríamos haber sufrido daños en una de nuestras particiones a lo largo del uso. Podemos ver cómo repararla sin necesidad de borrarla y crear otra:

http://www.htcmania.com/attachment.php?attachmentid=415707&d=1385386405

Creo que no se os dará el caso nunca, pero por si acaso, ahí lo tenéis.

En mi caso, se había dañado concretamente la Dalvik, entonces al intentar arrancar la ROM la pantalla pegaba un destello y se apagaba. Como la Dalvik está en la partición /data, he montado solo esa partición para analizarla y la he reparado. Después he hecho un wipe de las cachés y ha arrancado con total normalidad. :D

Espero que os sirva. ¡Un saludo! :)

kingknuts
26/11/13, 00:03:48
Dani subiras el nuevo kernel para el fix del wifi?? lo he intentado pero no lo he conseguido...

DaniPhii
26/11/13, 03:44:20
Dani subiras el nuevo kernel para el fix del wifi?? lo he intentado pero no lo he conseguido...Pero si lleva subido casi unos dos días... Comprueba que tienes el último RAM disk editado. Lo actualizo siempre en el mismo post.

kingknuts
26/11/13, 09:51:18
Pero si lleva subido casi unos dos días... Comprueba que tienes el último RAM disk editado. Lo actualizo siempre en el mismo post.

S pero es que ya estaba otra nightly despues del que tu subistes. Lo borre todo lo volvi a hacer con mas calma y ya lo volvi a conseguir y ahora si tengo wifi, gracias por subirlo.

DaniPhii
26/11/13, 12:45:48
S pero es que ya estaba otra nightly despues del que tu subistes. Lo borre todo lo volvi a hacer con mas calma y ya lo volvi a conseguir y ahora si tengo wifi, gracias por subirlo.Y justo después de estar disponible la última nightly actualicé el RAM disk y las fechas. xD

Lo tendrías sin actualizar. :D

rperezan
02/12/13, 00:05:35
Hola Dani,

En primer lugar, enhorabuena por el tutorial y por el trabajo que estás haciendo. Un 10!!!!

Bueno, he estado siguiendo el tutorial, y he llegado a un problema. No sé si será culpa de algún error mio, o que, pero bueno, te cuento. Mi ROM principal es XNovathor JB 4.2.1 (no me acuerdo de la versión de la ROM que tengo, supong que la v3 ó v4) e intento instalar como ROM secundaria CM11, siguiendo tu CM11-nightly-20131129-as-secondary-ROM.zip de XDA.

- He hecho todo el proceso (espero que bien) salvo lo de arrancar en modo ADB cuando está el menu del multiboot. No me reconoce los drivers... Tengo un setup un poco especial: Mi OSX no reconoce el movil en modo adb, y lo he tenido que hacer con una máquina virtual XP. Ahí he instalado los drivers adb normales y esos me funcionan (es decir, con el teléfono arriba). Pero cuando está el recovery, pues no hay manera. Por tanto, no he podido hacer los pasos de tune2fs. ¿Son tan importantes? Si luego vas a formatear de nuevo desde el recovery los fs, ¿es necesario hacer eso?

- Donde me falla: Arranco la ROM secundaria (está vacia), intento instalar el ZIP modificado de CM11 y me falla el script de instalación. Me dice:
I: Can't partition non mmcblk device: /devices/sdi4/mmc_host/mmc1/mmc1

He mirado en el script, y no veo referencias a esa particion...

¿Tienes alguna idea de por donde pueden ir los tiros? Tiene que ver con el paso que no he podido hacer o es por otra cosa?

Saludos y muchas gracias por adelantado!
Raúl

PD: Se me ha hecho un poco tarde, y no he investigado en profundidad por los foros antes de preguntar. Quizá sea una chorrada. Si es así, lo siento...

DaniPhii
02/12/13, 10:56:26
Hola Dani,

En primer lugar, enhorabuena por el tutorial y por el trabajo que estás haciendo. Un 10!!!!

Bueno, he estado siguiendo el tutorial, y he llegado a un problema. No sé si será culpa de algún error mio, o que, pero bueno, te cuento. Mi ROM principal es XNovathor JB 4.2.1 (no me acuerdo de la versión de la ROM que tengo, supong que la v3 ó v4) e intento instalar como ROM secundaria CM11, siguiendo tu CM11-nightly-20131129-as-secondary-ROM.zip de XDA.

- He hecho todo el proceso (espero que bien) salvo lo de arrancar en modo ADB cuando está el menu del multiboot. No me reconoce los drivers... Tengo un setup un poco especial: Mi OSX no reconoce el movil en modo adb, y lo he tenido que hacer con una máquina virtual XP. Ahí he instalado los drivers adb normales y esos me funcionan (es decir, con el teléfono arriba). Pero cuando está el recovery, pues no hay manera. Por tanto, no he podido hacer los pasos de tune2fs. ¿Son tan importantes? Si luego vas a formatear de nuevo desde el recovery los fs, ¿es necesario hacer eso?

- Donde me falla: Arranco la ROM secundaria (está vacia), intento instalar el ZIP modificado de CM11 y me falla el script de instalación. Me dice:
I: Can't partition non mmcblk device: /devices/sdi4/mmc_host/mmc1/mmc1

He mirado en el script, y no veo referencias a esa particion...

¿Tienes alguna idea de por donde pueden ir los tiros? Tiene que ver con el paso que no he podido hacer o es por otra cosa?

Saludos y muchas gracias por adelantado!
Raúl

PD: Se me ha hecho un poco tarde, y no he investigado en profundidad por los foros antes de preguntar. Quizá sea una chorrada. Si es así, lo siento...
¡Buenas de nuevo, Raúl!

En primer lugar (para ir por el mismo orden que tú, jejeje)... ¡Muchas gracias por tu cumplido! Se hace lo que se puede, intentando mejorar cada día. :D

Los pasos que te saltas son totalmente necesarios, sí.

El comando make_ext4fs da un formato completo a las particiones y prepara el sistema de archivos para que sea utilizable (y sobre todo, formateable desde el Recovery).

El comando e2fsck comprueba el sistema de archivos una vez creado para verificar que todos los bloques de memoria están correctos.

El comando tune2fs sirve para predeterminar ciertas opciones cada vez que las particiones /data y /cache sean montadas en los dispositivos loop2 y loop3 respectivamente. En concreto, configuran esas dos particiones para que, en caso de un cierre sucio del sistema, pueda conservarse la información sin que se dañe (lo cual no es necesario para la partición /system, pues donde hay un continuo flujo de datos es en las otras particiones).

Cuando las particiones son formateadas desde el Recovery Menu, necesitan tener previamente un formato correcto, si no, te ocurrirá algo parecido a lo que muestro en la tercera captura del último resultado del apartado 2.3.

Yo también tuve problemas con los drivers y lo solucioné desinstalándolos y reinstalándolos una vez conectado estando ya en el Xperia Boot Menu.

En cuanto al error del script, te paso el mío por si te has confundido en algo, pero creo que es problema del formato de las particiones, que al no ser correcto, no puede acceder a ellas. Recuerda que las particiones secundarias se encuentran en el dispositivo /devices/sdi4/mmc_host/mmc1/mmc1 (es como reconoce KitKat nuestro almacenamiento interno, luego este es montado en /sde y en /storage/sdcard0, por lo que la referencia está en el RAM disk).

Aquí está mi updater-script. He marcado en negrita las partes importantes:mount("ext4", "EMMC", "/dev/block/loop1", "/system");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
show_progress(0.500000, 0);
format("ext4", "EMMC", "/dev/block/loop1", "0", "/system");
mount("ext4", "EMMC", "/dev/block/loop1", "/system");
package_extract_dir("system", "/system");
symlink("../xbin/su", "/system/bin/su");
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash",
"/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename",
"/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev",
"/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat",
"/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat",
"/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp",
"/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot",
"/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm",
"/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond",
"/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date",
"/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod",
"/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff",
"/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd",
"/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo",
"/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env",
"/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false",
"/system/xbin/fbsplash", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/flash_lock",
"/system/xbin/flash_unlock", "/system/xbin/flashcp",
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fstrim", "/system/xbin/fsync",
"/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser",
"/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups",
"/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/inetd", "/system/xbin/insmod",
"/system/xbin/install", "/system/xbin/ionice", "/system/xbin/iostat",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/less", "/system/xbin/ln",
"/system/xbin/losetup", "/system/xbin/ls", "/system/xbin/lsattr",
"/system/xbin/lsmod", "/system/xbin/lsusb", "/system/xbin/lzcat",
"/system/xbin/lzma", "/system/xbin/lzop", "/system/xbin/lzopcat",
"/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mesg",
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
"/system/xbin/mkfs.ext2", "/system/xbin/mkfs.vfat",
"/system/xbin/mknod", "/system/xbin/mkswap", "/system/xbin/mktemp",
"/system/xbin/modinfo", "/system/xbin/modprobe", "/system/xbin/more",
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mpstat",
"/system/xbin/mv", "/system/xbin/nanddump", "/system/xbin/nandwrite",
"/system/xbin/nbd-client", "/system/xbin/netstat", "/system/xbin/nice",
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pipe_progress",
"/system/xbin/pkill", "/system/xbin/pmap", "/system/xbin/poweroff",
"/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps",
"/system/xbin/pstree", "/system/xbin/pwd", "/system/xbin/pwdx",
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize",
"/system/xbin/rev", "/system/xbin/rm", "/system/xbin/rmdir",
"/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/run-parts",
"/system/xbin/rx", "/system/xbin/sed", "/system/xbin/seq",
"/system/xbin/setconsole", "/system/xbin/setserial",
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum",
"/system/xbin/sha256sum", "/system/xbin/sha3sum",
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
"/system/xbin/taskset", "/system/xbin/tee", "/system/xbin/telnet",
"/system/xbin/telnetd", "/system/xbin/test", "/system/xbin/tftp",
"/system/xbin/tftpd", "/system/xbin/time", "/system/xbin/timeout",
"/system/xbin/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize",
"/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname",
"/system/xbin/uncompress", "/system/xbin/unexpand", "/system/xbin/uniq",
"/system/xbin/unix2dos", "/system/xbin/unlzma", "/system/xbin/unlzop",
"/system/xbin/unxz", "/system/xbin/unzip", "/system/xbin/uptime",
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode",
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc",
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami",
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat",
"/system/xbin/yes",
"/system/xbin/zcat");
symlink("libGLESv2.so", "/system/lib/libGLESv3.so");
symlink("logcat", "/system/bin/lolcat");
symlink("mksh", "/system/bin/sh");
symlink("mount.exfat", "/system/bin/fsck.exfat",
"/system/bin/mkfs.exfat");
symlink("pigz", "/system/xbin/unpigz");
symlink("toolbox", "/system/bin/cat", "/system/bin/chcon",
"/system/bin/chmod", "/system/bin/chown", "/system/bin/clear",
"/system/bin/cmp", "/system/bin/cp", "/system/bin/date",
"/system/bin/dd", "/system/bin/df", "/system/bin/dmesg",
"/system/bin/du", "/system/bin/getenforce", "/system/bin/getevent",
"/system/bin/getprop", "/system/bin/getsebool", "/system/bin/grep",
"/system/bin/hd", "/system/bin/id", "/system/bin/ifconfig",
"/system/bin/iftop", "/system/bin/insmod", "/system/bin/ioctl",
"/system/bin/ionice", "/system/bin/kill", "/system/bin/ln",
"/system/bin/load_policy", "/system/bin/log", "/system/bin/ls",
"/system/bin/lsmod", "/system/bin/lsof", "/system/bin/md5",
"/system/bin/mkdir", "/system/bin/mkswap", "/system/bin/mount",
"/system/bin/mv", "/system/bin/nandread", "/system/bin/netstat",
"/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv",
"/system/bin/ps", "/system/bin/r", "/system/bin/readlink",
"/system/bin/renice", "/system/bin/restart", "/system/bin/restorecon",
"/system/bin/rm", "/system/bin/rmdir", "/system/bin/rmmod",
"/system/bin/route", "/system/bin/runcon", "/system/bin/schedtop",
"/system/bin/sendevent", "/system/bin/setconsole",
"/system/bin/setenforce", "/system/bin/setfattr", "/system/bin/setprop",
"/system/bin/setsebool", "/system/bin/sleep", "/system/bin/smd",
"/system/bin/start", "/system/bin/stop", "/system/bin/swapoff",
"/system/bin/swapon", "/system/bin/sync", "/system/bin/top",
"/system/bin/touch", "/system/bin/umount", "/system/bin/uptime",
"/system/bin/vmstat", "/system/bin/watchprops",
"/system/bin/wipe");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 0, 0755, 0755, "/system/addon.d");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 0, 0755, "/system/bin/ping");
set_perm(0, 2000, 0750, "/system/bin/run-as");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 2000, 0755, "/system/vendor");
set_perm(0, 2000, 0755, "/system/vendor/camera");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/etc");
set_perm(0, 0, 0644, "/system/vendor/etc/audio_effects.conf");
set_perm(0, 2000, 0755, "/system/vendor/lib");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/lib/drm");
set_perm(0, 0, 0644, "/system/vendor/lib/drm/libdrmwvmplugin.so");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
show_progress(0.200000, 10);
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "restore");
delete("/system/bin/backuptool.sh");
delete("/system/bin/backuptool.functions");
package_extract_file("system/bin/modelid_cfg.sh", "/tmp/modelid_cfg.sh");
set_perm(0, 0, 0777, "/tmp/modelid_cfg.sh");
run_program("/tmp/modelid_cfg.sh", "");
show_progress(0.200000, 10);
[Esta línea la he borrado, aquí estaba el comando que instala el boot.img]
show_progress(0.100000, 0);
unmount("/system");
Espero que te sirva mi respuesta. De no ser así, puedes volver por aquí, que aunque tengas la sensación de no haber investigado lo suficiente, se nota que haces todo lo posible para resolver por ti mismo los problemas con los que te vas encontrando. Sería una chorrada si no le hubieras dado vueltas y quisieras que te hicieran todo el trabajo sin leer nada. Ese es el caso de muchos que vienen con la excusa de "es que soy nuevo en esto de los foros". Pero tengo un mínimo de idea para saber que para nada eres de esos. :-)

Así que ya sabes. Cualquier "chorrada" más con la que te tropieces, no tienes más que preguntar de nuevo. :D

¡Un saludo! :cucu:

rperezan
02/12/13, 17:54:59
Hola!

Gracias por la detallada respuesta. Volveré a probar cuando pueda (no sé si mi novia me dejará hoy ;) )

En cuanto a lo del "formateo", entiendo tu respuesta. Mi pregunta va en la línea de que cuando más adelante se hace esto que dices:

Una vez hayáis terminado, actualizar el script en el ZIP con compresión "deflate" o "store" (dependiendo de si usáis 7-Zip o WinRAR), copiadlo a la memoria interna, reiniciad el teléfono, iniciar la ROM secundaria, entrar en el Recovery de la ROM secundaria, formatear /system, /data y /cache, instalar el ZIP y reiniciad el teléfono de nuevo. Ahora ya debería de arrancar tanto una ROM como otra si habéis hecho todo como indico. ¡Disfrutad!

Las partes en negrita dicen RE-FORMATEAR lo que supuestamente han hecho estos comandos. Esto yo lo he hecho. Mi "idea" es: ¿Si luego el Recovery va a formatear /system, /data y /cache y seguramente con las opciones del filesystem correctas, por qué tengo que pre-formatearlas yo antes?

Pero bueno, mientras respondes o lo piensas, intentaré borrar los #$%& drivers del USB... no sé de quien sería la idea o cual es el motivo de tener drivers distintos para el teléfono en función del modo, pero dan una guerra qué pá qué... :loco:

Gracias!!! :dios:
Raúl

PD: gracias por aclarar lo de "/devices/sdi4/mmc_host/mmc1/mmc1"- No lo sabia...

DaniPhii
03/12/13, 05:16:43
Las partes en negrita dicen RE-FORMATEAR lo que supuestamente han hecho estos comandos. Esto yo lo he hecho. Mi "idea" es: ¿Si luego el Recovery va a formatear /system, /data y /cache y seguramente con las opciones del filesystem correctas, por qué tengo que pre-formatearlas yo antes?Es fácil, te explico.

Si te fijas, después de montar las particiones con el comando losetup y formatearlas por primera vez, siguen unos comandos para verificar y ajustar las particiones, como ya he explicado más arriba. ¿Por qué formatearlas de nuevo desde el Recovery? Porque el Recovery da un formato distinto. Las particiones están preparadas para ser utilizadas, sí, pero las circunstancias en las que se encuentran no son convencionales. Las particiones secundarias están en un bloque de memoria (el almacenamiento interno) que se lee con una velocidad superior que nuestras particiones primarias y además están particionadas con un tamaño de bloque cuatro veces mayor. No es probable, pero al formatear de nuevo desde el Recovery, además de preparar las particiones para el flasheo de una ROM, comprobaremos si son estables o no. Si al hacer esto se reinicia de golpe el teléfono, es que hay un fallo en las particiones que se ha producido nada más realizarlas, lo cual indica que hemos hecho las particiones en un almacenamiento interno con errores previos en el formato. Por eso formateamos de nuevo, porque si se da un caso parecido, tendríamos que repetir el particionado, pero haciendo antes un formateo completo de todo nuestro almacenamiento interno. Puede parecer una comprobación, pero como ya he dicho, desde el Recovery el formateo es distinto, también se crea una estructura de carpetas según lo predetermine el RAM disk, y así las particiones quedan preparadas no solo para su uso, sino también para el flasheo de cualquier ZIP compatible. :)
Pero bueno, mientras respondes o lo piensas, intentaré borrar los #$%& drivers del USB... no sé de quien sería la idea o cual es el motivo de tener drivers distintos para el teléfono en función del modo, pero dan una guerra qué pá qué... :loco:

Gracias!!! :dios:
Raúl

PD: gracias por aclarar lo de "/devices/sdi4/mmc_host/mmc1/mmc1"- No lo sabia...Espero que tengas suerte con los drivers. :D

¡Un saludo! ^^

P.D. No hay de qué, intento aclarar todo lo máximo posible, ya lo ves. :D

illescash
06/12/13, 01:56:37
DaniPhii me de dice el adb que el "loop1" está aparentemente en uso
mke2fs -T ext4 -O has_journal,extent,huge_file,flex_bg,uninit_bg,dir _nlink,extra_isize -U UUID "mi valor :sisi1: del blkid " -I 256 /dev/block/loop1
y no puedo seguir..

rperezan
06/12/13, 12:41:22
Dani,
Muchas gracias por tus consejos, pero he tenido un problema inesperado: Se me ha roto la toma de auriculares del móvil y tengo que llevar a reparar. Ya sabes... Relock bootloader, instalar SW stock, llevarlo a la tienda... Total, que parón. Tengo cita para dentro de una semana, por lo que volveré a la carga en navidades ;)
Gracias!

DaniPhii
06/12/13, 13:34:30
DaniPhii me de dice el adb que el "loop1" está aparentemente en uso
mke2fs -T ext4 -O has_journal,extent,huge_file,flex_bg,uninit_bg,dir _nlink,extra_isize -U UUID "mi valor :sisi1: del blkid " -I 256 /dev/block/loop1
y no puedo seguir..Hmmm… ¿Lo has intentado varias veces y te sigue pasando?

illescash
08/12/13, 22:40:38
Hmmm… ¿Lo has intentado varias veces y te sigue pasando?

Sí, además volví a instalar la rom de 0.
Podría ser algún módulo del xposed?, no se me ocurre que puede ser.
También creo recordar que había una manera de entrar al s.o en modo seguro.. ¿crees que sea viable?.. :loco:
Me duele estar así parado.. viendo la utilidad que tiene este método.. además de que explicas todo al dedillo

http://thumbs.subefotos.com/53483419880ac37e2a718b775af3fb6ao.jpg (http://subefotos.com/ver/?53483419880ac37e2a718b775af3fb6ao.jpg)

DaniPhii
10/12/13, 12:41:29
Sí, además volví a instalar la rom de 0.
Podría ser algún módulo del xposed?, no se me ocurre que puede ser.
También creo recordar que había una manera de entrar al s.o en modo seguro.. ¿crees que sea viable?.. :loco:
Me duele estar así parado.. viendo la utilidad que tiene este método.. además de que explicas todo al dedilloPues no lo sé. Quizá sea eso. De lo que tiene pinta es de que algún proceso en segundo plano se queda pillado usando el dispositivo y luego no puedes acceder al mismo para trabajar sobre él. Por tanto, es problema de la ROM o de cualquier aplicación que tengas instalada y que esté abierta en segundo plano trabajando sobre el almacenamiento interno.

Puedes probar detectando de qué proceso se trata y matarlo desde ADB justo antes de seguir trabajando sobre las particiones.

Alma5
29/03/14, 00:08:36
Dani estoy teniendo problemas después de instalar el kernel de munjeni, me deja de funcionar el wifi y no lo consigo arreglar por más que reinstale los módulos del zip
PD: la rom principal es la ligth bean de diego y el kernel el experimental v12 creo, la secundaria es la última CM11
PD2: Lo he vuelto a intentar por si acaso y nada

Alma5
31/03/14, 17:21:05
¿Alguien me puede ayudar por favor?

DaniPhii
09/07/14, 13:12:09
¿Alguien me puede ayudar por favor?
¿Al final lo conseguiste? Hoy estoy peleándome con el RAM disk de la última compilación de CM11 y me he pasado por aquí para refrescarme la memoria. :)

Garcia98
10/07/14, 02:03:14
¿Al final lo conseguiste? Hoy estoy peleándome con el RAM disk de la última compilación de CM11 y me he pasado por aquí para refrescarme la memoria. :)

Si tienes alguna duda pregunta :P

DaniPhii
10/07/14, 02:05:12
Si tienes alguna duda pregunta :P
Pues he editado correctamente el RAM disk pero no arranca, me parece que no ha sido tan correctamente. Acabo de actualizar a la última versión de BusyBox y he eliminado conflictos entre binarios repetidos, a ver si es de eso. Lo comprobaré mañana, que estoy que me caigo. xD

Gracias. :)

DaniPhii
20/07/14, 18:10:15
Nueva sección experimental en el tutorial.

La desarrollaré más adelante como bien explico en ella. De momento, podéis ver un adelanto de lo que podréis hacer (eso sí, si os atrevéis, estaréis asumiendo vuestra total y única responsabilidad).

Casi me quedo sin teléfono, con eso lo digo todo. xD

¡Un saludo! :D

Garcia98
20/07/14, 18:39:02
Nueva sección experimental en el tutorial.

La desarrollaré más adelante como bien explico en ella. De momento, podéis ver un adelanto de lo que podréis hacer (eso sí, si os atrevéis, estaréis asumiendo vuestra total y única responsabilidad).

Casi me quedo sin teléfono, con eso lo digo todo. xD

¡Un saludo! :D
Joder, ahora hay tantas cosas en el OP que le cuesta bajar el texto al móvil usando Tapatalk xD
Ya lo leeré cuando pueda :ok: