Aller au contenu

Architecture du système MiniOS ​

Ce document fournit une vue d’ensemble technique de l’architecture de MiniOS. Il explique comment les composants du système interagissent pour créer une distribution Linux Live portable.

Vue d’ensemble ​

MiniOS repose sur une architecture modulaire utilisant un système de fichiers multi-couches et des modules SquashFS. Cette structure garantit flexibilité, portabilité et la possibilité de conserver les données lors de l’utilisation sur des supports amovibles.

Composants clés ​

1. Système de démarrage ​

  • Bootloaders : ISOLINUX/SYSLINUX pour les BIOS Legacy et GRUB pour l’UEFI.
  • Processus de démarrage : Le bootloader lance le noyau et initramfs, qui initialise le matériel et monte les systèmes de fichiers, après quoi l’environnement graphique démarre.

2. Architecture du système de fichiers ​

Le système utilise une structure multi-couches, où chaque couche remplit sa fonction.

Description des couches :

  1. Couche de démarrage : Contient le noyau Linux et initramfs.
  2. Couche de base : Le cœur de MiniOS sous forme de modules SquashFS compressés.
  3. Couches de modules : Logiciels additionnels sous forme de fichiers SquashFS séparés.
  4. Couche overlay : Permet de sauvegarder les modifications de l’utilisateur.

3. Système modulaire ​

Modules SquashFS (.sb) :

  • 01-kernel.sb : Noyau Linux et pilotes.
  • 02-firmware.sb : Microprogrammes pour le matériel.
  • 03-gui-base.sb : Composants de l’interface graphique de base.
  • 04-desktop.sb : Environnement de bureau.
  • 05-apps.sb : Suite d’applications.

Chargement des modules :

  • Les modules sont chargés dans l’ordre de leur numérotation.
  • Chaque module est monté comme une couche « en lecture seule ».
  • Les modules avec un numéro supérieur peuvent écraser les fichiers des modules avec un numéro inférieur.

Architecture à l’exécution ​

Composants du système Live ​

  • live-config : Responsable de la configuration initiale du matériel et de la création de l’utilisateur live.
  • Système de persistance : Permet de sauvegarder les données entre les sessions.

Structure de stockage sur la clé USB :

text
/minios/
├── boot/      # Kernel and boot files
├── modules/   # SquashFS modules
└── changes/   # Storage for persistent data