Repository navigation
Network Boot ru
На этой странице описано, как загрузить MiniOS по сети: PXE (kernel + initrd + данные MiniOS) и HTTP ISO (from=http://…). Это единственная цель работы сети внутри initramfs MiniOS.
Это не о следующем:
- Настройка NetworkManager или постоянного статического IP после загрузки системы
- Wi‑Fi в initrd
- live-config (поздний userspace)
Сетевая работа после загрузки системы выполняется отдельно. Для постоянного статического IP по кабелю используйте шаг «Сеть» в установщике, NetworkManager или ifupdown — не PXE ip= параметр.
Смотрите также: Параметры загрузки (ip, from, cache).
| Режим | Что загружается | Как получаются данные MiniOS |
|---|---|---|
| PXE | Ядро и initrd с сетевого сервера загрузки | Непустой ip= без from=http://… → initrd загружает файлы MiniOS с PXE-сервера данных |
| HTTP ISO | Ядро и initrd с локального носителя или PXE |
from=http://…/minios.iso → initrd поднимает сеть и монтирует ISO с помощью httpfs2
|
| Локальный носитель | USB / ISO / диск | Сеть в initrd не используется; поиск только на локальных носителях |
Сборщики initramfs: LiveKit (livekit-mos) или dracut (dracut-mos). Оба используют одни и те же сетевые помощники LiveKit для ранней загрузки.
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://… имеет приоритет над ip=. В этом режиме ip= задаёт статическую адресацию для HTTP ISO. В противном случае любой непустой ip= выбирает путь PXE данных и пропускает локальные носители. Не добавляйте ip= при обычной загрузке с USB/ISO только ради «статического адреса». Ни один из сетевых путей не возвращается к локальным носителям при ошибке обнаружения или загрузки.
| Требование | Примечания |
|---|---|
| Проводной Ethernet (или virtio/vmxnet в ВМ) | Используется первый обнаруженный не-loopback интерфейс; наличие соединения и доступность не проверяются, выбор BOOTIF / ethdevice в initrd отсутствует |
| Initrd с сетевыми модулями | Собирается для вариантов пакета, отличных от внутреннего значения minimum (--network, часто --cloud) |
| Без использования Wi‑Fi | Беспроводные сети не поддерживаются в процессе сетевой загрузки |
| Предпочтительно использовать NIC без firmware-blob'ов | Карты, зависящие от прошивки, часто не работают в initrd |
| Рекомендуется Standard или более крупные образы | В редакции Flux отсутствуют сетевые модули NIC, поэтому PXE / HTTP ISO фактически не поддерживаются |
| Только HTTP для URL ISO |
from=http://… работает; https:// не поддерживается
|
В initrd доступны инструменты: busybox ifconfig, route, udhcpc, wget, tftp, и @mount.httpfs2. NetworkManager в initrd отсутствует.
- Прошивка / PXE-сервер загружает MiniOS ядро и initrd (pxelinux, iPXE и др. — вне самого MiniOS).
- В командной строке ядра указан непустой
ip=(и обычноboot=liveдля полной загрузки MiniOS). - Initrd настраивает статический адрес из
ip=, обращается к полю server и скачивает список файлов, затем MiniOS пакеты/файлы. - Система продолжает загрузку в live root как обычно.
ip=<client-ip>:<server-ip>:<gateway-ip>:<netmask>[:<port>]
| Поле | Назначение |
|---|---|
| client-ip | Адрес назначается через busybox ifconfig
|
| server-ip | Хост для HTTP/TFTP данных MiniOS; также записывается как DNS-сервер в initrd |
| gateway-ip | Маршрут по умолчанию; также записывается как DNS-сервер |
| netmask | Маска IPv4 с точками (не длина префикса CIDR) |
| port | Необязательный HTTP-порт для списка файлов и файлов (по умолчанию 7529) |
Примеры:
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 (рекомендуется):
http://<server-ip>:<port>/PXEFILELIST?<kernel-release>:<machine>затем каждый путь из этого файла с того же хоста/порта. -
TFTP: busybox
tftpиспользуется только если первый HTTP-запрос кPXEFILELISTне удался. Если ошибка возникает при загрузке отдельного файла по HTTP, переключения на TFTP не происходит.
Порт по умолчанию — 7529, если пятое поле не указано.
| Ожидание | Реальность |
|---|---|
Формы ядра / dracut (ip=dhcp, ip=:::::eth0:dhcp, …) |
Не поддерживается — неправильно интерпретируется как адрес клиента |
| Статический IP для всей live-сессии | Не поддерживается — после загрузки интерфейсом управляет NetworkManager (или аналогичный инструмент) |
| Статический IP при загрузке данных MiniOS с USB/ISO |
Не используйте — без from=http://…, это приведёт к загрузке данных PXE |
| Отдельный список DNS | В initrd в качестве DNS-серверов используются только gateway и server |
Загрузка данных MiniOS с удалённого ISO без полного списка файлов PXE:
from=http://192.168.1.1/path/minios.iso
Поведение:
- Initrd поднимает сеть:
- Если
ip=задан → статическая настройка как выше - Если
ip=не задан → DHCP через busyboxudhcpc
- Если
- Монтирует удалённый ISO с помощью
httpfs2 - Продолжает искать содержимое MiniOS на этом разделе
Необязательный параметр cache= (в мегабайтах) включает кэш загрузки httpfs, например cache=512.
Только http:// поддерживается для этого сценария с удалённым ISO. https:// не поддерживается.
| Пункт | После switch_root |
|---|---|
| IP/маршруты ядра на NIC | Могут сохраняться до перенастройки интерфейса в userspace |
DNS из initrd (resolv.conf) |
Не является постоянной политикой для сессии |
| Сетевая сессия | Обычно NetworkManager на стандартных образах MiniOS |
Значение ip=
|
Только для ранней загрузки — не сохраняется как статический профиль |
Если корень продолжает использовать httpfs, перенастройка NIC через NetworkManager может нарушить работу live root. Учитывайте это при развёртывании через сеть (например, копируйте на RAM / избегайте изменения интерфейса загрузки, если возможно).
Поздний userspace live-config может кратковременно поднять сеть только для загрузки удалённых хуков/пресидов (Setup_network). Это не связано с PXE/ip= постоянной адресацией.
- Добавление
ip=в командную строку USB/ISO «для статического IP» → система пытается загрузить PXE вместо локального носителя, если только не былfrom=http://…выбран режим HTTP ISO. - Использование
ip=dhcpили другой синтаксисip=ядра → неверный парсер, некорректная настройка адреса. - Ожидание поддержки Wi‑Fi или выбора между несколькими NIC
BOOTIFв initrd → не реализовано. - Использование образа Flux для PXE/HTTP ISO → в initrd отсутствуют сетевые модули.
- Подача ISO только по HTTPS →
from=http://…не сработает. - Путаница с настройкой статического IP через установщик/NetworkManager после входа в систему.
| Сценарий | Оценка |
|---|---|
PXE + ip=… + HTTP-список на :7529 (или TFTP при ошибке HTTP-запроса), обычный проводной / virtio |
Поддерживаемая цель |
from=http://…iso + DHCP (или ip=), тот же класс NIC |
Обычно работает |
| Обычная загрузка с USB/ISO | Сеть в initrd не используется |
Статика в сессии через ip=
|
Не поддерживается |
Несколько NIC / NIC с прошивкой / Wi‑Fi / https:// / редакция Flux |
Слабо или не поддерживается |
| Компонент | Расположение в дереве MiniOS |
|---|---|
| Точка входа init | linux-live/initramfs/livekit-mos/init |
| Сеть + PXE + HTTP ISO |
linux-live/initramfs/livekit-mos/lib/livekitlib (init_network_ip, download_data_pxe, mount_data_http, find_data) |
Сборщик LiveKit (--network) |
linux-live/initramfs/livekit-mos/mkinitrfs |
| Модуль Dracut MiniOS | linux-live/initramfs/dracut-mos/90minios/ |
При передаче -n
|
linux-live/build-initramfs (не минимальный) |
-
Параметры загрузки — полная таблица параметров (
ip,from,cache, …) - Обнаружение системы в initrd — приоритет источников, локальный поиск и поведение при ошибках
- live-config — настройка на поздних этапах userspace (не сетевая загрузка)
- Архитектура системы
-
Сборка MiniOS — сборщик initramfs (
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
- Устранение неполадок
- Безопасность
- Производительность
- Виртуализация
📖 Справочник
- Архитектура системы
- Процесс загрузки
- Параметры загрузки
- Конфигурация
- Содержимое пакета и редакций
🛠️ Разработка