Arquitectura del sistema MiniOS
Este documento ofrece una visión técnica general de la arquitectura de MiniOS. Explica cómo interactúan los componentes del sistema para crear una distribución Live de Linux portátil.
Descripción general
MiniOS se basa en una arquitectura modular que utiliza un sistema de archivos multinivel y módulos SquashFS. Esta estructura garantiza flexibilidad, portabilidad y la capacidad de preservar datos al trabajar desde medios extraíbles.
Componentes clave
1. Sistema de arranque
- Gestores de arranque: ISOLINUX/SYSLINUX para BIOS Legacy y GRUB para UEFI.
- Proceso de arranque: El gestor de arranque inicia el kernel y el
initramfs, que inicializa el hardware y monta los sistemas de archivos, tras lo cual se inicia el entorno gráfico.
2. Arquitectura del sistema de archivos
El sistema utiliza una estructura multinivel, donde cada capa cumple su función.
Descripción de las capas:
- Capa de arranque: Contiene el kernel de Linux y el
initramfs. - Capa base: El núcleo de MiniOS en forma de módulos SquashFS comprimidos.
- Capas de módulos: Software adicional en forma de archivos SquashFS independientes.
- Capa overlay: Permite guardar los cambios del usuario.
3. Sistema modular
Módulos SquashFS (.sb):
- 01-kernel.sb: Kernel de Linux y controladores.
- 02-firmware.sb: Firmware para hardware.
- 03-gui-base.sb: Componentes básicos de la interfaz gráfica.
- 04-desktop.sb: Entorno de escritorio.
- 05-apps.sb: Conjunto de aplicaciones.
Carga de módulos:
- Los módulos se cargan en el orden de su numeración.
- Cada módulo se monta como una capa "solo lectura".
- Los módulos con un número mayor pueden sobrescribir archivos de módulos con un número menor.
Arquitectura en tiempo de ejecución
Componentes del sistema Live
live-config: Responsable de la configuración inicial del hardware y de crear el usuariolive.- Sistema de persistencia: Permite guardar datos entre sesiones.
Estructura de almacenamiento en la unidad USB:
text
/minios/
├── boot/ # Kernel and boot files
├── modules/ # SquashFS modules
└── changes/ # Storage for persistent data