Tecnología

Cómo compilar Chromium OS

·

Hace tiempo que tengo curiosidad por saber qué puede ofrecer Chromium OS (y por extensión, Chrome OS), y aunque ya he hecho algunas pruebas preliminares, nunca me había lanzado a compilarlo por mi mismo. 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– he 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 probé 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 yo he hecho.

Aviso: 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 publico aquí están totalmente copieteadas de la guía oficial de desarrolladores de Chrome, pero en lugar de meter todo el rollo, trataré 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 he 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 mi 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 yo sepa) 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 mí me 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 explico 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ía todos los métodos, pero la verdad es que hay un documento fantástico que lo explica en profundidad y que yo he 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 mi no me ha servido de mucho: el rendimiento en KVM es lamentable -no hay aceleración gráfica, y cada cosa que haces es una tortura-, y ni en VirtualBox ni en VMware logré entrar en la sesión. En VMware no me detectaba mi controladora Ethernet (el autor propone una solución que a mi no me funciona) y en VirtualBox no puedo acceder más que a consola (Alt+F2 una vez arranca Chromium OS), lo cual no tiene ninguna gracia.

Conclusión: no he 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ía, demasiado buena. Chromium OS no es más que un navegador Chromium con alguna curiosidad (la terminal, por ejemplo), y supongo 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 dejo con el vídeo de 8 minutos que he grabado haciendo un pequeño recorrido por mi experiencia con Chromium OS.

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

Espero que os haya gustado 😉


Incognichollos

Esta es una selección con las mejores ofertas tecnológicas actualizadas casi diariamente, como expliqué aquí. Aunque estés en un post «antiguo» las ofertas son de última hora, los Incognichollos los actualizo aparte. También puedes seguir los Incognichollos en Twitter o en el nuevo canal de Telegram 🙂 . Aprovecha, que no suelen durar mucho tiempo.

  • Xiaomi Mi A3: el nuevo cholloteléfono de Xiaomi. 6,01″, Snapdragon 665, 4 GB de RAM, 64 GB de capacidad, cámara triple (48+8+2 MP), Android One (puro, sin MIUI), lector de huella bajo pantalla, sin NFC, brutal: 203 euros en GeekBuying con el código 3FUYCD7F
  • Xiaomi Mi 9T: 6,39″ AMOLED, Snapdragon 730, 6 GB de RAM, 128 GB de capacidad, cámara triple (48+8+13), cámara frontal retráctil (20 MP), lector de huella bajo pantalla, 4000 mAh. Brutal por 271 euros en GearBest con el código MI9T128BLACK
  • Xiaomi Mi 9: atentos, chicos. AMOLED 6,39» , Snapdragon 855, 6 GB de RAM, GB de capacidad, huella dactilar en pantalla, carga inalámbrica y rápida, cámara triple (48+12+16 MP). Brutal por 316 euros en GearBest con el código GBM964BLACK
  • Monitor AOC: atentos a este chollazo, 21,5 pulgadas y resolución 1080p a un precio escandaloso, 69,99 euros en Amazon. Absolutamente brutal, con HDMI y VGA.
  • Raspberry Pi 3 B+ Starter Kit: acaba de salir la 4, pero eso abarata este kit. Incluye la RPi 3 B+, adaptador de corriente con interruptor, 3 radiadores, caja, cable HDMI, micro SD con NOOBs. Está a 51 euros en Amazon con el código JF8I4CDN
  • Auriculares Xiaomi AirDots Pro: los competidores de los AirPods de Apple, con controles de reproducción, llamadas y asistente de voz, compatibles con iOS y Android, hasta 10 horas de uso, están a 40 euros en Banggood con el código BGAirTWSES
  • SSD Samsung 860 QVO 2 TB: la unidad SSD de 2 TB de Samsung sigue estando de ofertón. Con tecnología QVO, mejores tasas y eficiencia, hasta 560 MB/s en lectura, está a 187 euros en Amazon Francia, envío incluido
  • Huawei MateBook D: un portátil ultradelgado de 15,6″ Fulll HD con un Core i3-8130U, 8 GB de RAM, 256 GB de capacidad, Windows 10 y teclado en español. Buen precio para un buen equipo, 499 euros en Amazon
  • Lenovo IdeaPad 330-15ICH: el 15,6″ Full HD con ambición gaming. Core i5-8300H, 8 GB de RAM, 1 TB de HDD, y una GTX 1050 para jugar con cierta alegría. Sin sistema operativo, está a 499 euros en Amazon
  • Xiaomi Mi Band 4: la nueva versión de la pulsera cuantificadora con pantalla AMOLED a color, 5 ATM de resistencia (a nadar sin fin) sensor de ritmo cardiaco, notificaciones, monitor de sueño, está a 27 euros en Banggood con el código BGMiband4es01
  • Smart TV LG 55UM7100ALEXA: una tele inteligente de 55 pulgadas 4K HDR10 y HLG con WebOS 4.5, conectividad ThinQ, soporte Alexa, sonido Ultra Surround. Está a tan solo 538,99 euros en Amazon.
  • NAS WD My Cloud EX2 Ultra: un NAS de nada menos que 8 TB de capacidad con dos bahías, RAID, sincronización de archivos, servidor multimedia, está a 268,99 euros en Amazon.
  • Chuwi Aerobook: 13,3″ con un Intel Core m3-6Y30, 8 GB de RAM y 256 GB de SSD, Windows 10 (teclado en inglés, touchpad gigante, ). Compacto, ligero y con bastantes más puertos que el de Apple 🙂 Está a 337 euros en Banggood con el código BGOPCOUPON001
  • Portátil Jumper EZBook 3 PRO: uno parecido estoy usando para escribir esto. Ultradelgado, 13,3″ Full HD, Intel Celeron N3450, 6 GB de RAM, 64 GB eMMC, ranura MicroSD, puerto M.2, BT 4.0, HDMI, 4.500 mAh, está a 192 euros en Banggood con el código BGJU4679
  • Lenovo Legion T530: un PC de sobremesa con un Core i7-8700, 8 GB de RAM; 1 TB de HDD, 128 GB de SSD y una GTX 1050 Ti para jugar. Yo luego añadiría aparte un SSD y quizás mejor gráfica, pero a este precio está muy bien, 679,18 euros en Amazon. No incluye Windows 10, que tendréis que comprar aparte. En eBay las tenéis por 3 euros, no hay problema
  • Tableta Chuwi Hi9 Plus: 10,8″ con un MediaTek Helio X27, 4 GB de RAM, 64 GB de capacidad (ampliables), soporte stylus , webcam 8 MP, WiFi ac, BT 4.1, minijack, USB-C, 7.000 mAh, GPS, radio FM, dual SIM. Está a 142 euros en Banggood con el código BG924355. La versión con 128 GB de capacidad está muy poco por encima, solo 211 euros en Banggoodcon el código BGJU4679
  • Volante para Nintendo Switch: dos volantes AmazonBasics en rojo y azul para la Nintendo Switch para insertar el mando joy-con. Perfectos para Super Mario Cars, por supuesto. Está a 8,95 euros en Amazon.
  • Xiaomi Mi 9 SE: 5,97 pulgadas, Snapdragon 712, 6 GB de RAM, 128 GB de capacidad (uauh), triple cámara (48+12+16), lector de huella en pantalla, está a tan solo 270 euros en GearBest
  • Cinta de andar Xiaomi Youpin A1: velocidad máxima de 6 km/h, soporta 90 kg y es además plegable para su fácil almacenamiento. Está a 348,16 euros en GearBest.
  • Xiaomi Redmi Note 7: 6,3» Snapdragon 660, 4 GB de RAM, 64 GB de capacidad (ampliables vía MicroSD), 4.000 mAh, minijack y cámara dual de 48+5 MP realmente estupendo por 147 euros en Banggood con el código BGEMN764. La versión de 3/32 GB está a 132,46 euros en GearBest.
  • Portátil Jumper X4 Pro: un 14″ Full HD con un Core i3-5005U, 8 GB de RAM, 256 GB de SSD, webcam, WiFi ac, BT 4.2, jack de audio, HDMI, lector microSD, puerto USB-C, 4 altavoces. Tremendo por 352 euros en Banggood con el código BGJL3D10
  • Xiaomi AMAZFIT Bip: el reloj cuantificador tipo Pebble. 45 días de autonomía (y no es broma, análisis aquí chulo), GPS, monitor de sueño y pulsaciones, notificaciones, está a 45,9 euros en Banggood con el código BGSALEBIP
  • Tableta Teclast T20: más ambiciosa. 10,1″, pantalla Sharp 2,5K, Helio X27, 4 GB RAM, 64 GB capacidad, 8100 mAh, webcam 13 MP, lector de huella, WiFi, 4G, está a 142 euros en Banggood con el código BG88b402
  • OnePlus 7: la evolución del 6T con 6,41?, Snapdragon 855, 8 GB de RAM, mininotch, 256 GB de capacidad (uauh), cámara dual 48+5, 3700 mAh de batería, huella en pantalla. Está a 401,66 euros en AliExpress.
  • Samsung Galaxy A60: curioso este móvil de 6,3″ con un Snapdragon 675, 6 GB de RAM, 64 GB de capacidad, cámara triple (32+5+8) y frontal de 16 MP, 3500 mAh, está a 205,85 euros en GearBest.
  • Chuwi Aerobook: una especie de ‘MacBook’ de 13,3″ con un Intel Core m3-6Y30, 8 GB de RAM y 256 GB de SSD, Windows 10 (teclado en inglés, touchpad gigante, ). Compacto, ligero y con bastantes más puertos que el de Apple 🙂 Está a 384 euros en GearBest.
  • Lenovo IdeaPad 330-15IKBR: atentos a la configuración. 15,6″ HD (es la única pega, no FullHD), Core i7-8550U, 8 GB de RAM, 256 GB SSD. Teclado español, sin sistema operativo. Brutal por 479 euros en Amazon
  • SSD Samsung 860 QVO 2 TB: una unidad SSD SATA brutal de 2 TB de capacidad y con tecnología QVO, superior en eficiencia y rendimiento, hasta 550 MB/s. Está a 187 euros en Amazon Francia, envío incluido.
  • AMD Ryzen 5 2600X: desbloqueado para overclocking, esta CPU con 8 núcleos y 16 hilos de ejecución funciona a 4,25 GHz con Turbo. Incluye ventilador Wraith Spire. Está a 178,45 euros en Amazon
  • Xbox One S 1 TB All-digital: es la nueva edición sin lector Blu-ray, pero llega con un mando y un disco de 1 TB de capacidad. Regalan el juego Sea of Thieves y el Forza Horizon 3. Súper barata, 180 euros en Aliexpress Plaza
  • Xiaomi Mi Air 13: vuelve a estar insteresante. 13,3″ Full HD con Core i7-8550U, 8/256GB, GeForce MX150, lector de huella, buena opción en Banggood, está a 679 euros con el código BGXM2972.
  • Pack teclado y ratón Logitech MK120: las críticas son fantásticas, y a este precio no me extraña. Teclado de perfil plano, eespañol (la foto está mal) silencioso, con cable USB, ratón con cable USB. Está a 13,95 euros en Amazon.
  • OnePlus 7 Pro: 6,67 pulgadas a 90 Hz (dicen que son la pera), 8 GB de RAM, 256 GB capacidad, cámara triple (48+16+8), cámara frontal retráctil 16 MP, lector de huella en apntalla, 4.000 mAh. Está a 599 euros en Banggood con el código BGOP7PRO
  • Xiaomi Mi A2: está de oferta. Pantalla de 5,99 pulgadas, Snapdragon 660, 4 GB de RAM, 64 GB de capacidad (no ampliables), cámara dual (12+20), está a 145 euros en Amazon. Jamás había estado tan barato allí.
  • MiniPC: atentos a este equipo en formato NUC con un Core i3-7100U, 8 GB de RAM, 120 GB de SSD, WiFi 300 Mbps, 6 x USB, RJ-45, Ethernet, VGA, HDMI, toma auriculares. Por 205,94 euros, nada mal en AliExpress. Te regalan montura VESA.
  • Amazfit Verge Lite: sin NFC, pero con una autonomía de hasta 20 días. Pantalla AMOLED de 1,3″ 360×360 Corning Gorilla Glass. Frecuencia cardíaca, gran variedad de modos deportivos. GPS + GLONASS. Está a 89,18 euros en AliExpress

¿Quieres recibir un correo de aviso cuando publique nuevas entradas?

Standard

14 comentarios en “Cómo compilar Chromium OS

  1. fartus dice:

    Estupendo trabajo Javi. Te lo has currado a base de bien. La falta de comentarios puede deberse al resultado mismo de tu experiencia: indiferencia y frialdad absoluta. Este sistema operativo no consigue convencer lo más mínimo hasta el momento. Lo que nos has explicado basado en tu trabajo no hace más que confirmarlo. Creo que ChromiumOS está demasido volcado a Internet y no aporta absolutamente nada que no esté allí. No se si en un futuro cercano trabajaremos de esta manera. Si es así, creo este producto está claramente adelantado a su tiempo. No obstante, los primeros detalles que se conocen del futuro Windows 8 referentes a su orientación a la nube Azure puede que nos de que pensar. Un saludo.

    • insulae dice:

      payaso, eso es si quieres compilar vos el sistema operativo desde cero, algo que en tu perra vida vas a poder con microsoft o apple, si quieres algo sencillo y mas rapido que windows, te buscas cualquier liveCD instalable y listo. Con Linux puedes hacer lo que quieras desde simplificarte la vida a complicartela por gusto 😀

  2. Pingback: ¿Quieres compilarte Chromium OS? | MuyLinux

  3. Muy buen artículo. Gracias por compartir tu experiencia. Nos has ahorrado el trabajo de leer la documentación de google. Una pregunta, puedo acceder a mis archivos locales desde la interfaz de chromium o unicamente lo puedo hacer desde la consola?

    • ndroid dice:

      Yo tambien me preguntaba lo mismo porque nos enseña que puede hacer capturas, incluso que se ve los archivos descargados pero nada más donde van a parar esos archivos y como los ves/editas/loquesea.
      Por último muy interesante tu articulo ya que me has ahorrado trabajo, ya no pienso ni probarlo xD

    • JaviPas dice:

      Fernando, aunque se habla de que Chrome OS tendrá algún que otro complemento tradicional -reproductor multimedia, puede que un explorador de archivos- en Chromium OS no hay nada parecido: solo puedes acceder desde consola, o bien con el URI file:// en el navegador.

      Pero si preguntabas si había algún tipo de explorador de ficheros… no, de momento no hay nada de eso que yo sepa.

  4. geekiyo dice:

    Hola. Pedazo de artículo y currada de monos que hay tras él evidentemente.

    Lo que sí, a riesgo de parecer mu torpe, pero me ha generado una duda… ¿qué diferencia hay entre Chromium OS y Chrome OS?

    No sé, pero pensaba que era lo mismo, que quizá los de Google, en el camino decidieron un cambio de nombre, pero veo que ando despistado.

    • Pues aún no está muy claro, pero supongo que Google activará algunas prestaciones extra en Chrome OS que no estarán de serie en Chromium OS. Es algo así como Android de Google y el Cyanogen Mod en los smartphones. En Cyanogen no estaban Google Maps y cosas por el estilo.

      Así que habrá alguna diferencia, pero seguramente hoy sepamos más. Teóricamente presentan la beta por la tarde…

  5. Pingback: ¿Quieres compilarte Chromium OS? | Tutoriales de Informática

  6. Tolo dice:

    Podrías colgar el resultado (imagen para el pendrive o máquina virtual), para poder probar sin pegarnos la currada que describes.

    De momento sólo he podido probar con Flow, y es una buil muy antigua ya.

Comentarios cerrados