instalar ANDROID en PC con Linux y arrancar desde GRUB2

android[Nueva versión simplificada y testada en abril de 2016]

Vamos a instalar ANDROID en nuestro ordenador con Linux.

Instalarlo en un disco duro vacío no tiene ningún misterio, se descarga la imagen ISO especial para x86 aquí: http://www.android-x86.org/download  y se instala sin más desde un lápiz USB en el que hemos volcado la ISO haciéndola arrancable desde la BIOS, por ejemplo con imagewriter.

Pero lo interesante es instalar ANDROID junto a los otros sistemas operativos que tengamos en la máquina. Se puede instalar dentro de una partición del disco duro que ya tengamos, pues el instalador crea un directorio propio llamado android-4.4 (por ejemplo) donde meterá todo ANDROID. La única condición para hacer esto es NO formatear la partición al instalar (lógico) y que esta partición esté en los sistemas de archivos ext3, ext2, ntfs o fat32.

Como en mi caso tengo todos los sistemas operativos de mi máquina en ext4, voy a instalar ANDROID en su propia partición, que es además lo más recomendable.

ANDROID necesita una única partición. Yo le he asignado una partición de 20 GB formateada en ext3, sólo para él.

NOTA: es importante saber cual es la partición en la que vamos a instalarlo, por lo que en consola ponemos: sudo fdisk -l y ahí veremos nuestras particiones.

En nuestro ejemplo supongamos que tenemos:

dev/sda1   la raíz de nuestra distro    /

dev/sda2   la home    /home

dev/sda3    la SWAP

dev/sda4    (en esta es en la que vamos a instalar ANDROID)

INSTALACIÓN:

1. arrancamos el USB con la ISO de instalación y elegimos instalar ANDROID.

2. seleccionamos la partición donde lo vamos a instalar (en nuestro ejemplo sda4)

3. formateamos la partición en ext3, por ejemplo.

4. luego nos pregunta si queremos instalar GRUB, aquí es muy importante responder NO (skyp)

5. pregunta si queremos que la partición esté en modo lectura/escritura, respondemos sí.

6. y en unos segundos estará instalado.

7. reiniciamos. ANDROID ya está instalado pero aún no se puede arrancar pues no aparece en GRUB2.

Configuración de GRUB2 para que arranque ANDROID:

Arrancamos la distro Linux que tengamos ya instalada en el ordenador y en la que ya teníamos instalado como gestor de arranque GRUB2.

Vamos allá:

en nuestro navegador de archivos montamos la partición donde está ANDROID, normalmente estará en Equipo y se llamará Android-x86. Vemos que en ella hay una única carpeta que se llama android-x86-5.1 (o el número de versión que sea), yo voy a renombrarla a solamente android (esto es interesante pues así podré, si quiero, instalar más adelante otras versiones más modernas de ANDROID que crearán un nuevo directorio android-X.x que sintocar lo anterior, y sólo con renombrar a android, esa será la versión que arranque sin tener que editar de nuevo GRUB2).

Editamos GRUB2:

vamos a /etc/grub.d/ donde está el archivo 40_custom  (este es el archivo para añadir entradas personalizadas en GRUB2)
lo editamos como root y añadimos al final:

menuentry "ANDROID" --class android {
set root=(hd0,4)
linux /android/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 video=-16 SRC=/android
initrd /android/initrd.img
}

ATENCIÓN: aquí tienes que ponerle el número adecuado según tu partición, como en mi caso es la partición 4  (dev/sda4)  por eso en mi caso es set root=(hd0,4) (tú le pones el número según la tuya). No olvides también que yo he llamado sólo android al directorio, por lo que si en tu caso se llama android-5.1 o como sea  deberás corregir las rutas /android/kernel, SRC=/android y /android/initrd.img

Guardamos el archivo con los cambios.

Recomiendo que compruebes que tienes instalado el paquete os-prober en tu distro, pues es el programita que se encarga de reconocer todos los sistemas operativos que tengas instalados para colocarles una entrada en GRUB. Si no está instalado hazlo ahora.

Y para terminar abrimos un terminal y ponemos:

sudo update-grub

(en algunas distros esto no funciona, pero como realmente es un script que lo que hace es:

sudo grub-mkconfig -o /boot/grub/grub.cfg

eso actualizará los cambios en GRUB para arrancar ANDROID.

en algunas distros como OpenSuse o Gentoo es

sudo grub2-mkconfig -o /boot/grub/grub.cfg

Y voila !!!

si todo ha ido bien, podemos reiniciar el ordenador y en el listado de arranque veremos la entrada ANDROID.
Y ya tendremos el archifamoso sistema operativo del robotito verde en nuestra máquina para juguetear con todas las estupideces de las app de ANDROID, como todo el mundo.

androidx86

Anuncio publicitario

31 opiniones en “instalar ANDROID en PC con Linux y arrancar desde GRUB2”

  1. Hola
    Primero decir que tengo muy poca idea del uso LINUX. Yo utilizo en el movil una aplicación que es exclusiva para android, y al ver este blog sobre la instalación de Android en el PC me interesó para poder verla en una pantalla mas grande. Instalé el Ubuntu 13.10, he hice la partición para instalar el Android x86 (4.4), instalé el android y hasta ahí todo perfecto, el problema lo estoy teniendo al querer añadirlo al arranque (GRUB2). He seguido todos los pasos indicados en el tutorial, editando el archivo «40_custom» de la siguiente forma (la primera parte la he dejado tal y como estaba en el archivo, y la parte descrita por ti la he puesto a continuación):

    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries. Simply type the
    # menu entries you want to add after this comment. Be careful not to change
    # the ‘exec tail’ line above.
    # menuentry “ANDROID” {
    # search –no-floppy –fs-uuid –set=root 7b10a2e4-edc0-40f3-9840-12c06bcad673
    # linux /android-4.4-RC1/kernel quiet root=/dev/ram0
    # androidboot.hardware=asus_laptop acpi_sleep=s3_bios,s3_mode
    # SRC=/android-4.4-RC1
    # initrd /android-4.4-RC1/initrd.img}

    y de esta otra (sin las almuadillas tal como lo tienes en el tutorial):

    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries. Simply type the
    # menu entries you want to add after this comment. Be careful not to change
    # the ‘exec tail’ line above.
    menuentry “ANDROID” {
    search –no-floppy –fs-uuid –set=root 7b10a2e4-edc0-40f3-9840-12c06bcad673
    linux /android-4.4-RC1/kernel quiet root=/dev/ram0
    androidboot.hardware=asus_laptop acpi_sleep=s3_bios,s3_mode
    SRC=/android-4.4-RC1
    initrd /android-4.4-RC1/initrd.img}

    No ha funcionado de ninguna de las dos maneras. Sigue apareciendo en el arranque, el grub que instala por defecto el Ubuntu. También he probado, al mismo tiempo que editaba este archivo, editar el boot/grub/grub.cfg y añadir en el apartado:

    ### BEGIN /etc/grub.d/40_custom ####

    lo mismo que en el archivo 40_custom, pero tampoco ha funcionado.
    Ya se me han acabado las ideas, si me pudieras decir que es lo que puedo estar haciendo mal me ayudaría mucho.

    Saludos y gracias por tus aportes

  2. hola, en mi archivo 40_custom sólo aparece sin almohadilla:
    exec tail -n +3 $0
    que ya estaba así, sólo eso. Luego debe de aparecer la entrada que saldrá en el menú de grub2. Cuidado que no haya líneas sueltas antes de la entrada sin almohadilla, y de que estén las llaves de comienzo y final en la entrada.
    No te olvides de hacer: sudo update-grub
    o sudo grub-mkconfig -o /boot/grub/grub.cfg
    eso lo que hará será leer las modificaciones de 40_custom e incorporarlas al archivo grub.cfg en /boot. De hecho, tras actualizar el grub, puedes mirar en el editor de texto si ha incorporado la nueva entrada al final del archivo, pues en el arranque, será el contenido de grub.cfg lo que cargue. Lo más dificil al editar Grub es que arranque la entrada de Android, a mí me costó varios intentos pues casi siempre se comenten errores de rutas o de sintaxis, pero que te cargue la entrada no debería ser problema alguno.
    Un saludo.

  3. Lo interesante seria poder instalar el grub en la particion root de android. De este modo, se puede tener un cargador maestro para iniciar cualquier tipo de sistema operativo que tengamos instalado en el ordenador.

  4. En el c’odigo
    menuentry “ANDROID” {
    search –no-floppy –fs-uuid –set=root 57c88c02-b663-467e-aeae-d29cad405250
    linux /android/kernel quiet root=/dev/ram0 androidboot.hardware=asus_laptop acpi_sleep=s3_bios,s3_mode SRC=/android
    initrd /android/initrd.img}
    s’olo hay que cambiar el UUID? o tambi’en el nombre del equipo donde tu pones asus_laptop y reemplazarlo por el mio?
    Gracias!

  5. Hola segui todos tus pasos bien hasta el momento de actualizar el grub, para detectar la entrada android, pero no me reconoce la ruta, lo he instalado por usb en la sda2 en formato ext3. Pero al montar la particion en ubuntu la carpeta android-4.4-Rc2 sale con la ruta /media/miusuario/androidx86/android-4.4-Rc2/ y aparecen el kernel, inimgr, y lo demás, quiero saber si cuando lo montas sale en la misma dirección u otra para corregirlo en el 40_custom.
    Gracias.

  6. Este es el error que me aparece:
    /etc/grub.d/40_custom.save: 1: /etc/grub.d/40_custom.save: menuentry: not found
    /etc/grub.d/40_custom.save: 3: /etc/grub.d/40_custom.save: linux: not found
    /etc/grub.d/40_custom.save: 4: /etc/grub.d/40_custom.save: initrd: not found
    /etc/grub.d/40_custom.save.2: 1: /etc/grub.d/40_custom.save.2: menuentry: not found
    /etc/grub.d/40_custom.save.2: 3: /etc/grub.d/40_custom.save.2: linux: not found
    /etc/grub.d/40_custom.save.2: 4: /etc/grub.d/40_custom.save.2: initrd: not found
    error: syntax error.
    error: Incorrect command.
    error: syntax error.
    Error de sintaxis en la línea 336
    Errores de sintaxis detectados en archivo de configuración generado GRUB.
    Asegúrese de que no existen errores en los archivos
    /etc/default/grub y /etc/grub.d/* o envíe un informe de error
    con el archivo /boot/grub/grub.cfg.new adjunto.
    hecho

    y el 40_custom editado con gedit es:

    menuentry “ANDROID” {
    search –no-floppy –fs-uuid –set=root 549953f8-d273-428d-8235-e25867b4458f
    linux /android-4.4-RC2/kernel quiet root=/dev/ram0 androidboot.hardware=asus_laptop acpi_sleep=s3_bios,s3_mode SRC= /android-4.4-RC2
    initrd /android-4.4-RC2/initrd.img}

    Cual es el error? O no existe algún programa que agrege SO’s al grub sin estas complicaciones.

  7. creo que tu problema viene de la ruta, ya que según dices lo has instalado en una unidad externa USB. Tienes que estar seguro de varias cosas:
    1. cual es la UUID de esa unidad externa
    2. y tener en cuenta que efectivamente, al montar esa unidad, se hará en /media/miusuario/androidx86/android-4.4-Rc2/
    por lo que las rutas de llamada de la entrada del 40_custom tienen ques ser las correctas.
    En cualquier caso instalar en un dispositivo externo USB tiene sus peculiaridades, y el manual de arriba no está pensado para ello.
    Sino para ser instalado en una partición de disco duro.
    Por ejemplo, puede ocurrir que cuando grub llame a la unidad USB aún no esté montada, y logicamente no podrá arrancarla.
    Un saludo.

  8. en el proceso de cargar android, no para de aparecer puntos como cargando pero nunca termina, de normal ese proceso tarda unos segundos pero desde el grub no pasa de hay. Alguna sugerencia?¿

    1. Eso me suena a cuando en un smartphone no se ha hecho el wipecache y el wipepaartition. Pero en un pc?¿?

      Tenias un instalacion android anterior?

      1. No,solo lo instale antes de ubuntu y también probé después, tarde un buen rato en conseguir ponerbie. El grub y me sale eso

      1. El grub lo tengo bien… creo. Mi problema es el inicio de Android,pero igualmente cuando pueda pongo lo que puse en el grub.
        PD: ya inicie el Android normal el problema es iniciarlo. Pasaré una fotp del inicio también y gracias por la ayuda.

      2. Disculpa, no he estado liado y no e podido adjuntar antes mas informacion de mis fallos.

        Y de aquí me descargue las ISO http://sourceforge.net/projects/android-x86/files/Release%204.4/
        Yo utilice la version: android-4.4-RC2

        Y ahora haciendo unas ultimas pruebas cuando dejo el proceso de «arranque de android» tarda mucho y luego se pone la pantalla en negro y parece que de hay no pasa.

        Aquí dejo las imágenes
        https://drive.google.com/folderview?id=0B4hZjXfiqJOlajVjQVBnZENjVmM&usp=sharing

        Edito el archivo «40_custom»
        -sudo nano /etc/grub.d/40_custom
        después de editarlo lo actualizo el grub
        -sudo update-grub

        Instalados
        Android 4.4 – android-4.4-RC2
        Ubuntu 12.04 (Para netbook, mas ligero)

        —DENTRO DEL ARCHIVO 40_custom»——-
        #!/bin/sh
        exec tail -n +3 $0
        # This file provides an easy way to add custom menu entries. Simply type the
        # menu entries you want to add after this comment. Be careful not to change
        # the ‘exec tail’ line above.

        ESTO ES LO AÑADIDO PARA QUE EL GRUP «ARRANQUE ANDROID» supuesta-mente.

        menuentry ‘Android-x86′ {
        recordfaild
        insmod ext3
        set root='(hd0,1)’
        search –no-floppy –fs-uuid –set 72c88598-683a-4146-9d3a-c6ea3271d243
        linux /android-4.4-RC2/kernel quiet root=/dev/ram0
        androidboot.hardware=generic_x86 acpi_sleep=s3_bios,s3_mode SRC=/android-4.4-RC2
        initrd /android-4.4-RC2/initrd.img
        }
        —————————————–

  9. bueno yo acabo de hacerlo ya me sale el nombre en el grub luego arranca y se queda en negro con una especie de consola arriba dice: aerly kernel decompresed y un abajo android@root/# y da la opcionde escribir pero de ahi no pasa quien me ayuda

    1. Hola me pasaba lo mismo, pantalla en negro con un prompt finalmente se arregló poniendo:
      androidboot.hardware=android_x86

      en vez de lo de asus_laptop (y eso que lo mío es precisamente un asus laptop xd). También en mi caso al principio no encontraba el kernel con la búsqueda de uuid así que lo tengo con set root a la partición como ha indicado josé en el comentario del principio. Es decir que me funciona con lo siguiente:

      menuentry “ANDROID” {
      set root='(hd0,msdos8)’
      linux /android/kernel root=/dev/ram0 androidboot.hardware=android_x86 acpi_sleep=s3_bios,s3_mode SRC=/android
      initrd /android/initrd.img}

      (También tengo quitado lo de «quiet» para que escriba en el booteo lo que está sucediendo.)

      Y gracias al autor por el tutorial!

  10. a mi sale esto: Device Boot Start End Blocks Id System
    /dev/sda1 * 2048 310501375 155249664 83 Linux
    /dev/sda2 310503422 312580095 1038337 5 Extended
    /dev/sda5 310503424 312580095 1038336 82 Linux swap / Solaris
    carlos@carlos-HP-Mini-110-1000

  11. Hola..
    Tengo instalado en mi notebook android x86 kitkat, a la par que windows 7, linux mint y manjaro linux. Ya he podido agregar la entrada de android al grub2 y arranca perfectamente.
    Bien, mi pregunta –y que notablemente no encuentro respuestas en ninguna parte es–, ¿existe manera de acceder desde android a las otras particiones donde está W7 y las distros linux?, sobretodo una partición NTFS donde tengo exclusivamente datos (musica, documentos, imagenes… etc). He intentado mucho como root desde el administrador de archivos de android, pero nada, no hay rastros de alguna otra carpeta, dirección de otras particiones.
    Estaré muy agradecido si saben de una solución.
    Saludos!

    1. Buenas, no he probado aún, pero tienes un programa gratuito para android llamado paragon ntfs, que permite montar discos duros o/y particiones de Mac (hfs) y WIndows (ntfs) en android. Prueba, igual tienes suerte.
      Saludos

      1. Efectivamente, como es desde Android, es una cuestión primero de permisos, pues necesitas acceso root, y en segundo lugar de software android para acceder a otras particiones o dispositivos. Como comentas que tienes acceso root prueba el programa que dice hicks1gb. A mí se me ocurría instalar GNURoot y ejecutar un linux para poder montar dispositivos (yo tengo instalado un Debian y un Gentoo en mi Android), pero tal vez sea más trabajoso.
        Un saludo.

      2. Muchas gracias por las respuestas! 🙂
        Tomo nota de todo y estaré probando que tal me funcionan esas opciones.
        Un saludo!

  12. TOdo muy bien, este tutorial hizo lo que los otros no hicieron y por eso te mereces lo mejor de la vida! Sin embargo, tengo un problemita, resulta que cuando instalaba android en una particion de 20gb con sistema de archivos ext2, y lo instalaba con el grub que trae android, cuando terminaba de instalar android, el sistema operativo muestra que usa las 20gb, pero con el inconveniente de no poder abrir Ubuntu, que es la particion principal, ahora bien, cuando instalo el android sin el grub que trae android, sale tal cual como dice aca el tutorial, pero si miro el espacio en disco solo tengo 512 mb!! a donde se va el resto de gigas que le puse de disco duro? como hago para que use las 20gb que le puse? gracias

    1. Hola,
      el grub del Android no reconoce otras particiones, lo cual es una estupidez pues debería instalar y usar os-prober para hecerlo, pero en fin, por eso hay que instalar el Android x86 sin el grub, y luego añadirle una entrada manual.
      Yo tengo una partición para Android en ext3 de 12 gb, y me reconoce perfectamente los 12 gb, no tengo ni idea porqué a ti no. Instala la versión más moderna de android 86, yo tengo ahora un android 5 (piruleta).
      Un saludo.

  13. Hace una semana instale PrimeOS (ANDROID 7) en una partición de un mismo disco GPT, desde USB uefi. actualmente tengo win10x64, puse el easy uefi y ni lo encuentra, tampoco windows desde bootrec.
    pero gracias al partition guru, encontre el grub.cfg pero me envia al android.cfg y de ahi no se como hacer para que sea WINDOWS el que arranque por defecto desde el menú del GRUB2. a continuación envío la configuración de arranque … ANDROID.CFG y después abajo el grub.cfg

    # $1 Title
    # $2… Kernel cmdline
    function add_entry {
    menuentry «PrimeOS $1» «$@» –class android-x86 {
    shift 2
    set root=$android
    linux $kdir/kernel root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug $src $@
    initrd $kdir/initrd.img
    }
    }

    # $1 EFI to chainload
    # $2 OS name
    # $3 Class
    function add_os_if_exists {
    # Is there a better way to find ESP?
    for d in hd0,gpt1 hd0,gpt2 hd1,gpt1 hd1,gpt2 hd0,msdos1 hd0,msdos2 hd1,msdos1 hd1,msdos2; do
    if [ «($d)$1» != «$cmdpath/$bootefi» -a -e ($d)$1 ]; then
    menuentry «$2 at $d ->» «$d» «$1» –class «$3» {
    set root=$2
    chainloader ($root)$3
    }
    break
    fi
    done
    }

    if [ -s $prefix/grubenv ]; then
    load_env
    fi

    if [ «$grub_cpu» = «i386» ]; then
    set bootefi=bootia32.efi
    set grub=grubia32
    else
    set bootefi=BOOTx64.EFI
    set grub=grubx64
    fi

    if [ -z «$src» -a -n «$isofile» ]; then
    set src=iso-scan/filename=$isofile
    fi

    archivo grub.cfg

    set timeout=10
    set debug_mode=»(DEBUG mode)»
    set kdir=/android

    source $cmdpath/android.cfg

  14. Hola a todos:

    Yo tengo en un portátil 4 particiones:
    sda1 con el boot
    sda2 con linux mint
    sda3 con windows 10
    sda4 con linuxMint

    tras tener instalado el arranque dual con linux Mint y windows 10 me he lanzado a instalar Android en la sda4 (y pasar a un arranque triple) y me he encontrado que sólo detecta el windows 10, NO DETECTA el linux Mint, quedándome un arranque dual de Android y Windows 10. En el menú donde se elige el sistema operativo aparece:

    ANDROID-X86 9.0-R2
    ANDROID-X86 9.0-R2 (Debug mode)
    ANDROID-X86 9.0-R2 (Debug nomodeset)
    ANDROID-X86 9.0-R2 (Debug video=LVDS-1:d)
    Windows

    Previendo que al restaurar el grub con el pincho USB de instalación de linux tendría que introducir manualmente el Menuentry, elegí la línea ANDROID-X86 9.0-R2 y dí a “e” ( editar) para saber qué debía introducir manualmente en el archivo /etc/grub.d/40_custom
    Lo que sale es:
    kernel /android-9.0r2/kernel quiet root=/dev/ram0 SRC=/android-9.0-r2.initrd /android-9.0-r2/initrd.img

    ¿Cómo debo introducir el “menuentry” en el archivo grub.d/40_custom?

    Muchas gracias.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: