Resumen/X Linux (distro)
Construir el ISO
Esta guía explica cómo construir el ISO en vivo de X desde este repositorio con
xbuild.sh y resume los scripts separados de construcción de rootfs para WSL.
Prerrequisitos
- Un entorno Linux con las herramientas de ArchISO disponibles (Arch Linux o una distribución compatible).
- Acceso
sudo. - El paquete
archiso. - Suficiente espacio en disco (varios GB) y acceso a red para descargar paquetes.
Instala la dependencia:
sudo pacman -S archiso
Comando de construcción
Ejecuta desde la raíz del repositorio:
./xbuild.sh
Qué hace xbuild.sh
- Comprueba que
pacman.confyprofiledef.shexisten en el directorio actual. - Intenta un desmontaje lazy de los puntos de montaje obsoletos bajo
work/x86_64/airootfs(evita errores de "target is busy" de ejecuciones anteriores). - Elimina los directorios previos
work/yout/. - Ejecuta
sudo mkarchiso -C pacman.conf -v -w ./work -o ./out ., volcando toda la salida a un archivo de log con marca de tiempo. - Verifica que se haya producido al menos un ISO e imprime la ruta y el tamaño del artefacto; si no, imprime un mensaje y sale con estado distinto de cero.
Existe un equivalente minimalista en una línea, x.sh, que ejecuta el mismo
mkarchiso pero sin los pasos de limpieza ni verificación. xbuild.sh es el
punto de entrada recomendado.
Salidas
- Artefacto ISO:
out/x-YYYY.MM.DD-x86_64.iso(la fecha de versión viene deprofiledef.sh). - Log de construcción:
build-YYYYMMDD-HHMM.logen la raíz del repositorio.
Tanto work/ como out/ se recrean en cada construcción y están en
.gitignore, al igual que los archivos build-*.log.
Datos del perfil
profiledef.sh define los metadatos del ISO que usa mkarchiso:
iso_name:xiso_version:YYYY.MM.DD(basado en la fecha)iso_label:x_YYYYMMiso_publisher:Xscriptor <https://xscriptor.io/x>iso_application:X Live/Rescue DVD- Modos de arranque:
bios.syslinuxyuefi.grub - Imagen del sistema de archivos raíz: squashfs, comprimida con xz
- Permisos de archivo para ficheros sensibles/del entorno en vivo (por
ejemplo
/etc/shadow, los scripts deairootfs/rooty las utilidades de/usr/local/bin, incluidaxinstall).
Paquetes y repositorios usados por la construcción
-
packages.x86_64es el manifiesto completo de paquetes del ISO en vivo. Incluye el sistema base más tooling de rescate/en vivo, fuentes, un navegador (Firefox), los paquetes de Xx-releaseyx-dev(del repositorio[x]) ygum(usado por la interfaz del instalador de texto). -
bootstrap_packages.x86_64es el conjunto mínimo (base,arch-install-scripts) que archiso usa para el root de arranque. -
pacman.confañade el repositorio propio:[x] SigLevel = Never Server = https://equislinux.github.io/x-repo/repo/x86_64El host de build usa
Never(puede no tener la clave del proyecto). El ISO live y el destino instalado usanSigLevel = Required: la clave pública viaja en/etc/pacman.d/x-repo.pub; en el entorno en vivopacman-init.servicerecrea el keyring en tmpfs yx-keyring.serviceimporta y firma localmente la clave del proyecto, mientras queinstall.shprepara el keyring del destino de la misma forma. -
El payload de aprovisionamiento (
x-scripts0.1.0-30) se incluye offline dentro del ISO enairootfs/root/x-installer/packages/x-scripts-0.1.0-30-any.pkg.tar.zst, de modo que el instalador no necesita descargarlo de la red durante la instalación. El instalador lo usa para aprovisionar el destino y para registrar la primera generación (0001) al final de la instalación.
Solución de problemas
- Si no se genera ningún ISO, inspecciona primero el log de construcción
(
build-*.log). - Causas de fallo habituales:
- espacio en disco insuficiente;
- errores en la lógica de personalización del perfil;
- configuración de perfil inválida en
profiledef.sh; - montajes obsoletos bajo
work/x86_64/airootfs(el script intenta limpiarlos; si hace falta, desmonta consudo umount -R work/x86_64/airootfs).
Construcciones WSL (repositorios dedicados)
WSL no se construye desde este repositorio. El flujo canónico vive en:
| Repositorio | Rol |
|---|---|
equislinux/wsl | build-rootfs.sh produce un tarball de rootfs importable (.tar.gz + .sha256); install.ps1 lo importa en Windows. Release publicada: v0.1.0. |
equislinux/wsl-scripts | Aprovisionamiento en dos etapas dentro de la distro (stage-root.sh / stage-user.sh). |
Los dos repositorios de arriba son la fuente de verdad para construir y aprovisionar X en WSL.