Repository navigation
Network Boot de
Diese Seite beschreibt, wie MiniOS über das Netzwerk geladen wird: PXE (Kernel + initrd + MiniOS-Daten) und HTTP ISO (from=http://…). Das ist der einzige Zweck der Netzwerkanbindung im MiniOS-initramfs.
Es geht nicht um:
- Die Konfiguration von NetworkManager oder eine dauerhafte statische IP nach dem Systemstart
- WLAN im initrd
- live-config (spätes Userspace)
Die Netzwerkkonfiguration nach dem Boot ist separat. Für eine dauerhafte kabelgebundene statische IP verwende den Netzwerk-Schritt im Installer, NetworkManager oder ifupdown – nicht den PXE-Parameter ip=.
Siehe auch: Boot-Parameter (ip, from, cache).
| Modus | Was gebootet wird | Wie MiniOS-Daten bezogen werden |
|---|---|---|
| PXE | Kernel + initrd von einem Netzwerk-Boot-Server | Nicht-leeres ip= ohne from=http://… → initrd lädt MiniOS-Dateien vom PXE-Datenserver herunter |
| HTTP ISO | Kernel + initrd von lokalen Medien oder PXE |
from=http://…/minios.iso → initrd aktiviert das Netzwerk und bindet das ISO mit httpfs2 ein |
| Lokale Medien | USB / ISO / Festplatte | Kein initrd-Netzwerk; nur lokale Suche |
Initramfs-Builder: LiveKit (livekit-mos) oder dracut (dracut-mos). Beide verwenden die gleichen LiveKit-Netzwerk-Hilfsprogramme für das frühe Herunterladen.
find_data()
├─ from=http://… → configure network (ip= static, otherwise DHCP) → mount ISO (httpfs2)
├─ ip=… (non-empty) → configure network → PXE download of MiniOS data
└─ else → search local disks/ISO only (no network)
from=http://… hat Vorrang vor ip=. In diesem Modus liefert ip= die statische Adressierung für die HTTP-ISO-Verbindung. Andernfalls wählt jedes nicht-leere ip= den PXE-Datenpfad und überspringt lokale Medien. Fügen Sie ip= bei einem normalen USB/ISO-Boot nicht nur hinzu, um eine "statische Adresse zu setzen". Keiner der Netzwerkpfade fällt auf lokale Medien zurück, wenn die Erkennung oder der Download fehlschlägt.
| Voraussetzung | Hinweise |
|---|---|
| Kabelgebundenes Ethernet (oder virtio/vmxnet in VMs) | Erstes erkanntes Nicht-Loopback-Interface wird verwendet; Link und Erreichbarkeit werden nicht geprüft, und es gibt keine BOOTIF / ethdevice-Auswahl im initrd |
| Initrd mit Netzwerkmodulen | Erstellt für Paketvarianten außer dem internen minimum-Wert (--network, oft --cloud) |
| Keine Abhängigkeit von WLAN | Drahtlos wird im Netzwerk-Boot-Pfad nicht unterstützt |
| Bevorzuge NICs ohne Firmware-Blobs | Firmware-abhängige Karten funktionieren im initrd oft nicht |
| Bevorzuge Standard- oder größere Images | Die Flux-Edition lässt Netzwerk-NIC-Module weg, daher ist PXE / HTTP ISO effektiv nicht unterstützt |
| Nur HTTP für ISO-URL |
from=http://… funktioniert; https:// wird nicht unterstützt
|
Tools im initrd: busybox ifconfig, route, udhcpc, wget, tftp und @mount.httpfs2. Es gibt keinen NetworkManager im initrd.
- Firmware / PXE-Server lädt den MiniOS-Kernel und das initrd (pxelinux, iPXE, etc. – außerhalb von MiniOS selbst).
- Die Kernel-Cmdline enthält ein nicht-leeres
ip=(und normalerweiseboot=livefür einen vollständigen MiniOS-Boot). - Initrd konfiguriert eine statische Adresse aus
ip=, kontaktiert das Server-Feld, lädt eine Dateiliste herunter und anschließend MiniOS-Bundles/Dateien. - Das System startet wie gewohnt in das Live-Root weiter.
ip=<client-ip>:<server-ip>:<gateway-ip>:<netmask>[:<port>]
| Feld | Rolle |
|---|---|
| client-ip | Adresse, die mit busybox ifconfig zugewiesen wird |
| server-ip | Host für HTTP/TFTP MiniOS-Daten; wird im initrd auch als DNS-Nameserver eingetragen |
| gateway-ip | Standard-Gateway; wird im initrd ebenfalls als DNS-Nameserver eingetragen |
| netmask | Punktierte IPv4-Netzmaske (kein CIDR-Präfix) |
| port | Optionaler HTTP-Port für die Dateiliste und Dateien (Standard 7529) |
Beispiele:
ip=192.168.1.10:192.168.1.1:192.168.1.1:255.255.255.0
ip=192.168.1.10:192.168.1.1:192.168.1.1:255.255.255.0:8080
-
HTTP (bevorzugt):
http://<server-ip>:<port>/PXEFILELIST?<kernel-release>:<machine>und dann jeder in dieser Datei aufgeführte Pfad vom gleichen Host/Port. -
TFTP: busybox
tftpwird nur ausgewählt, wenn die initiale HTTP-Anfrage fürPXEFILELISTfehlschlägt. Ein späterer HTTP-Download-Fehler führt nicht zum Wechsel auf TFTP.
Der Standard-Port ist 7529, wenn das fünfte Feld weggelassen wird.
| Erwartung | Realität |
|---|---|
Kernel-/dracut-Formen (ip=dhcp, ip=:::::eth0:dhcp, …) |
Nicht unterstützt – wird als Client-Adresse fehlinterpretiert |
| Statische IP für die gesamte Live-Session | Nicht unterstützt – nach dem Boot verwaltet NetworkManager (oder Ähnliches) das Interface |
| Statische IP beim Laden von MiniOS-Daten von USB/ISO |
Nicht verwenden – ohne from=http://… erzwingt es den PXE-Daten-Download |
| Eigene DNS-Liste | Nur Gateway + Server werden im initrd als Nameserver verwendet |
Lade MiniOS-Daten von einer entfernten ISO, ohne eine vollständige PXE-Dateiliste:
from=http://192.168.1.1/path/minios.iso
Verhalten:
- Initrd aktiviert das Netzwerk:
- Wenn
ip=gesetzt ist → statische Konfiguration wie oben - Wenn
ip=fehlt → DHCP via busyboxudhcpc
- Wenn
- Mountet die entfernte ISO mit
httpfs2 - Sucht MiniOS-Inhalte auf diesem Mount weiter
Optional aktiviert cache= (Megabyte) einen httpfs-Download-Cache, z.B. cache=512.
Nur http:// wird für diesen Remote-ISO-Pfad akzeptiert. https:// wird nicht unterstützt.
| Element | Nach switch_root |
|---|---|
| Kernel-IP/Routes auf der NIC | Können bestehen bleiben, bis Userspace das Interface neu konfiguriert |
Initrd-DNS (resolv.conf) |
Keine dauerhafte Session-Policy |
| Netzwerk in der Session | Typischerweise NetworkManager auf Standard-MiniOS-Images |
Bedeutung von ip=
|
Nur für den frühen Download – kein dauerhaftes statisches Profil |
Wenn das Root-Dateisystem weiterhin über httpfs bereitgestellt wird, kann eine Neukonfiguration der NIC durch NetworkManager das Live-Root stören. Plane Netzwerk-Boot-Deployments entsprechend (z.B. Kopieren in den RAM / Vermeidung von Änderungen am Download-Interface, wo möglich).
Das späte Userspace-Tool live-config kann das Netzwerk kurzzeitig aktivieren, um entfernte Hooks/Preseeds herunterzuladen (Setup_network). Das ist unabhängig von PXE/ip=-dauerhafter Adressierung.
-
ip=auf einer USB/ISO-Cmdline "für statische IP" setzen → System versucht stattdessen PXE-Download, sofern nichtfrom=http://…zuerst HTTP-ISO-Boot gewählt hat. -
ip=dhcpoder andere Kernel-ip=-Syntax verwenden → falscher Parser, fehlerhafte Adresskonfiguration. - WLAN- oder Multi-NIC-
BOOTIF-Auswahl im initrd erwarten → nicht implementiert. - Eine Flux-Image für PXE/HTTP ISO verwenden → Netzwerkmodule fehlen im initrd.
- Die ISO nur über HTTPS bereitstellen →
from=http://…wird nicht erkannt. - Dies mit statischer Konfiguration im Installer/NetworkManager nach dem Login verwechseln.
| Szenario | Bewertung |
|---|---|
PXE + ip=… + HTTP-Liste auf :7529 (oder TFTP nach Fehlschlag der HTTP-Listenanfrage), einfaches Kabel/virtio |
Unterstütztes Ziel |
from=http://…iso + DHCP (oder ip=), gleiche NIC-Klasse |
Funktioniert meist |
| Normaler USB/ISO-Boot | Initrd-Netzwerk wird nicht verwendet |
Session statisch über ip=
|
Nicht unterstützt |
Multi-NIC / Firmware-NIC / WLAN / https:// / Flux-Edition |
Schwach oder nicht unterstützt |
| Komponente | Speicherort im MiniOS-Tree |
|---|---|
| Init-Einstieg | linux-live/initramfs/livekit-mos/init |
| Netzwerk + PXE + HTTP ISO |
linux-live/initramfs/livekit-mos/lib/livekitlib (init_network_ip, download_data_pxe, mount_data_http, find_data) |
LiveKit-Builder (--network) |
linux-live/initramfs/livekit-mos/mkinitrfs |
| Dracut-MiniOS-Modul | linux-live/initramfs/dracut-mos/90minios/ |
Wenn -n übergeben wird |
linux-live/build-initramfs (nicht-minimal) |
-
Boot-Parameter — vollständige Parametertabelle (
ip,from,cache, …) - Initrd-Systemerkennung — Quellenvorrang, lokale Erkennung und Fehlerverhalten
- live-config — späte Userspace-Konfiguration (kein Netzwerk-Boot)
- Systemarchitektur
-
MiniOS bauen — initramfs-Builder (
livekit/dracut)
🌐 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
- Устранение неполадок
- Безопасность
- Производительность
- Виртуализация
📖 Справочник
- Архитектура системы
- Процесс загрузки
- Параметры загрузки
- Конфигурация
- Содержимое пакета и редакций
🛠️ Разработка