CBL-Mariner: Cómo instalar y probar el sistema Linux de Microsoft

CBL-Mariner

Microsoft lanzó hace unos días un sistema operativo basado en Linux que podrás descargar e instalar de forma gratuita como cualquier otra distro. Sin embargo, el lanzamiento no lo anunciaron a bombo y platillo, sino que fue bastante discreto, sin apenas ruido… Su nombre es CBL-Mariner (Common Base Linux Mariner) y aquí aprenderás paso a paso cómo descargarlo e instalarlo (en una máquina virtual).

Lo cierto es que la compañía de Redmond sorprendió en su momento con algunos lanzamientos de código abierto, o con la compra de GitHub, así como con la integración del subsistema Linux en su Windows (WSL), o con el soporte para Linux de algunos de sus programas, así como aquel sistema operativo para dispositivos de red basado también en Linux y llamado SONiC…

¿Qué es CBL-Mariner?

Como bien indican en la página de GitHub, es un sistema operativo Linux completo desarrollado y mantenido por la propia Microsoft. Su objetivo no es ser una distribución GNU/Linux de propósito general más, sino que tiene otro fin. Y es que la empresa de Windows lo necesita como base para WSL2, es decir, el nuevo subsistema Linux para Windows 11 y Windows 365 con el que se podrán ejecutar también aplicaciones gráficas.

CBL-Mariner ya existía previamente, y estaba siendo usado de manera interna por Microsoft para su infraestructura de la nube Azure. Además, la compañía de Redmond ha estado trabajando bastante en la seguridad por defecto de este sistema operativo, con un kernel reforzado, actualizaciones firmadas, ASLR, hardening basado en el compilador, registros a prueba de manipulaciones, y otras muchas características más.

Incluye un pequeño conjunto de paquetes básicos. También se sabe que emplea paquetería RPM. Concretamente su sistema de compilación permite generar .rpm separados y basados en ficheros SPEC y código fuente. También imágenes del sistema monolítico generadas por un kit de herramientas rpm-ostree. En cuanto a las actualizaciones, pueden aplicar a paquetes específicos o al sistema completo.

Todas las tecnologías y código desarrollado por Micorosoft para CBL-Mariner son de código abierto, y se han lanzado bajo licencia MIT.

Cómo descargar e instalar CBL-Mariner en una máquina virtual

 

virtualbox

Para explicar paso a paso cómo puedes descargar e instalar CBL-Mariner para probarlo voy a usar como base una distribución Ubuntu y el software de virtualización VirtualBox. Se puede hacer en cualquier otra distribución y con otro software para las máquinas virtuales si lo deseas. Los pasos serán muy similares en cualquier caso.

1-Descargar y generar la ISO

Lo primero que hay que hacer es descargar del repositorio CBL-Mariner y luego generar nosotros mismos la imagen ISO, ya que no existe aún una imagen para descargar directamente. Para ello, necesitas una serie de paquetes instalados, muchos de ellos seguro que ya los tienes, pero por si acaso, ejecuta el siguiente comando:

<br data-mce-bogus="1">

sudo apt-get install git make tar wget curl rpm qemu-utils golang-go genisoimage python-minimal bison gawk<br data-mce-bogus="1">

 

 

Una vez tienes ya el software necesarias instalado, ahora hay que clonar el repositorio de GitHub con el código de CBL-Mariner en local, es decir, en nuestro equipo. Y esto se hace como ya bien sabes:

<br data-mce-bogus="1">

git clone https://github.com/microsoft/CBL-Mariner.git

cd CBL-Mariner<br data-mce-bogus="1">

git checkout 1.0-stable<br data-mce-bogus="1">

 

 

Una vez descargado y accedido al directorio que se ha creado en local, lo siguiente es acceder a un directorio concreto para generar desde allí la ISO para el arranque:

<br data-mce-bogus="1">

cd toolkit<br data-mce-bogus="1">

sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json<br data-mce-bogus="1">

 

 

Cuando termine el proceso, ya tendrás disponible el fichero ISO en el directorio ../out/images/full/.

2-Instalar CBL-Mariner en una MV

Ahora que ya tienes la imagen ISO, ya puedes instalar CBL-Mariner en una máquina virtual. Para ello, puedes usar Oracle VirtualBox, que es gratuito. Una vez tienes instalado el software necesario para la virtualización (puedes descargar e instalar desde ese enlace o también desde los repos de tu distro, donde también está disponible), lo siguiente es seguir estos pasos:

  1. Abrir VirtualBox.
  2. Pulsar en el botón Nueva para crear una nueva MV.
  3. Ahora inicia el asistente para la creación de la máquina virtual. Pon el nombre que quieras y en tipo elige «Linux», y versión «Other Linux (64-bit)». Y pulsa siguiente.
  4. Luego te irá pidiendo los requisitos del hardware virtualizado. Para CBL-Mariner debes configurar al menos 1 CPU, 1GB de RAM, y 8GB de disco. Si usas un poco más de RAM y CPU irá algo mejor, así que sería una buena idea. Ve dando a siguiente hasta completar el asistente.
  5. Ya está la máquina virtual generada. Ahora que estás de nuevo en la pantalla principal de VirtualBox, puedes darle con el botón derecho a la entrada que aparece con el nombre que le hayas puesto y luego seleccionar Configuración en el menú. También puedes seleccionar la entrada y dar al botón superior Configuración.
  6. Ve a Almacenamiento, y desde allí en el icono del disco óptico (Vacío) tienes que pulsar en Unidad Óptica y elegir «Seleccionar un archivo de disco» para poder cargar la imagen ISO. Y en el navegador que te aparecerá, selecciona donde tengas la ISO que has generado en el paso anterior.
  7. Es el momento de Iniciar la máquina virtual con CBL-Mariner.

3-Instalar el sistema en la MV

Una vez has iniciado la máquina virtual, arrancará y tras unos instantes te mostrará un menú para la instalación. Los pasos que debes seguir eson:

  1. Elige la opción «Graphical Installer» para la instalación gráfica. También hay opciones para el modo texto, pero es mejor el gráfico. Y una vez seleccionado, pulsa Next. [hay que moverse por el menú con las flechas del teclado y con INTRO para seleccionar]
  2. Ahora te aparecerá un instalador muy similar al de cualquier otra distro. En el menú Installation Type: tienes que elegir «CBL-Mariner Full» para la instalación completa. En cualquier caso, tanto en Full como en Core, al no incluir apenas paquetes, será rápido.
  3. La siguiente pantalla son los términos de la licencia que hay que aceptar.
  4. Después viene el asistente del particionamiento de disco duro. Allí tienes que crear las particiones necesarias o dejar las que vienen por defecto.
  5. Turno para elegir el hostname, así como el usuario y la contraseña. Puedes poner el que quieras, pero recuérdalo.
  6. CBL-Mariner empieza ahora la instalación propiamente dicha. Comenzará a instalar paquetes. Y cuando termine, reinicia la máquina virtual.
  7. Al iniciar te aparecerá la pantalla de inicio de sesión, donde tienes que poner los datos de login (nombre y contraseña).
  8. Ya puedes usar CBL-Mariner como harías con tu distro local. Y sí, lamentablemente se inicia en modo texto…

El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

4 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   benguiguy dijo

    esta dando erro de comando nao encontrado na linha
    sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json
    sudo: make: comando não encontrad

    1.    RAZ0229 dijo

      Try running make without sudo

  2.   Luca dijo

    it doesn’t work with or without sudo..

  3.   chris dijo

    error by building iso:
    go: gonum.org/v1/gonum@v0.6.2: unrecognized import path «gonum.org/v1/gonum» (https fetch: Get https://gonum.org/v1/gonum?go-get=1: Not Implemented)

    go: error loading module requirements

    any solutions for that?