Pular para o conteúdo

Arquitetura do Sistema MiniOS ​

Este documento fornece uma visão técnica da arquitetura do MiniOS. Ele explica como os componentes do sistema interagem para criar uma distribuição Linux Live portátil.

Visão Geral ​

O MiniOS é baseado em uma arquitetura modular que utiliza um sistema de arquivos em camadas e módulos SquashFS. Essa estrutura garante flexibilidade, portabilidade e a capacidade de preservar dados ao trabalhar a partir de mídias removíveis.

Componentes Principais ​

1. Sistema de Boot ​

  • Bootloaders: ISOLINUX/SYSLINUX para BIOS Legacy e GRUB para UEFI.
  • Processo de Boot: O bootloader inicia o kernel e o initramfs, que inicializa o hardware e monta os sistemas de arquivos, após o que o ambiente gráfico é iniciado.

2. Arquitetura do Sistema de Arquivos ​

O sistema utiliza uma estrutura em múltiplas camadas, onde cada camada desempenha sua função.

Descrição das Camadas:

  1. Camada de Boot: Contém o kernel Linux e o initramfs.
  2. Camada Base: O núcleo do MiniOS em forma de módulos SquashFS compactados.
  3. Camadas de Módulos: Softwares adicionais em arquivos SquashFS separados.
  4. Camada de Overlay: Permite salvar alterações do usuário.

3. Sistema Modular ​

Módulos SquashFS (.sb):

  • 01-kernel.sb: Kernel Linux e drivers.
  • 02-firmware.sb: Firmware para hardware.
  • 03-gui-base.sb: Componentes básicos da interface gráfica.
  • 04-desktop.sb: Ambiente de desktop.
  • 05-apps.sb: Pacote de aplicativos.

Carregamento dos Módulos:

  • Os módulos são carregados de acordo com sua numeração.
  • Cada módulo é montado como uma camada "somente leitura".
  • Módulos com numeração maior podem sobrescrever arquivos de módulos com numeração menor.

Arquitetura em Tempo de Execução ​

Componentes do Sistema Live ​

  • live-config: Responsável pela configuração inicial do hardware e criação do usuário live.
  • Sistema de Persistência: Permite salvar dados entre as sessões.

Estrutura de Armazenamento no Pen Drive USB:

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