OrejanOS | Guía del Orquestador

Una tecla, un menú, una cadena. Todo BASH, todo bajo control.

$ ./OrejanOS.sh --help

OrejanOS.sh es el orquestador de OrejanOS: un menú interactivo escrito en BASH puro que unifica y coordina todos los instaladores del sistema. Desde él se descargan los módulos, se ejecutan en el orden correcto y se lleva registro de qué quedó hecho y qué falta.

Funciona con selección de una sola tecla — no hace falta pulsar Enter — y antes de cada lectura limpia el búfer del teclado, de modo que las teclas que hayan quedado acumuladas de pantallas anteriores no provoquen selecciones accidentales. En cualquier momento podés salir limpiamente con [Ctrl][C]: el script restaura la terminal y se despide como corresponde, sin dejarte el cursor fuera de servicio.

Requisitos: BASH, y para la gestión de módulos, curl y tar. Los instaladores esenciales requieren privilegios de root — el menú te avisa si no los tenés. La descarga de módulos requiere conexión a Internet.

$ ls -l1 modulos/

La primera vez que ejecutás el orquestador, no hay módulos. El menú lo sabe, y por eso muestra solo 2 opciones: [M] (gestión de módulos) y [!] (salir). Las opciones de instalación permanecen ocultas — sin alterar la lógica interna del menú — hasta que modulos/ tenga contenido.

La opción [M] descarga todos los módulos de OrejanOS directamente desde Codeberg, elimina cualquier versión anterior y descomprime a las nuevas en modulos/. Es también el mecanismo de actualización: correr [M] de nuevo reinstala todos los módulos en su última versión, limpiamente y sin acumular residuos.

Si no hay conectividad, [M] lo informa y muestra las URLs de todos los módulos para que puedas descargarlos a mano, descomprimirlos y colocarlos dentro de modulos/. Y si una sola descarga falla, el proceso se aborta por completo, se limpian los archivos a medio bajar, y se te ofrecen las URLs manuales. Nunca queda un "módulo basura" (es decir, a medio instalar).

$ cat menu_opciones.txt

El mapa completo del menú, en su versión 0.78.149:

[1] EFI_acomodeitor — [OPCIONAL] Gestor de NVRAM de OrejanOS
[2] InstaCrux — [ESENCIAL] Instalador de la base CRUX
[3] EtherFi — [ESENCIAL] Conector de red
[4] crux-instapelao — [ESENCIAL] X11, PulseAudio y resto de base
[5] InstaMate — [ESENCIAL] Escritorio MATE con tema OrejanOS
[6] insta_etherfork — [ESENCIAL] Gestor de red de OrejanOS
[7] insta_ttylog — [SUGERIDO] Pantalla de LogIn de OrejanOS
[8] InstaProgs — [ESENCIAL] Programas necesarios
[M] Instalar / Actualizar módulos
[I] Inyector de ISOs de OrejanOS
[!] Salir

Las opciones ya completadas se muestran en gris; las pendientes, en celeste. El menú lleva registro por sí mismo de tu progreso.

$ cat cadena_estricta.log

Las opciones del menú se dividen en 2 clases:

Opciones libres: las opciones [1], [3], [M] e [I] se pueden ejecutar en cualquier orden y cuantas veces quieras. Son herramientas de preparación, instalación de la base, conexión y mantenimiento — repetibles a gusto.

Opciones encadenadas: las opciones [4] a [8] — más InstaCrux (la 2) como punto de partida — forman una cadena de orden estricto y transitivo:

2 → 4 → 5 → 6 → 7 → 8

Ninguna puede saltarse por encima de otra. Y la verificación es inteligente: el orquestador revisa la cadena completa desde el principio y te dice exactamente cuál es el primer paso pendiente, sin importar qué opción intentaste ejecutar. Si corriste la 6 sin haber hecho la 5, el aviso no te regaña genéricamente: te dice "en este momento, corresponde la ejecución de la opción [5]". Después de un toque de tecla, volvés al menú general. Nada termina, nada revienta: el control de flujo siempre te devuelve a casa, sanos y salvos el usuario y el sistema.

$ reboot # UNA sola vez

Toda la instalación de OrejanOS exige un único reinicio obligatorio, y ocurre después de InstaCrux. La razón es de las que no admite discusión: las opciones 4 a 8 escriben configuraciones persistentes, ports compilados y entornos gráficos sobre el sistema instalado en el medio de almacenamiento — y eso solo existe después de reiniciar e ingresar al sistema real.

El orquestador lo verifica por sí mismo: detecta si está corriendo desde el entorno efímero de una ISO en vivo, y en ese caso se niega a ejecutar los módulos 4 a 8, explicando por qué — todo lo que escribieras quedaría en RAM y se perdería al apagar. Y remata con la mejor noticia: este es el único reinicio obligatorio de toda la instalación; a partir de aquí, no hará falta ninguno más.

$ ls -a control/

El registro de progreso vive en el directorio control/, creado automáticamente junto al script. Cada módulo, al completarse exitosamente, deja un archivo testigo -un marcador oculto- a modo de sello de finalización, mediante el código de retorno acordado entre el orquestador y sus módulos.

Esos testigos alimentan a las 2 verificaciones que ya viste: el gris del menú (qué está hecho) y la cadena estricta (qué corresponde hacer ahora). Y como viven en el medio de almacenamiento, sobreviven entre sesiones: podés cerrar el orquestador, apagar la máquina, y al volver, tu progreso seguirá exactamente desde el lugar en donde lo dejaste.

$ dmesg | grep orejanos

Los detalles que hacen al uso cotidiano:

— Una tecla por opción: no hace falta pulsar [Enter].
— Búfer limpio: las teclas acumuladas de pantallas previas se descartan antes de leer tu elección.
— [Ctrl][C] en cualquier punto: salida limpia y educada, terminal intacta.
— Opción no válida: aviso breve en rojo y de vuelta al menú.
— Módulo no encontrado: se te indica utilizar [M] para descargarlo o actualizarlo.
— Sin conexión: [M] ofrece las URLs correspondientes para la descarga manual de las mismas.
— EFI_acomodeitor e InstaCrux corren con el usuario actual (desde la ISO de CRUX ya se es root por omisión); el resto de los instaladores esenciales gestionan sus privilegios por sí mismos.
— La opción [I] (inyector de ISOs) -y otras- aparece solo cuando hay módulos presentes.

$ history | tail -n 10

El flujo recomendado de una instalación completa:

1. [I] (Opcional, desde otro sistema) Inyectar los módulos dentro de una ISO de CRUX con el inyector, si no tenés "la ISO de Entropía" a mano.
2. [M] Descargar o actualizar los módulos (requiere conexión).
3. [1] (Opcional) Ordenar y depurar la NVRAM antes de instalar.
4. [2] InstaCrux: particionado, base CRUX, kernel compilado.
5. → REINICIAR (el único obligatorio) e ingresar al sistema instalado.
6. [3] EtherFi: conexión de red desde la tty, si es necesaria.
7. [4] → [5] → [6] → [7] → [8] La cadena, en su orden estricto.

Las opciones libres quedan disponibles durante todo el proceso, cada vez que las necesites. El orquestador se ocupa de que el resto fluya por el único camino correcto.

[ ← Volver a la portada ] [ Ver: Módulos ] [ Ver: Descarga ]