Skip to content

Network Boot es

crim50n edited this page Sep 30, 2026 · 1 revision

Arranque por red

Esta página describe cómo cargar MiniOS a través de la red: PXE (kernel + initrd + datos de MiniOS) y HTTP ISO (from=http://…). Ese es el único propósito de la red dentro del initramfs de MiniOS.

No trata sobre:

  • Configurar NetworkManager o una IP estática persistente después de iniciar el sistema
  • Wi‑Fi en el initrd
  • live-config (usuariospace tardío)

La red de la sesión después del arranque es independiente. Para una IP estática por cable duradera, utiliza el paso de Red del instalador, NetworkManager o ifupdown—no el parámetro PXE ip=.

Relacionado: Parámetros de arranque (ip, from, cache).

Descripción general

Modo Qué se inicia Cómo se obtiene la información de MiniOS
PXE Kernel + initrd desde un servidor de arranque por red ip= no vacío sin from=http://… → initrd descarga archivos MiniOS desde el servidor de datos PXE
HTTP ISO Kernel + initrd desde un medio local o PXE from=http://…/minios.iso → initrd levanta la red y monta el ISO con httpfs2
Medio local USB / ISO / disco Sin red en initrd; solo búsqueda local

Constructores de initramfs: LiveKit (livekit-mos) o dracut (dracut-mos). Ambos utilizan los mismos asistentes de red de LiveKit para la obtención temprana.

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://… tiene prioridad sobre ip=. En ese modo, ip= proporciona direccionamiento estático para la conexión HTTP ISO. De lo contrario, cualquier ip= no vacío selecciona la ruta de datos PXE y omite los medios locales. No agregues ip= en un arranque normal por USB/ISO solo para "configurar una dirección estática". Ninguna de las rutas de red recurre a medios locales si falla el descubrimiento o la descarga.

Requisitos

Requisito Notas
Ethernet cableada (o virtio/vmxnet en VMs) Se utiliza la primera interfaz detectada que no sea loopback; no se comprueba el enlace ni la conectividad, y no hay selección de BOOTIF / ethdevice en el initrd
Initrd con módulos de red Construido para variantes de paquetes distintas al valor interno minimum (--network, a menudo --cloud)
Sin dependencia de Wi‑Fi No se admite inalámbrico en la ruta de arranque por red
Preferir NICs sin blobs de firmware Las tarjetas que dependen de firmware suelen fallar en el initrd
Preferir imágenes Standard o mayores La edición Flux omite los módulos de NIC de red, por lo que PXE / HTTP ISO no están soportados efectivamente
Solo HTTP para la URL del ISO from=http://… funciona; https:// no está soportado

Herramientas en el initrd: busybox ifconfig, route, udhcpc, wget, tftp y @mount.httpfs2. No hay NetworkManager en el initrd.

Arranque PXE

Flujo

  1. El firmware / servidor PXE carga el kernel y el initrd de MiniOS (pxelinux, iPXE, etc.—fuera de MiniOS).
  2. La línea de comandos del kernel incluye un ip= no vacío (y normalmente boot=live para un arranque completo de MiniOS).
  3. El initrd configura una dirección estática desde ip=, contacta el campo server, descarga una lista de archivos y luego los paquetes/archivos de MiniOS.
  4. El sistema continúa al root en vivo como de costumbre.

Parámetro ip=

ip=<client-ip>:<server-ip>:<gateway-ip>:<netmask>[:<port>]
Campo Función
client-ip Dirección asignada con busybox ifconfig
server-ip Host para los datos HTTP/TFTP de MiniOS; también se escribe como servidor DNS en el initrd
gateway-ip Ruta predeterminada; también se escribe como servidor DNS
netmask Máscara de red IPv4 en notación de puntos (no longitud de prefijo CIDR)
port Puerto HTTP opcional para la lista de archivos y archivos (por defecto 7529)

Ejemplos:

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

Cómo se obtienen los archivos

  1. HTTP (preferido): http://<server-ip>:<port>/PXEFILELIST?<kernel-release>:<machine> y luego cada ruta listada en ese archivo desde el mismo host/puerto.
  2. TFTP: se selecciona busybox tftp solo si la solicitud HTTP inicial para PXEFILELIST falla. Un fallo posterior en la descarga de archivos por HTTP no cambia la transferencia a TFTP.

El puerto predeterminado es 7529 cuando se omite el quinto campo.

Qué no es ip=

Expectativa Realidad
Formatos de kernel / dracut (ip=dhcp, ip=:::::eth0:dhcp, …) No soportado — se interpreta erróneamente como una dirección de cliente
IP estática para toda la sesión en vivo No soportado — después del arranque, NetworkManager (o similar) gestiona la interfaz
IP estática mientras se cargan datos de MiniOS desde USB/ISO No usar — sin from=http://…, fuerza la descarga de datos PXE
Lista dedicada de DNS Solo gateway + server se usan como servidores DNS en el initrd

Arranque HTTP ISO (from=http://…)

Carga los datos de MiniOS desde un ISO remoto sin una lista completa de archivos PXE:

from=http://192.168.1.1/path/minios.iso

Comportamiento:

  1. El initrd levanta la red:
    • Si ip= está definido → configuración estática como arriba
    • Si ip= se omite → DHCP mediante busybox udhcpc
  2. Monta el ISO remoto con httpfs2
  3. Continúa buscando el contenido de MiniOS en ese montaje

El cache= opcional (en megabytes) habilita una caché de descarga httpfs, por ejemplo cache=512.

Solo se acepta http:// para esta ruta de ISO remoto. https:// no está soportado.

Después de que inicia el sistema en vivo

Elemento Después de switch_root
IP/rutas del kernel en la NIC Pueden permanecer hasta que el espacio de usuario reconfigure la interfaz
DNS del initrd (resolv.conf) No es una política de sesión duradera
Red de la sesión Normalmente NetworkManager en las imágenes predeterminadas de MiniOS
Significado de ip= Solo para la descarga temprana — no es un perfil estático recordado

Si el root sigue siendo alimentado por httpfs, que NetworkManager reconfigure la NIC puede interrumpir el root en vivo. Planea los despliegues de arranque por red teniendo esto en cuenta (por ejemplo, copia a RAM / evita sobrescribir la interfaz de descarga cuando sea posible).

El espacio de usuario tardío live-config puede levantar la red brevemente solo para descargar hooks/preseeds remotos (Setup_network). Eso no está relacionado con la dirección duradera de PXE/ip=.

Errores comunes

  1. Poner ip= en la línea de comandos de USB/ISO "para IP estática" → el sistema intenta descargar por PXE en vez de usar el medio local a menos que from=http://… haya seleccionado antes el arranque HTTP ISO.
  2. Usar ip=dhcp u otra sintaxis de kernel ip= → parser incorrecto, configuración de dirección rota.
  3. Esperar selección de Wi‑Fi o multi-NIC BOOTIF en el initrd → no implementado.
  4. Usar una imagen Flux para PXE/HTTP ISO → módulos de red ausentes en el initrd.
  5. Servir el ISO solo por HTTPS → from=http://… no coincidirá.
  6. Confundir esto con la configuración estática del instalador/NetworkManager después de iniciar sesión.

Resumen de fiabilidad

Escenario Evaluación
PXE + ip=… + lista HTTP en :7529 (o TFTP si falla la solicitud de lista HTTP), red cableada simple / virtio Objetivo soportado
from=http://…iso + DHCP (o ip=), misma clase de NIC Suele funcionar
Arranque normal por USB/ISO No se usa red en el initrd
IP estática de sesión vía ip= No soportado
Multi-NIC / NIC con firmware / Wi‑Fi / https:// / edición Flux Débil o no soportado

Referencia de implementación

Componente Ubicación en el árbol de MiniOS
Entrada de init linux-live/initramfs/livekit-mos/init
Red + PXE + HTTP ISO linux-live/initramfs/livekit-mos/lib/livekitlib (init_network_ip, download_data_pxe, mount_data_http, find_data)
Constructor LiveKit (--network) linux-live/initramfs/livekit-mos/mkinitrfs
Módulo Dracut MiniOS linux-live/initramfs/dracut-mos/90minios/
Cuando se pasa -n linux-live/build-initramfs (no mínimo)

Véase también

🏠 Home

🌐 Languages

English

📋 Getting started

🚀 Installing MiniOS

🖥️ Using MiniOS

⚙️ Preparing and customizing MiniOS

🛡️ Maintenance and recovery

📖 Reference

🛠️ Development

de

📋 Erste Schritte

🚀 MiniOS installieren

🖥️ MiniOS verwenden

⚙️ MiniOS vorbereiten und anpassen

🛡️ Wartung und Wiederherstellung

📖 Referenz

🛠️ Entwicklung

es

📋 Primeros pasos

🚀 Instalando MiniOS

🖥️ Usar MiniOS

⚙️ Preparar y personalizar MiniOS

🛡️ Mantenimiento y recuperación

📖 Referencia

🛠️ Desarrollo

fr

📋 Premiers pas

🚀 Installation de MiniOS

🖥️ Utiliser MiniOS

⚙️ Préparer et personnaliser MiniOS

🛡️ Maintenance et récupération

📖 Référence

🛠️ Développement

id

📋 Memulai

🚀 Menginstal MiniOS

🖥️ Menggunakan MiniOS

⚙️ Menyiapkan dan menyesuaikan MiniOS

🛡️ Pemeliharaan dan pemulihan

📖 Referensi

🛠️ Pengembangan

it

📋 Per iniziare

🚀 Installazione di MiniOS

🖥️ Usare MiniOS

⚙️ Preparare e personalizzare MiniOS

🛡️ Manutenzione e ripristino

📖 Riferimento

🛠️ Sviluppo

pt-BR

📋 Primeiros passos

🚀 Instalando o MiniOS

🖥️ Usar MiniOS

⚙️ Preparando e personalizando o MiniOS

🛡️ Manutenção e recuperação

📖 Referência

🛠️ Desenvolvimento

ru

📋 Начало работы

🚀 Установка MiniOS

🖥️ Использование MiniOS

⚙️ Подготовка и настройка MiniOS

🛡️ Обслуживание и восстановление

📖 Справочник

🛠️ Разработка

Clone this wiki locally