Repository navigation
config.conf
config.conf is the main MiniOS preconfiguration file. On a normal MiniOS medium it is stored as minios/config.conf. During boot, the initramfs synchronizes it with /etc/live/config.conf in the assembled system.
Use this file to prepare how MiniOS starts and how a new persistent session is initialized. It is primarily an administrator-facing preconfiguration mechanism, not a replacement for the normal configuration tools of the running desktop.
The Reconfigurable column below uses these meanings:
- Yes — the setting can be changed and applied again on a later boot.
- First boot only — the setting is used when the corresponding persistent state is first created and is not normally reapplied on subsequent boots.
This distinction is part of the behavior users need to know. Internal live-config state files are implementation details and do not replace it.
A current MiniOS image generates a config.conf with this general structure:
# live-config settings
LIVE_CONFIG_CMDLINE="components nottyautologin"
LIVE_HOSTNAME="minios"
LIVE_USERNAME="live"
LIVE_USER_FULLNAME="MiniOS Live User"
LIVE_USER_DEFAULT_GROUPS="dialout cdrom floppy audio video plugdev users fuse plugdev netdev powerdev scanner bluetooth weston-launch kvm libvirt libvirt-qemu vboxusers lpadmin dip sambashare docker wireshark"
LIVE_USER_PASSWORD_CRYPTED='$y$...'
LIVE_ROOT_PASSWORD_CRYPTED='$y$...'
LIVE_CONFIG_NOROOT=""
LIVE_LOCALES="en_US.UTF-8"
LIVE_TIMEZONE="Etc/UTC"
LIVE_KEYBOARD_MODEL="pc105"
LIVE_KEYBOARD_LAYOUTS="us,us"
LIVE_KEYBOARD_OPTIONS="grp:alt_shift_toggle,grp_led:scroll"
LIVE_KEYBOARD_VARIANTS=","
LIVE_CONFIG_DEBUG="true"
LIVE_LINK_USER_DIRS="false"
LIVE_BIND_USER_DIRS="false"
LIVE_USER_DIRS_PATH="/minios/userdata"
LIVE_MODULE_MODE="merged"
# MiniOS LiveKit settings.
DEFAULT_TARGET="graphical.target"
ENABLE_SERVICES="ssh"
DISABLE_SERVICES=""
EXPORT_LOGS="false"The exact values depend on the image and build configuration.
::: warning LIVE_CONFIG_CMDLINE is not the initramfs command line
LIVE_CONFIG_CMDLINE supplies options after the MiniOS root has been assembled. Parameters such as from=, load=, toram, and perchdir= must be real kernel boot parameters; putting them only in LIVE_CONFIG_CMDLINE is too late to affect the initramfs. The storage-policy options log-storage=, apt-cache=, and browser-cache= are a specific exception: minios-boot reads them from LIVE_CONFIG_CMDLINE before normal services start.
:::
| Parameter | Reconfigurable | Meaning |
|---|---|---|
LIVE_CONFIG_CMDLINE |
Yes | Additional live-config options. The actual kernel command line is appended later and wins for repeated options. |
LIVE_HOSTNAME |
Yes | System hostname. |
LIVE_USERNAME |
First boot only | Name of the live user created during initial setup. |
LIVE_USER_FULLNAME |
First boot only | Full name of the live user. |
LIVE_USER_DEFAULT_GROUPS |
First boot only | Supplementary groups assigned when the live user is created. |
LIVE_USER_PASSWORD_CRYPTED |
First boot only | Crypt hash for the live-user password. |
LIVE_ROOT_PASSWORD_CRYPTED |
First boot only | Crypt hash for the root password. |
LIVE_CONFIG_NOROOT |
First boot only | When enabled, suppresses the MiniOS root-password, sudo, and PolicyKit privilege setup. |
LIVE_LOCALES |
Yes | One or more system locales. |
LIVE_TIMEZONE |
Yes | System time zone, for example Europe/Berlin or Etc/UTC. |
LIVE_KEYBOARD_MODEL |
Yes | XKB keyboard model. |
LIVE_KEYBOARD_LAYOUTS |
Yes | Comma-separated keyboard layouts. |
LIVE_KEYBOARD_OPTIONS |
Yes | XKB keyboard options. |
LIVE_KEYBOARD_VARIANTS |
Yes | Comma-separated variants matched to the configured layouts. |
LIVE_CONFIG_DEBUG |
Yes | Enables live-config debug output when set to true. |
LIVE_LINK_USER_DIRS |
Yes | Links managed user directories to the configured location on writable MiniOS media. Unavailable with bind mode, any toram mode, or an active LUKS-encrypted persistence session. |
LIVE_BIND_USER_DIRS |
Yes | Bind-mounts managed user directories from the configured location on writable MiniOS media. Unavailable with link mode, any toram mode, or an active LUKS-encrypted persistence session. |
LIVE_USER_DIRS_PATH |
Yes | Location used by link/bind user-directory mode. |
LIVE_MODULE_MODE |
Yes | Selects simple or merged live-config module integration. |
LIVE_LOG_STORAGE |
Yes |
persistent (default) or volatile for ordinary system logs. Boot diagnostics remain persistent; see Performance. |
LIVE_APT_CACHE |
Yes |
persistent (default) or volatile for downloaded APT archives; package state and repository lists stay persistent. |
LIVE_BROWSER_CACHE |
Yes |
persistent (default) or volatile for standard native-browser cache paths. Browser profiles remain persistent. |
DEFAULT_TARGET |
Yes | Boot target: graphical.target, multi-user.target, or rescue.target. |
ENABLE_SERVICES |
Yes | Comma-separated services enabled at boot through minios-svc. |
DISABLE_SERVICES |
Yes | Comma-separated services disabled at boot through minios-svc. |
EXPORT_LOGS |
Yes | When true, exports MiniOS and live-config startup logs to writable MiniOS media. |
The generated file is not an exhaustive list of everything supported by minios-live-config. Additional variables for wired network preconfiguration, security posture, hooks, preseeding, Xorg, and other components can be added manually. See live-config for the complete reference.
The user-media component refuses both activation and copy-back while the active persistence session is LUKS-encrypted. It uses the actual runtime encryption state: the perchencrypt=luks kernel parameter only requests encryption when creating a new session and does not describe an existing session.
MiniOS can preconfigure a wired IPv4 policy through the live-config network component. This is intended for administrative preconfiguration of a system before it starts on the target hardware.
For example:
LIVE_NETWORK_METHOD="static"
LIVE_NETWORK_INTERFACE="enp1s0"
LIVE_NETWORK_ADDRESS="192.0.2.10"
LIVE_NETWORK_PREFIX="24"
LIVE_NETWORK_GATEWAY="192.0.2.1"
LIVE_NETWORK_DNS="1.1.1.1,9.9.9.9"
LIVE_NETWORK_BACKEND="auto"These settings are First boot only for the persistent network policy. After successful application, the component records /var/lib/live/config/network.
Changing the values does not overwrite an already configured persistent session unless that state is deliberately reset.
LIVE_NETWORK_METHOD=static writes a static policy. off disables automatic IPv4 for the selected interface. An unset value or dhcp leaves the image's existing network setup unchanged. LIVE_NETWORK_BACKEND=auto prefers NetworkManager and falls back to ifupdown.
This facility does not configure Wi-Fi. After boot, ordinary wired and wireless networking is managed by NetworkManager. See Networking for runtime network use and live-config for all network variables.
DEFAULT_TARGET, ENABLE_SERVICES, DISABLE_SERVICES, EXPORT_LOGS, and the three LIVE_* storage policies above are MiniOS boot settings rather than late live-config component variables. MiniOS applies them before the normal init system takes over; minios-boot owns the three storage policies. They are all Reconfigurable: Yes.
The corresponding boot parameters default-target=, enable-services=, and disable-services= take precedence for the current boot. The text parameter forces multi-user.target.
Current Toolbox and Ultra builds add ssh to ENABLE_SERVICES. To explicitly turn SSH off, put it in DISABLE_SERVICES; merely removing it from ENABLE_SERVICES does not request a disable operation.
With EXPORT_LOGS="true", writable MiniOS media receives startup logs below:
minios/log/YYYYMMDD_HHMMSS/
├── minios/
└── live/
The corresponding runtime logs are /var/log/minios/minios-boot.log and /var/log/live/config.log.
To reduce writes during a perch session, add the settings independently:
LIVE_LOG_STORAGE="volatile"
LIVE_APT_CACHE="volatile"
LIVE_BROWSER_CACHE="volatile"They also accept persistent, the default. minios-boot accepts the same settings from /etc/live/config.conf.d/*.conf, LIVE_CONFIG_CMDLINE (log-storage=volatile, apt-cache=volatile, browser-cache=volatile), or kernel parameters. Later fragments replace earlier ones, the parameter blob wins over file keys, and actual kernel parameters win last. The three options are independent and do not themselves request persistence. A compatible initrd advertises perch-storage-v1 at /run/initramfs/etc/minios-initramfs-storage; MiniOS Configurator warns when the current initrd does not advertise it.
The policies require successful persistence activation, either on durable writable storage or as a writable RAM session with protected ram-origin information. System toram alone does not determine session durability: perchtoram=off can retain an on-storage session, while a copied session still requires saving. Failed persistence and Start without saving do not qualify. Boot diagnostics are retained separately from ordinary volatile logs, but remain memory-backed in a RAM-copied session until saved. The browser-cache component runs after the live user has been created. See Performance for RAM limits, supported paths, and admission conditions.
The selected MiniOS data directory normally contains these source files:
| Selected data directory | Running system |
|---|---|
config.conf |
/etc/live/config.conf |
config.conf.d/*.conf |
/etc/live/config.conf.d/*.conf |
On normally mounted media they are visible as minios/config.conf and minios/config.conf.d/*.conf, often below /run/initramfs/memory/data/ while the system is running.
Synchronization happens at boot; it is not a file monitor:
- The newer copy of
config.confwins by modification time. A newer media copy is copied into the live root. A newer runtime copy is copied back only when the selected MiniOS data directory is writable. - Each
config.conf.d/*.conffile is synchronized independently by basename using the same timestamp and writability rules. Files are not deleted from either side. - If the clock is earlier than the recorded last synchronization time, timestamp comparison is skipped and only missing destination files are filled.
-
toram=trimcopiesconfig.confbut omitsconfig.conf.d/. Fulltoramcopies the data tree, but synchronization then targets the RAM copy rather than the detached source medium. After synchronization,live-configreads/etc/live/config.conffirst and then/etc/live/config.conf.d/*.confin shell glob order. A later fragment can therefore replace a value from the main file or an earlier fragment.
The actual kernel command line is appended to LIVE_CONFIG_CMDLINE. For an option that occurs more than once, the later kernel-command-line occurrence wins. For the three storage policies, minios-boot reads the synchronized main file, then its fragments, then the option blob, and finally the actual kernel command line; the last setting wins.
You can add project-specific shell variables to config.conf or its fragments and read them from the runtime copies. Quote values as shell strings and do not put spaces around =.
- Boot parameters — parameters that must be placed on the actual kernel command line and live-config overrides.
- live-config — complete late-userspace parameter, variable, component, and state reference.
-
Boot modes — how persistence and
toramaffect configuration storage.
🌐 Languages
📋 Getting started
🚀 Installing MiniOS
- Installation methods
- Verifying downloads
- Installation tools
- Manual file-based installation
- MiniOS Installer
🖥️ Using MiniOS
⚙️ Preparing and customizing MiniOS
- Preconfiguring MiniOS
- Managing modules
- Managing kernels
- Creating custom MiniOS images
- Customizing the boot menu
🛡️ Maintenance and recovery
📖 Reference
- System architecture
- Boot process
- Boot parameters
- Configuration
- Package and edition contents
🛠️ Development
📋 Erste Schritte
🚀 MiniOS installieren
- Installationsmethoden
- Downloads verifizieren
- Installationswerkzeuge
- Manuelle dateibasierte Installation
- MiniOS-Installationsprogramm
🖥️ MiniOS verwenden
⚙️ MiniOS vorbereiten und anpassen
- MiniOS vorkonfigurieren
- Module verwalten
- Kernel verwalten
- Eigene MiniOS-Images erstellen
- Startmenü anpassen
🛡️ Wartung und Wiederherstellung
📖 Referenz
- Systemarchitektur
- Startvorgang
- Startparameter
- Konfiguration
- Paket- und Editionsinhalte
🛠️ Entwicklung
📋 Primeros pasos
🚀 Instalando MiniOS
- Métodos de instalación
- Verificación de descargas
- Herramientas de instalación
- Instalación manual basada en archivos
- Instalador de MiniOS
🖥️ Usar MiniOS
⚙️ Preparar y personalizar MiniOS
- Preconfiguración de MiniOS
- Gestión de módulos
- Gestión de kernels
- Creación de imágenes personalizadas de MiniOS
- Personalizar el menú de arranque
🛡️ Mantenimiento y recuperación
- Actualizar MiniOS
- Copia de seguridad de MiniOS
- Solución de problemas
- Seguridad
- Rendimiento
- Virtualización
📖 Referencia
- Arquitectura del sistema
- Proceso de arranque
- Parámetros de arranque
- Configuración
- Contenido de paquetes y ediciones
🛠️ Desarrollo
📋 Premiers pas
🚀 Installation de MiniOS
- Méthodes d'installation
- Vérification des téléchargements
- Outils d'installation
- Installation manuelle basée sur les fichiers
- Programme d’installation MiniOS
🖥️ Utiliser MiniOS
⚙️ Préparer et personnaliser MiniOS
- Préconfiguration de MiniOS
- Gestion des modules
- Gestion des noyaux
- Créer des images MiniOS personnalisées
- Personnaliser le menu de démarrage
🛡️ Maintenance et récupération
📖 Référence
- Architecture du système
- Processus de démarrage
- Paramètres de démarrage
- Configuration
- Contenu des paquets et éditions
🛠️ Développement
📋 Memulai
🚀 Menginstal MiniOS
- Metode instalasi
- Memverifikasi unduhan
- Alat instalasi
- Instalasi manual berbasis file
- Penginstal MiniOS
🖥️ Menggunakan MiniOS
⚙️ Menyiapkan dan menyesuaikan MiniOS
- Pra-konfigurasi MiniOS
- Mengelola modul
- Mengelola kernel
- Membuat citra MiniOS kustom
- Menyesuaikan menu boot
🛡️ Pemeliharaan dan pemulihan
📖 Referensi
- Arsitektur sistem
- Proses boot
- Parameter boot
- Konfigurasi
- Isi paket dan edisi
🛠️ Pengembangan
📋 Per iniziare
🚀 Installazione di MiniOS
- Metodi di installazione
- Verifica dei download
- Strumenti di installazione
- Installazione manuale basata su file
- Installatore MiniOS
🖥️ Usare MiniOS
⚙️ Preparare e personalizzare MiniOS
- Preconfigurazione di MiniOS
- Gestione dei moduli
- Gestione dei kernel
- Creazione di immagini MiniOS personalizzate
- Personalizzazione del menu di avvio
🛡️ Manutenzione e ripristino
- Aggiornamento di MiniOS
- Backup di MiniOS
- Risoluzione dei problemi
- Sicurezza
- Prestazioni
- Virtualizzazione
📖 Riferimento
- Architettura di sistema
- Processo di avvio
- Parametri di avvio
- Configurazione
- Contenuto di pacchetti ed edizioni
🛠️ Sviluppo
📋 Primeiros passos
🚀 Instalando o MiniOS
- Métodos de instalação
- Verificando downloads
- Ferramentas de instalação
- Instalação manual baseada em arquivos
- Instalador do MiniOS
🖥️ Usar MiniOS
⚙️ Preparando e personalizando o MiniOS
- Pré-configurando o MiniOS
- Gerenciando módulos
- Gerenciando kernels
- Criando imagens personalizadas do MiniOS
- Personalizando o menu de boot
🛡️ Manutenção e recuperação
- Atualizando o MiniOS
- Fazendo backup do MiniOS
- Solução de problemas
- Segurança
- Desempenho
- Virtualização
📖 Referência
- Arquitetura do sistema
- Processo de boot
- Parâmetros de boot
- Configuração
- Conteúdo dos pacotes e edições
🛠️ Desenvolvimento
📋 Начало работы
🚀 Установка MiniOS
- Методы установки
- Проверка загрузок
- Инструменты установки
- Ручная установка на основе файлов
- Установщик MiniOS
🖥️ Использование MiniOS
⚙️ Подготовка и настройка MiniOS
- Предварительная настройка MiniOS
- Управление модулями
- Управление ядрами
- Создание пользовательских образов MiniOS
- Настройка загрузочного меню
🛡️ Обслуживание и восстановление
- Обновление MiniOS
- Резервное копирование MiniOS
- Устранение неполадок
- Безопасность
- Производительность
- Виртуализация
📖 Справочник
- Архитектура системы
- Процесс загрузки
- Параметры загрузки
- Конфигурация
- Содержимое пакета и редакций
🛠️ Разработка