Conecta con nosotros

Prácticos

Cómo probar Chromium OS

Hace tiempo que Google liberó el código del sistema operativo Chromium OS, sobre el que se basará su propia propuesta, Chrome OS. Y eso hace posible que cualquier usuario con interés pueda probar este sistema operativo, al menos en sus fases preliminares. A continuación exploramos paso a paso el proceso de compilación de Chromium OS, para luego mostraros un vídeo y diversas capturas en las que es posible comprobar qué tal se comporta la alternativa de Google en este segmento.

Publicado

el

Hace tiempo que Google liberó el código del sistema operativo Chromium OS, sobre el que se basará su propia propuesta, Chrome OS. Y eso hace posible que cualquier usuario con interés pueda probar este sistema operativo, al menos en sus fases preliminares. A continuación exploramos paso a paso el proceso de compilación de Chromium OS, para luego mostraros un vídeo y diversas capturas en las que es posible comprobar qué tal se comporta la alternativa de Google en este segmento.

Hace tiempo que tenemos curiosidad por saber qué puede ofrecer Chromium OS (y por extensión, Chrome OS), y aunque ya habíamos hecho algunas pruebas preliminares, nunca nos habíamos lanzado a compilarlo por nosotros mismos. Dado que los directivos de Google han indicado que aún quedan meses para una versión final -aunque puede que la beta esté cerca– hemos decidido saber cómo iba el proyecto y si tenía alguna característica diferencial que valiese la pena.

Para lograr averiguarlo uno podía hasta no hace mucho acceder a las compilaciones diarias que nos ofrecía Hexxeh, pero parece que las descargas saturaban los servidores y ancho de banda del que disponía, y solo es posible acceder a las ya viejas imágenes de Chromium OS Flow que ya probamos en el pasado. La otra opción, existente desde hace tiempo, es compilarselo todo a mano y a máquina, y luego probar el resultado. Eso es lo que hemos hecho.

Avisamos: el proceso es algo largo y tedioso, y la verdad es que el resultado no es demasiado espectacular. A continuación encontraréis las instrucciones para lograr compilar Chromium OS de forma manual, para luego generar las imágenes para llaves USB o para máquinas virtuales sobre las que luego podéis probar Chromium OS. Al final de las instrucciones encontraréis un vídeo que he publicado en YouTube y que hace un pequeño recorrido de 8 minutos por las opciones de un sistema que, sinceramente, no tiene demasiado encanto. De hecho, es un navegador con algun complemento especial. A pesar de eso… ¿os animais?

Las instrucciones que publicamos aquí están totalmente adaptadas de la guía oficial de desarrolladores de Chrome, pero en lugar de contarlo todo con detalle, trataremos de simplificar el proceso para que no os tengáis que leer toda la documentación -lo que es bastante pesado-. Como indican en esa guía necesitáis contar con varios requisitos para poder proceder:

  • Una distribución Linux instalada. En el documento oficial hablan de Ubuntu 10.04 64 bits, pero yo lo he hecho sin problemas en Ubuntu 10.10 64 bits, y supongo que no habrá demasiados problemas con otras distros. Eso sí: necesitais instalar una versión de 64 bits.
  • Necesitaréis privilegios de root en algún momento (pero todos los comandos se ejecutan con vuestro usuario habitual, salvo alguna excepción a la que se llegará a su debido momento).
  • Necesitaréis mucho espacio. Mucho. Yo metí todos los ficheros en una partición temporal específica montada en /media/temp, y tras compilar y generar las imágenes llevo ocupados 22 Gbytes. Así que atentos, tenedlo en cuenta.

Comenzamos. En los pasos que más tiempo llevan hemos incluido la salida del comando time que permite saber precisamente cuánto tiempo se ha tardado en ese proceso. Para que tengáis la referencia, todo está ejecutado en un PC con un Intel Core i7 920, 6 Gbytes de RAM, y una conexión ADSL con un canal de descarga de 10 Mbps.

Importante: debéis introducir todo tal cual (sin sustituir nada a no ser que se indique expresamente).

Instalar las llamadas depot_tools

Con ellas se gestionan varios comandos importantes del proceso. Como indican en el enlace,

cd
svn co http://src.chromium.org/svn/trunk/tools/depot_tools
export PATH=`pwd`/depot_tools:"$PATH"

Instalar git

sudo aptitude install git gitk git-gui

Crear el directorio donde irá todo (fuentes, código compilado). En nuestro caso

cd /media/temp
mkdir -p chromiumos

Obtener el código fuente


cd /media/temp/chromiumos
repo init -u http://git.chromium.org/git/manifest
repo sync

Este último comando es que descarga los más de 4 Gbytes de fuentes. Lamentablemente no hay mirrors (que sepamos) para acelerar el proceso, y el servidor no va demasiado rápido, así que casi da igual la conexión que tengáis: os irá como mucho a 300 Kbytes por segundo con suerte. A nosotros la descarga nos tardó casi dos horas:

real	113m37.886s
user	4m36.280s
sys	1m24.570s

Crear un directorio chroot interno

Importante, ya que nos logaremos dentro del entorno de desarrollo para compilarlo todo. Pero antes toca crear ese entorno. Para ello:

cd src/scripts
./make_chroot --replace

Tiempo:

real	12m24.092s
user	13m30.280s
sys	2m13.050s

Entrar en el entorno chroot

./enter_chroot.sh

Escoger la plataforma


BOARD=x86-generic

Inicializar la plataforma


./setup_board --board=${BOARD} --force

Tiempo:


real	1m32.332s
user	0m39.660s
sys	0m4.560s

Crear una contraseña para el usuario chronos (por si acaso)


./set_shared_user_password.sh

Ese comando os hará introducir una contraseña para la cuenta con nombre de usuario ‘chronos’

Habilitar la cuenta de invitado (recomendado)


./enable_localaccount.sh javipas

(Debéis sustituir ‘javipas’ por el usuario con el que deseéis contar) Compilarlo todo


./build_packages --board=${BOARD} --oldchromebinary

Tiempo:


real	26m40.558s
user	25m53.820s
sys	4m25.160s

Generar la imagen del sistema operativo


./build_image --board=${BOARD} --withdev --noenable_rootfs_verification

Tiempo:


real	7m55.278s
user	12m6.280s
sys	2m0.700s

Copiar la imagen a una llave USB

Es necesario contar con una llave o pendrive USB con 1 Gbyte de espacio (yo diría más bien que una de 2 Gbytes, aunque lo que se ocupa es algo menos de 1 Gbyte), y atención: tenéis que tenerla vacía, o asumir que perderéis todos los datos de ese dispositivo, en el cual se crean varias particiones y se copian los ficheros adecuados de la imagen generada. Para proceder a la instalación del sistema en la llave USB el comando adecuado es este, pero cuidado:


./image_to_usb.sh --board=${BOARD}

Ese comando debería mostrar una lista de unidades USB que ha encontrado. Lo mejor es tener claro en qué dispositivo vamos a realizar el proceso (mi llave USB, una vez conectada estaba detectada en /dev/sdd, algo fácil de ver con un ‘dmesg | tail -f’): y hacer


./image_to_usb.sh --board=${BOARD} --to=${MY_USB_KEY_LOCATION}

En este caso,


./image_to_usb.sh --board=${BOARD} --to=/dev/sdd

Ya podéis arrancar vuestro portátil, PC o netbook con la llave USB recién preparadita. Como explicamos en el vídeo, tenéis que tener en cuenta que por ahora el soporte de controladores es limitado, y también las prestaciones del sistema. Puede que no se soporten vuestro chipset WiFi, vuestra gráfica o vuestro chip de sonido. Pero como era de esperar, esto es un proyecto en pleno desarrollo, así que era difícil que todo funcionara perfecto, ¿verdad?

Instalar el sistema operativo

Si queréis instalar Chromium OS en vuestro disco duro -BORRARÉIS TODOS LOS DATOS DEL DISCO, CUIDADO-, tendréis que iniciar la sesión normalmente y a partir de ahí tendréis que lanzar una terminal (Ctrl+Alt+T), acceder al shell "real" (escribid ‘shell’) en esa terminal de Chromium OS, y luego escribir el comando


/usr/sbin/chromeos-install

Imágenes para máquinas virtuales, la otra opción

Además de ejecutar el sistema desde una llave USB, también es posible preparar una imagen para KVM (bin), VMWare (vmdk) o VirtualBox (vdi). Os explicaríamos todos los métodos, pero la verdad es que hay un documento fantástico que lo explica en profundidad y que hemos utilizado para generar los tres tipos de imágenes.

Se trata de este fantástico artículo de Virtguru en el que el autor explica paso por paso cómo crear esas imágenes, y en donde incluso incluye parte de la salida que mostrará la consola al ejecutar ciertos comandos. Es un documento fácil de seguir y que os ayudará a generar esas imágenes.

Sin embargo, a nosotros no nos ha servido de mucho: el rendimiento en KVM es muy pobre -no hay aceleración gráfica, y cada cosa que haces es una tortura-, y ni en VirtualBox ni en VMware logramos entrar en la sesión. En VMware no nos detectaba nuestra controladora Ethernet (el autor propone una solución que a nosotros no nos funciona) y en VirtualBox no podemos acceder más que a consola (Alt+F2 una vez arranca Chromium OS), lo cual no tiene ninguna gracia.

Conclusión: no hemos descubierto una forma eficiente de ejecutar Chromium OS en una máquina virtual. Si conocéis alguna solución, por favor, comentad para incluirla en la guía.

Conclusiones: ¿qué tal funciona Chromium OS?

Bueno, después de unas 3 horas de descargar, compilar y generar imágenes, y de lograr una imagen funcional para USB, la impresión no es, como decíamos, demasiado buena. Chromium OS no es más que un navegador Chromium con alguna curiosidad (la terminal, por ejemplo), y suponemos que Chrome OS será lo mismo, pero con las famosas webapps, que no son más que accesos a servicios web tales como Gmail o Google Docs.

Espero bastante más de un desarrollo que quiere ofrecer una alternativa real a las propuestas actuales, así que habrá que estar atentos y darle una oportunidad a Google, que obviamente sabe lo que hace (normalmente). De momento os dejamos con el vídeo de 8 minutos que hemos grabado haciendo un pequeño recorrido por mi experiencia con Chromium OS.

Y por supuesto, una galería de imágenes:

Lo más leído