CarlOS 0.2 Alpha

Un sistema
que se presenta
antes de arrancar.

Kernel propio, BusyBox y un init llamado SCINIT que detecta tu CPU y tu RAM de verdad antes de mostrarlas en pantalla. Nombre en clave de esta versión: Ruby of Sistem.

/dev/sr0 — CarlOS Boot ROM

Hecho por una persona, no por un equipo.

CarlOS nació como un ISO de 42 MB armado a mano: kernel propio compilado desde cero, BusyBox como caja de herramientas y un init con nombre propio. La primera versión salió después de seis días seguidos de trabajo.

La 0.2 Alpha no cambia la arquitectura — sigue siendo initramfs + SCINIT + Base System — pero cierra las grietas que dejó la 0.1 y deja preparado el terreno para lo que sigue: un userland que hable Ruby.

 __    ___      _         
/ _\  / __\ __ | | ____ _ 
\ \  / / | '_ \| |/ / _` |
_\ \/ /__| |_) |   < (_| |
\__/\____/ .__/|_|\_\__, |
         |_|        |___/ 

Cada línea del arranque es real.

El Boot ROM no es una animación de mentiras: lee /proc/cpuinfo y /proc/meminfo en el momento y los va escribiendo letra por letra. SCINIT retoma desde ahí y monta el sistema base en seis pasos.

Probado en máquinas que ya nadie prueba.

CarlOS no se diseña pensando en hardware ideal — se prueba en lo que hay: una laptop con un dual-core de 2010 sin instrucciones SSE4, y un OptiPlex de oficina como banco de pruebas secundario.

Sony Vaio VPCEE22FX

  • AMD Turion II P520, 2 núcleos
  • Sin SSSE3 / SSE4.1 / SSE4.2
  • Radeon HD 4225/4250
  • Máquina principal de desarrollo

Dell OptiPlex 390

  • Intel Core i5-2400, 4 núcleos
  • Sandy Bridge, ~3.7 GB RAM
  • Accedido por SSH/SSHFS
  • Banco de pruebas secundario

Corre en casi cualquier cosa.

El kernel se compila con soporte universal, todo built-in — sin cargar módulos. Cubre las cuatro familias de tarjeta gráfica y prácticamente cualquier disco, USB o red que te encuentres.

Gráficos

  • AMD — Radeon y AMDGPU
  • Intel — i915
  • Nvidia — Nouveau (libre)
  • VESA / EFI de respaldo universal

Almacenamiento y más

  • SATA, IDE, NVMe, USB, SD
  • ext4, FAT, exFAT, NTFS, ISO9660
  • Red Intel y Realtek
  • Teclado, mouse y touchpad

Si tu hardware no es compatible con lo que usas... es que no sabemos qué verduras estás usando. 🥦

De la 0.1 a Ruby of Sistem.

0.1 Alpha — hecha

El primer boot real

Kernel propio + BusyBox 1.36.1 + SCINIT. 42 MB, seis días de trabajo, un ISO que arranca de verdad.

0.2 Alpha — en curso · nombre en clave "Ruby of Sistem"

Cerrando las grietas

SCINIT deja de intentar remontar /proc, /sys y /dev por segunda vez; scfetch recupera su permiso de ejecución; carlosinfo deja de buscar archivos de logo que ya no existen. El nombre en clave es la primera seña formal de hacia dónde va el userland.

Próximo

Una shell en Ruby sobre la misma base

BusyBox se queda — no se reemplaza de raíz. Encima de SCINIT llega una shell y utilidades propias escritas en Ruby.

Descarga CarlOS 0.2 Alpha.

Imagen booteable (ISO), lista para grabar en un USB o CD, o probar en QEMU. Arranca, escribe startc para el escritorio o moskau para el Tetris.

Grabar a USB: sudo dd if=CarlOS-0.2-Alpha-RubyOfSistem.iso of=/dev/sdX bs=4M status=progress · O en QEMU: qemu-system-x86_64 -cdrom CarlOS-0.2-Alpha-RubyOfSistem.iso -m 1024 -boot d