Guía
De la descarga a una instalación en marcha, y qué hacer cuando algo se tuerce.
Antes de empezar
Cualquier equipo x86 de 64 bits. El instalador necesita al menos 1,7 GB de RAM y 18 GB de disco; las cifras de abajo son las que permiten usarlo con comodidad.
| Mínimo | Recomendado | |
|---|---|---|
| RAM | 2 GB | 4 GB |
| Disco | 18 GB | 30 GB |
| Procesador | cualquier procesador x86 de 64 bits | doble núcleo |
| Gráficos | cualquier adaptador gráfico con framebuffer | cualquier GPU de los últimos 15 años |
La misma imagen sirve para UEFI y para la BIOS antigua. El Arranque seguro puede quedarse activado.
Descargar y comprobar
La imagen es un solo archivo, moonlightos-26.04.5-bengunur-amd64.iso, y junto a él hay un segundo archivo con su suma SHA-256. Compruebe la suma antes de copiar la imagen: una descarga incompleta deja una memoria USB que arranca y luego falla de formas desconcertantes.
En Linux o macOS, dentro de la carpeta donde haya guardado la descarga:
sha256sum -c moonlightos-26.04.5-bengunur-amd64.iso.sha256
En Windows, desde PowerShell, compare el hash que aparece con el del archivo .sha256:
Get-FileHash .\moonlightos-26.04.5-bengunur-amd64.iso -Algorithm SHA256
Get-Content .\moonlightos-26.04.5-bengunur-amd64.iso.sha256
El primer comando imprime OK; el segundo imprime un hash que debe coincidir con el del archivo. Cualquier otra cosa significa que la descarga está dañada.
Copiar la imagen a una memoria USB
La imagen es una ISO híbrida, así que basta con copiarla bloque a bloque: no hace falta ninguna herramienta especial y la misma memoria arranca tanto en equipos UEFI como BIOS. Se borra todo lo que haya en la memoria, que debe ser de 8 GB como mínimo.
En Linux o macOS, averigüe primero el nombre del dispositivo (lsblk en Linux, diskutil list en macOS) y después:
sudo dd if=moonlightos-26.04.5-bengunur-amd64.iso of=/dev/sdX bs=4M status=progress oflag=direct conv=fsync
sudo dd if=moonlightos-26.04.5-bengunur-amd64.iso of=/dev/rdiskN bs=4m # macOS
Compruebe dos veces el nombre del dispositivo: dd escribe en el que se le indique, sea cual sea.
Windows
Use Rufus en modo de imagen DD, balenaEtcher o Ventoy. Si Rufus pregunta si escribir en modo ISO o DD, elija DD.
Arrancar desde la memoria USB
Encienda el equipo con la memoria puesta y abra el menú de arranque puntual (F12, F8, F2, Esc o Supr, según el fabricante), o ponga el dispositivo USB como primera opción de arranque en la configuración del firmware. No hace falta tocar el Arranque seguro.
El menú de arranque
- Try or Install MoonLightOS
La entrada normal. Abre la sesión en vivo con la animación de arranque.
- Try or Install MoonLightOS (safe graphics)
Lo mismo, pero con la configuración de modo del núcleo desactivada. Úsela si la pantalla se queda en negro o la imagen sale distorsionada.
- MoonLightOS in RAM (needs 6 GB+)
Copia todo el sistema a la RAM, así que después se puede retirar la memoria USB.
- Check this medium for defects
Comprueba todos los archivos de la memoria contra las sumas registradas durante la compilación.
- Verbose boot (no splash, logs to serial)
Muestra todos los mensajes en la pantalla y en el primer puerto serie: la única manera de leer un arranque que falla antes de que haya imagen.
- UEFI firmware settings
Reinicia y entra en la configuración del firmware.
La sesión en vivo
Lo primero que aparece es el asistente de configuración: elija el idioma del sistema, confirme la distribución del teclado (escriba en el cuadro para probarla), conéctese a una red wifi y después explore o instale. Todo lo que ajusta es una opción real del sistema, y el instalador parte de esas mismas decisiones.
La sesión en vivo es el sistema completo y sin recortes: el mismo escritorio, las mismas herramientas, las mismas páginas de configuración. La sesión se abre con el usuario moonlight, que no tiene contraseña. Nada de lo que haga aquí toca el disco hasta que abra el instalador.
Para instalar, haga doble clic en Instalar MoonLightOS en el escritorio, o abra de nuevo el asistente de Configuración inicial y elija Instalar.
Instalación
El instalador es Calamares: siete páginas y luego la copia al disco.
- Bienvenida
El idioma del instalador y los enlaces a esta guía.
- Ubicación
Su región y su zona horaria; de ahí salen la configuración regional y los formatos numéricos.
- Teclado
Ya viene con lo que eligió en el asistente. Escriba en el cuadro para comprobarlo.
- Particiones
La opción de partida es borrar el disco, que crea un sistema de archivos ext4 con un archivo de intercambio; también están disponibles btrfs, xfs y f2fs, además del particionado manual. Marque Cifrar el sistema para el cifrado LUKS2 de todo el disco y elija una frase de paso: la escribirá en cada arranque y no hay forma de recuperarla si se le olvida. En un equipo UEFI se crea una partición EFI de 512 MiB.
- Usuarios
Su nombre, el nombre del equipo, un nombre de usuario y una contraseña de ocho caracteres como mínimo, de dos clases distintas. La primera cuenta administra el equipo a través de sudo; la cuenta de root sigue bloqueada y no hay inicio de sesión automático salvo que usted lo active.
- Resumen
Todo lo que el instalador está a punto de hacer, en una sola lista. Todavía no se ha escrito nada.
- Instalación
El sistema se copia al disco, se instala el gestor de arranque (como MoonLightOS en la lista de arranque del firmware, en equipos UEFI) y se eliminan los restos de la sesión en vivo. Después, reinicie y retire la memoria USB.
Los demás sistemas operativos del equipo los detecta os-prober en el primer arranque y se añaden al menú de GRUB.
El primer arranque
Un sistema instalado empieza siendo una copia exacta de la imagen de la que salen todas las instalaciones. Todo lo que debe ser único en este equipo se crea en el primer arranque, antes de que aparezca la pantalla de inicio de sesión, mediante un servicio que después se desactiva solo:
- un identificador de máquina nuevo, para que nadie que observe la red pueda relacionar dos instalaciones;
- claves de host de SSH nuevas, porque una clave compartida por todo el que descargue la imagen dejaría sin sentido la verificación del servidor;
- el menú de GRUB, ahora que ya se ven los discos reales y los sistemas operativos que contienen;
- un initramfs rehecho para el hardware que hay de verdad, de modo que ocupa menos y la animación de arranque aparece antes;
- las cachés de iconos, tipografías y escritorio, para que el primer inicio de sesión no sea lento;
- el cortafuegos, activado de nuevo.
Su salida se escribe en /var/log/moonlight-firstboot.log. Después aparece la pantalla de inicio de sesión y, tras el primer acceso, la ventana de Bienvenida.
Primeros pasos
- Elegir el aspecto
Oscuro o claro, desde Bienvenida. Todo lo demás está en MoonLight Tweaks: la disposición del escritorio, el fondo, el horario y los widgets.
- Controladores
Bienvenida → Controladores abre el Gestor de controladores. En un equipo con tarjeta NVIDIA, el controlador privativo viaja en la ISO, así que funciona sin conexión a internet.
- Aplicaciones
La tienda muestra juntos los snaps, el repositorio de Ubuntu y Flathub. Thunderbird, Steam, Spotify y muchos más están a una búsqueda de distancia.
- Huella y cara
Bienvenida → Huella dactilar, o Configuración del sistema → Su cuenta, para registrar una huella o preparar el desbloqueo facial.
- Copias de seguridad
Timeshift hace instantáneas programadas del sistema. Configúrelo antes de necesitarlo.
- Seguridad
Configuración del sistema → Seguridad muestra lo que protege este equipo y lo que no, con un botón en cada línea para arreglarlo.
- Paquetes para desarrolladores
Máquinas virtuales, PHP con bases de datos y LaTeX: un clic cada uno en Bienvenida, instalados desde el repositorio que ya está configurado.
- Programas de Windows
Abra Aplicaciones de Windows una vez: deja Wine preparado con DXVK, VKD3D, tipografías y bibliotecas de ejecución. A partir de ahí, los archivos .exe se abren sin más.
Máquinas virtuales
VirtualBox
Hay que cambiar tres de los ajustes que VirtualBox trae de serie; si no, esta imagen no llega a arrancar. El fallo parece un problema de memoria, pero no lo es: GRUB cambia a un modo gráfico para dibujar su menú con la imagen del sistema, y con los 16 MB de memoria de vídeo que VirtualBox pone de serie eso falla con el mensaje «Out of memory. You need to load the kernel first.»
| Tipo | Linux / Ubuntu (64-bit) |
|---|---|
| Memoria | 4096 MB (2048 como mínimo) |
| Procesadores | 2 o más |
| Memoria de vídeo | 128 MB, el ajuste que de verdad importa |
| Aceleración 3D | activada |
| Controlador gráfico | VMSVGA |
| Habilitar EFI | desactivado: la BIOS funciona bien y la EFI de VirtualBox está incompleta |
| Omitir instalación desatendida | marcado |
| Disco | 30 GB o más |
Desde la línea de comandos:
VBoxManage modifyvm "MoonLightOS" \
--ostype Ubuntu24_LTS_64 --memory 4096 --cpus 4 \
--vram 128 --graphicscontroller vmsvga --accelerate3d on \
--boot1 dvd --boot2 disk
VirtualBox etiqueta el medio como «Ubuntu» porque encuentra en él una carpeta /casper. Eso es solo una etiqueta de la interfaz de VirtualBox; el medio se identifica como MoonLightOS. Aun así, ponga Ubuntu como tipo de invitado, porque con ello se eligen el chipset y los valores gráficos adecuados.
QEMU
UEFI, como arranca hoy casi cualquier equipo. Cree primero las variables de firmware escribibles y un disco de destino:
cp /usr/share/OVMF/OVMF_VARS.fd .
qemu-img create -f qcow2 disk.qcow2 30G
qemu-system-x86_64 \
-enable-kvm -m 4096 -smp 4 \
-machine q35 -cpu host \
-device virtio-vga-gl -display gtk,gl=on \
-drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=OVMF_VARS.fd \
-drive file=moonlightos-26.04.5-bengunur-amd64.iso,media=cdrom \
-drive file=disk.qcow2,if=virtio
Con el Arranque seguro realmente activado, usando el firmware que lleva registradas las claves de Microsoft. Una vez arrancado, mokutil --sb-state informa de «SecureBoot enabled», y Configuración → Acerca de dice lo mismo:
cp /usr/share/OVMF/OVMF_VARS_4M.ms.fd OVMF_VARS.fd
qemu-system-x86_64 \
-enable-kvm -m 4096 -smp 4 -machine q35,smm=on -cpu host \
-global driver=cfi.pflash01,property=secure,value=on \
-drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.secboot.fd \
-drive if=pflash,format=raw,file=OVMF_VARS.fd \
-drive file=moonlightos-26.04.5-bengunur-amd64.iso,media=cdrom
BIOS antigua: la ISO es híbrida, así que el mismo archivo arranca también a la vieja usanza:
qemu-system-x86_64 -enable-kvm -m 2048 -cdrom moonlightos-26.04.5-bengunur-amd64.iso
Para poner a prueba lo de los 2 GB, arranque sin aceleración y con la memoria mínima; después, en la sesión en vivo, compruebe que zram aparece como espacio de intercambio y que la presión de memoria se mantiene baja:
qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -vga std -cdrom moonlightos-26.04.5-bengunur-amd64.iso
# in the live session:
free -h # zram appears as swap
swapon --show # /dev/zram0, zstd
cat /proc/pressure/memory # "some avg10" under about 10 means it is keeping up
systemctl is-active earlyoom
Las herramientas de invitado de VirtualBox, QEMU/SPICE y VMware ya están en la imagen, y son las que permiten que la pantalla se adapte de tamaño y que el portapapeles se comparta.
Atajos de teclado
La tabla completa está en la página de Características. Estos son los que conviene aprender el primer día:
| Super | abre el menú; Super+Espacio lo abre con el cursor en el cuadro de búsqueda |
|---|---|
| Super+V | historial del portapapeles |
| Super+N | notas |
| Impr Pant / Mayús+Impr Pant | captura de la pantalla o de una zona; Mayús+Super+5 abre el panel de captura |
| Super+Izquierda / Derecha | ajusta la ventana a media pantalla |
| Ctrl+Arriba | todas las ventanas; Ctrl+Abajo, todos los escritorios |
| Super+L | bloquea la pantalla; Ctrl+Alt+T abre una terminal; Ctrl+Mayús+Esc, el monitor del sistema |
Si algo va mal
- La pantalla se queda en negro después del menú de arranque
Elija la entrada de gráficos seguros. Si arranca, instale desde ahí y active después el controlador privativo en la página Controladores.
- «Out of memory. You need to load the kernel first.»
Es una máquina de VirtualBox con 16 MB de memoria de vídeo. Póngale 128 MB y active la aceleración 3D; vea Máquinas virtuales, más arriba.
- El escritorio va lento
Mire el renderizador de OpenGL en Configuración → Acerca de. Con renderizado por software, las animaciones se desactivan solas al iniciar la sesión; en Tweaks → Rendimiento se quitan a mano.
- La memoria USB arranca, pero luego falla de forma extraña
Ejecute Check this medium for defects desde el menú de arranque y compruebe la suma SHA-256 de la descarga.
- No hay wifi
Abra la página Controladores: el controlador de Broadcom viene en la imagen. Para los demás adaptadores, el menú de red muestra lo que ha detectado el núcleo.
- El lector de huella no aparece
Abra Huella dactilar. Le dirá de qué fabricante es el sensor, si es nativo, de comparación en el chip o de binario del fabricante, y qué se puede hacer.
- Consultar los registros
De qué se ha quejado el arranque, el registro del gestor de inicio de sesión, el del primer arranque y el nombre del tema de arranque activo:
journalctl -b -p warning # what the boot complained about
journalctl -b -u lightdm
cat /var/log/moonlight-firstboot.log
plymouth-set-default-theme # should print: moonlightos
Para un informe de fallo, Acerca de → Copiar informe deja en el portapapeles la versión y el hardware, y moonlight-selftest imprime lo que está haciendo el escritorio en realidad.
moonlight-selftest | less
Compilarlo uno mismo
Toda la distribución cabe en un repositorio: el material gráfico se deriva de un único logotipo de origen, los temas se generan a partir de una sola paleta y un script convierte todo eso en una ISO arrancable y compatible con el Arranque seguro. Necesita Docker (en cualquier sistema operativo, porque la compilación se hace dentro de un contenedor) y unos 25 GB libres.
./build.sh | todo: base → personalización → compresión → ISO |
./build.sh rootfs | se detiene cuando el sistema ya está personalizado |
./build.sh image | vuelve a empaquetar en una ISO nueva un sistema de archivos raíz ya existente |
./build.sh finish | solo los gestores de arranque y la ISO, reutilizando el squashfs |
./build.sh shell | una consola dentro del entorno de compilación |
./build.sh clean | borra el volumen de trabajo |
La ISO se escribe en out/, con su suma SHA-256 al lado. En Windows, ejecútelo desde Git Bash o use build.ps1.
Cómo está organizada la compilación
build.sh | punto de entrada en el anfitrión; lo ejecuta todo en un contenedor |
|---|---|
build/Dockerfile.builder | el entorno de compilación, fijado a la versión de destino |
build/mkiso.sh | base, extracción del núcleo, squashfs, gestores de arranque e ISO |
build/inchroot.sh | todo lo que ocurre dentro del chroot, en catorce etapas |
config/moonlight.conf | todas las cadenas que definen la versión |
packages/*.list | lo que va en la imagen y lo que se quita |
rootfs/ | archivos que se copian tal cual al sistema, incluidas las aplicaciones MoonLight |
brand/source/ | el logotipo de origen y los fondos de escritorio; brand/out/ se genera |
tools/gen-branding.py | logotipo de origen → animación de arranque, GRUB, pantalla de inicio de sesión, iconos |
tools/gen-themes.py | una paleta → los dos temas completos |
po/ | las traducciones de las aplicaciones MoonLight |
installer/ | la configuración de Calamares y su imagen de marca |
Antes de crear la ISO, la compilación pasa más de 120 comprobaciones obligatorias dentro de la imagen: el núcleo, el shim firmado, los dos temas, cada una de las MoonTools, los códecs, los controladores de wifi, las traducciones y que el desbloqueo facial y la contraseña de emergencia estén desactivados. Si falla cualquiera, la compilación se detiene. El espacio de trabajo es un volumen de Docker y no un montaje de tipo bind, porque la propiedad de los archivos, los enlaces simbólicos y los nodos de dispositivo no sobreviven a un montaje de ese tipo en Windows ni en macOS.
Personalización
- La identidad de la distribución
config/moonlight.conf reúne todas las cadenas que definen la distribución.
- Material gráfico
Sustituya el logotipo de origen o un fondo de escritorio, vuelva a ejecutar tools/gen-branding.py y se regeneran la animación de arranque, GRUB, la pantalla de inicio de sesión, los iconos y las imágenes del instalador.
- Colores
tools/gen-themes.py contiene una paleta oscura y una clara, y genera los dos temas completos con las mismas reglas.
- Paquetes instalados
packages/*.list, un paquete por línea, instalados por orden de nombre de archivo; 99-purge.list enumera lo que se quita al final.
- Valores del escritorio
rootfs/etc/dconf/db/moonlight.d/, en formato de archivo de claves de dconf. Son valores de partida, no candados: el usuario puede cambiar cualquiera.
- Volver a compilar rápido
Tras un cambio en rootfs/ o en las listas de paquetes, build.sh rootfs repite la etapa del chroot sobre la base en caché y build.sh image reempaqueta la ISO; build.sh finish sirve para trabajar en el menú de arranque.
Ayuda e informes de fallo
Un informe útil cuenta qué esperaba, qué ocurrió en realidad y en qué equipo ocurrió. MoonLightOS pone fácil lo tercero:
- Acerca de MoonLightOS → Copiar informe deja en el portapapeles, como texto, la versión, el hardware, el renderizador gráfico y el estado del Arranque seguro.
- moonlight-selftest imprime qué temas están en uso, si la hoja de estilos del shell se cargó bien, qué controlador gráfico está activo y qué servicios han fallado.
- Si el problema está en el arranque, la entrada Verbose boot escribe todos los mensajes en la pantalla y en el primer puerto serie.
- Si está en el instalador, /var/log/moonlight-firstboot.log en el sistema instalado, y journalctl -b -p warning.
Dónde enviarlo
Aquí se anunciarán un gestor de incidencias público y un canal de soporte. Hasta entonces, guarde el informe: todo lo que necesita contener sale de las dos herramientas anteriores.