Esiste un file conf predefinito per creare un kernel per l'avvio di pxe


0

Sommario:

Sto cercando di creare un kernel per avviare Clonezilla pxe. Penso che quello che viene fornito con il CD live abbia problemi con l'avvio di pxe. Quindi ho bisogno di compilare un kernel e finora tutti i miei tentativi sono finiti in preda al panico. Speravo che qualcuno potesse condividere una configurazione base che potevo provare a costruire. C'è una cosa del genere?

Un po 'più di contesto alla domanda ....

Provando a pxe avviare Clonezilla. Questo link https://bugs.busybox.net/show_bug.cgi?id=1963 spiega cosa sto vedendo. Ma dopo un po 'di ricerca non penso che sia il problema. La mia interfaccia non sta ricevendo l'indirizzo IP. Se lo eseguo dalla riga di comando, si dice selezionando l'indirizzo, ma non si imposta l'interfaccia. Ho provato pxelinux.0 (09/02/2009) pxelinux.0 (06/10/2014) e gpxelinux.0 (06/10/2014) e tutti mostrano lo stesso problema.

Poiché non esiste un IP, il processo di avvio non può continuare perché non è in grado di estrarre il file squashfs.

Quando ho chiesto a Clonezilla e udchpd di non funzionare, ho suggerito che il problema fosse forse il kernel, quando ho iniziato a crearne uno nuovo e ho visto i parametri DHCP.

Penso che questi siano legati al mio problema, ma non alla mia domanda. Se ottenere i giusti parametri di compilazione del kernel, potrebbe risolvere i loro problemi ....

Impossibile avviare i file clonezilla TFTP dal server TFTP di WDS durante l'avvio PXE

Unisci uno squashFS e un initrd in un singolo file (avvio PXE)

Risposte:


0

No, non esiste una configurazione kernel predefinita per l'avvio PXE. È possibile compilare un kernel monolitico che tenterà automaticamente di ottenere un indirizzo IP utilizzando BOOTP / DHCP di base, ma non è così che viene normalmente fatto.

L'approccio moderno consiste nell'utilizzare un bootloader (ad esempio pxelinux o iPXE) che scaricherà due file: il kernel e un file initramfs / initrd. Il file initramfs / initrd può contenere moduli del kernel (da caricare se necessario, al rilevamento dell'hardware corrispondente) e utilità necessarie per l'inizializzazione dell'hardware critico in modo che l'avvio possa procedere. In caso di avvio dalla rete, questo include l'inizializzazione delle interfacce di rete. Quello che succede dopo è determinato dalla combinazione del codice / script incorporato nel file initramfs / initrd e dalle opzioni di avvio fornite al kernel dal bootloader (più comunemente usando la parola chiave APPEND).

Non ho molta familiarità con udhcpd, ma sembra essere un client DHCP molto minimale. Quindi potrebbe avere le seguenti proprietà: - potrebbe aspettarsi che l'interfaccia di rete venga accesa in anticipo (ad es. "Ifconfig eth0 up" o "ip link set eth0 up", a seconda che il vecchio comando di configurazione "ifconfig" o il comando "ip" più recente è disponibile) - potrebbe non gestire la configurazione dell'interfaccia effettiva dopo aver ricevuto i parametri DHCP: invece, li passerà a uno script, che dovrebbe utilizzare comandi come "ifconfig", "ip" e / o "route" per configurare l'interfaccia di rete in base ai parametri ricevuti.

Penso che potresti essere stato inutilmente fissato all'idea di costruire un kernel; è molto improbabile che sia la causa principale del tuo problema. Ti riferisci a https://bugs.busybox.net/show_bug.cgi?id=1963 che ora ha informazioni di 7 anni. (Nelle distribuzioni Linux complete, "ifup -a" è un comando comune di alto livello per inizializzare tutte le interfacce di rete; in configurazioni compatte come Clonezilla il comando ifup di solito non è presente.)

Hai detto che i tuoi tentativi finora sono finiti con il panico. Ciò significa che il kernel non riesce ad accedere al filesystem di root - e con Clonezilla, il filesystem di root si trova nel file filesystem.squashfs che dovrebbe essere scaricato da initrd dopo aver configurato l'interfaccia di rete.

Sai esattamente cosa è andato storto nei tuoi tentativi? Hai monitorato il traffico di rete con Wireshark o simili?

Il problema con la risoluzione dei problemi di avvio di rete è che quando qualcosa va storto all'avvio, il kernel Linux e le utilità associate spesso emettono così tante informazioni che i primi messaggi di errore vengono fatti scorrere fuori dallo schermo. E di solito quel primo messaggio di errore è il più importante: è molto probabile che tutti gli errori successivi siano conseguenze di quel primo fallimento.

Monitorando il traffico di rete, è possibile ottenere alcuni fatti concreti: - il bootloader scaricherà correttamente il kernel e il file initrd dal server TFTP? - dopo l'avvio del kernel, è possibile vedere un'altra query DHCP? Sarebbe udhcpd a ottenere i parametri di rete. - Successivamente, dovrebbe esserci una richiesta TFTP per il file filesystem.squashfs. Ha successo o no? In caso contrario, qual è l'effettiva richiesta TFTP inviata e quale percorso viene mappato nel filesystem del server TFTP? Quel file è presente nel percorso corretto e il server TFTP è autorizzato a inviarlo?

Hai provato Clonezilla Live, una versione di Clonezilla che si intende esplicitamente come netboot PXE? http://clonezilla.org/livepxe.php

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.