net/etherboot treibt mich in den Wahnsinn

0815Chaot

FreeBSD/sparc64-Tüftler
Tag,

seit zwei Stunden versuche ich nun schon, einen Thin Client mittels net/etherboot diskless zu booten. Auf dem Boot-Server läuft 4.9-Release, seine IP-Adresse ist 192.168.0.31. /etc/bootptab hat folgenden Inhalt:
Code:
.ThinClient:\
        :dn=example.com:\
        :hn:\
        :ht=1:\
        :vm=rfc1048:\
        :ds=192.168.0.31:\
        :sa=192.168.0.31:\
        :hd="/opt/Software/ThinClient/ThinClient-4.8":\
        :bf="/kernel":\
        :rp="/opt/Software/ThinClient/ThinClient-4.8":

thin1:\
        :ha=009027551e0f:\
        :ip=192.168.0.1:\
        :sm=255.255.255.0:\
        :tc=.ThinClient
Ist aus dem Diskless-Abschnitt des Handbuchs entlehnt. Habe ich da vielleicht schon einen Fehler drin? Den bootpd habe ich dann jedenfalls mittels
Code:
/usr/libexec/bootpd -c /opt/Software/ThinClient/ThinClient-4.8/ /etc/bootptab
gestartet.

Das Root-Dateisystem für den Thin Client liegt, wie zu erkennen, in /opt/Software/ThinClient/ThinClient-4.8. Darin befindet sich auch ein Kernel, der mit
Code:
options         BOOTP
options         BOOTP_NFSROOT
gebaut wurde.

Das Verzeichnis ist über NFS freigegeben:
Code:
/opt               -maproot=root -alldirs       NFSCLIENTS
Der Hostname des Thin Clients ist in der Netgroup NFSCLIENTS enthalten (/opt wird noch von anderen Rechnern für diverse andere Sachen gebraucht).

Dann habe ich net/etherboot gebaut:
Code:
cd /usr/ports/net/etherboot
make -DASK_BOOT=1 -DNO_DHCP_SUPPORT
Damit sollte wohl BOOTP statt DHCP zum Booten verwendet werden. Anschließend habe ich die Boot-Diskette erstellt:
Code:
cd work/etherboot*/src
cat bin/boot1a.bin bin32/eepro100.lzrom > /dev/fd0
Jetzt die Diskette in den Thin Client geschoben und gebootet:
Code:
Searching for server (DHCP)...
....UDP checksum error
Hmm... Zeigt der immer "DHCP" an, auch wenn er einen BOOTP-Server sucht? Die Anzahl der Punkte in der zweiten Zeile variert übrigens von Bootvorgang zu Bootvorgang.

Hat jemand hier eine Idee, an was es klemmt?
 
Ah, bitte nicht schlagen, bitte, bitte! Habe gesehen, daß der Admin des Servers auf der fxp0 zum LAN hin für jeden einzelnen Client eine allow-Regel erstellt hat. Das muß man sich mal vorstellen, was für eine Arbeit es ist, alleine die Regeln zu pflegen :confused: Na jedenfalls wird da über die IP-Adresse gefiltert, nur hat der Thin Client in dem Moment ja noch gar keine und wird dementsprechend gleich mal geblockt.

Naja, nach einem
Code:
ipfw add 1000 allow ip from any to any via fxp0
klappert das. Der Admin wird im Dreieck springen :rolleyes: Damit er beruhigt ist, werde ich mal sehen, ob man mit IPFW nicht auch auf MAC-Basis filtern kann (sollte eigentlich gehen, oder?).

Nun gut, der Thin Client bootet jetzt. Aber nicht besonders lange. Der Boot-Vorgang bleibt mit der Meldung
Code:
Sending DHCP Discover packet from interface fxp0 ($MAC_von_fxp0)
DHCP/BOOTP timeout for server 255.255.255.255
Server 255.255.255.255? Hä, was soll das denn sein? Muß ich die korrekte IP des BOOTP-Servers auch noch irgendwo übermitteln? Nach überfliegen von bootptab(5) habe ich jedoch keinen dazu passenden Eintrag gefunden. Oder muß das im Dateisystem des Thin Clients vorgenommen werden (z.B. in der /etc/rc.conf)? Dort steht bisher nur
Code:
ifconfig_fxp0="DHCP"
Ach, da muß ich nochmal gucken. Wer es auswendig weiß, darf es mir natürlich gerne verraten, wäre echt nett. Ansonsten muß ich jetzt halt mal suchen gehen.
 
Blöd, wenn man seinen eigenen Thread vergißt...
Naja, habe ihn ja jetzt wiedergefunden :rolleyes:

Wollte nur noch anmerken, daß eben die Zeile
Code:
ifconfig_fxp0="DHCP"
den Fehler verursacht. Die darf beim plattenlosen Booten nicht gesetzt werden. Wobei das im Handbuch auch nirgendwo erwähnt wird, da heißt es nur, man solle die rc.conf vom X-Host kopieren. Und der X-Host bekommt seine IP halt per DHCP.
 
Zurück
Oben