Re: Diskless, again

From: Michael Gusek <michael.gusek(at)web.de>
Date: Sun, 18 Apr 2004 13:00:54 +0200

Am Donnerstag, 15. April 2004 12:24 schrieb Sebastian Köhler:
> Bei meinem FreeBSD Diskless Projekt ergeben sich nun langsam Fragen
> und Probleme bei denen ich nicht weiter weiss. Hoffe das mir hier
> etwas auf die Sprünge geholfen werden kann. Sage schon mal danke! :)
>
> Situation:
> - FreeBSD 5.2.1-p4 (Server und Clients)
> - Dienste: TFTP, DHCP, NFS soweit eingerichtet
> - unter /netboot liegt die pxeboot File mit LOADER_TFTP_SUPPORT=YES gebaut
> - unter /usr/diskless liegt ein aus den Quellen gebautes FreeBSD
> System (make world usw.)
> - Kernel für Client mit GENERIC.hints, BOOTP, BOOTP_NFSROOT,
> BOOTP_COMPAT in /usr/diskless gebaut + installiert
> - NFS-root kann von diesem Client gemountet werden (ro | getestet)
>
> Problem:
> Den Client, den ich in der dhcpd.conf eingestellt habe, kann die
> pxeboot Datei vom TFTP beziehen, kann jedoch nicht den Kernel
> finden/booten. "can't find 'kernel'"
>
> Fragen:
> Was muss ich wohin kopieren, damit er den Kernel finden kann?
> (/usr/diskless/boot/kernel oder /usr/diskless/boot/kernel/kernel nach
> /netboot)
> Woher weiss pxeboot welcher Kernel / welche Datei gelanden werden soll
> und woher?
> Habe ich etwas bei meinen bisherigen Einstellungen vergessen, was
> diesen Fehler auslösen kann?
>
> Auszug rc.conf #########################################
>
> # INETD
> inetd_enable="YES"
>
> # ISC DHCP
> dhcpd_enable="YES"
> dhcpd_flags="-q"
> dhcpd_conf="/usr/local/etc/dhcpd.conf"
> dhcpd_ifaces="xl0"
>
> # NFS Server
> rpcbind_enable="YES"
> nfs_server_enable="YES"
>
> # Auszug dhcpd.conf ####################################
>
> subnet 172.30.1.0 netmask 255.255.255.0 {
> ~ # Name der Hostdeklaration = Hostname des Clients
> ~ use-host-decl-names on;
>
> ~ option subnet-mask 255.255.255.0;
> ~ option broadcast-address 172.30.1.255;
>
> ~ host client1 {
> ~ hardware ethernet 00:07:e9:9b:5f:6d;
> ~ fixed-address 172.30.1.52;
> ~ filename "pxeboot";
> ~ option root-path "172.30.1.215:/usr/diskless";
> ~ }
> }
>
> # Auszug exports.conf ####################################
>
> /usr -ro -maproot=0 -network 172.30.1.0 -mask
> 255.255.255.0
> /usr/diskless -ro -maproot=0 client1
>
>

Ich glaube, dir fehlt noch etwas in der dhcpd.conf, bei mir sieht das so aus:
host janice {
                hardware ethernet xx:xx:xx:xx:xx;
                fixed-address 192.168.0.5;
                if substring (option vendor-class-identifier, 0, 9) = "PXEClient"
                        {
                                filename "eb-5.2.2-eepro100.zpxe";
                        }

                else if substring (option vendor-class-identifier, 0,
9)="Etherboot"
                        {
                                filename "kernel";
                        }

        option root-path "192.168.0.1:/data/diskless/linux";
            }

Die Datei eb-5.2.2-eepro100.zpxe ist bei dir pxeboot wenn ich das richtig
sehe, deinen kernel musst du in das selbe Verzeichnis ablegen, wo pxeboot
liegt. Wie man unschwer erkennen kann, boote ich hier ein Linux übers Netz,
aber mit BSD sollte es genauso funktionieren.
Ich hoffe ich konnt dir damit helfen !

Micha

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 18 Apr 2004 - 13:04:45 CEST

search this site