In diesem kurzem Howto geht's darum, wie man ne dbox2 ueber FreeBSD vom Netz bootet, um z.B. ne aktuelle YADD zu testen. Fuer Linux sollte diese Anleitung auch funktionieren.

Meine YADD liegt unterhalb von
/phys/rd1/images/dbox2
Mein Server liegt auf 192.168.1.1, inkl. DNS
Gateway ist auf 192.168.1.254
die Domaene ist deadbull.org und gehoert MIR.
der dynamische DHCP-bereich beginnt bei 192.168.1.11 - 128
meine NIC heisst fxp0 (Intel Etherexpress 100)
meine dbox-MAC hab ich selbstverstaendlich unkenntlich gemacht
also die Pfadangaben und so entspr. anpassen!

Zutaten:


FreeBSD 4.5
isc-dhcpd aus der Ports-Collection oder als .pkg
NFS Server
rarpd
tftp
ne YADD
evtl. xinetd aus ports je nach gusto
etwas plan von Netzwerken, is also nix fuer Maeuseschupser

Vorbereitung:

MAC:
Um die Bbox ueberhaupt vom Netz booten zu koennen braucht man UNBEDINGT
die MAC von der Kiste. Wenn diese schon am Netz haengt und ne IP hat
kann man diese recht einfach durch ARP abfragen:

bull:~# arp dbox
dbox (192.168.1.11) at 0:50:9c:xx:xx:xx on fxp0 [ethernet]

wenn sowas kommt:
bull:~# arp dbox
dbox (192.168.1.11) at (incomplete) on fxp0 [ethernet]

einfach die box mal kurz anpingen.

DHCP:


den DHCP-Server entweder als package installieren oder von ports
kompilieren:
cd /usr/ports# cd net/isc-dhcp3
make all install

Die konfiguartionsdatei liegt danach unter /usr/local/etc/dhcpd.conf.sample
und sollte bearbeitet werden und dann unter dhcpd.conf gespeichert werden.

hier meine Konfiguration:

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "deadbull.org";
option domain-name-servers 192.168.1.1;

option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
authoritative;

ddns-updates off;
ddns-update-style none;


subnet 192.168.1.0 netmask 255.255.255.0 {
use-host-decl-names on;
range 192.168.1.11 192.168.1.128;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
}

host dbox {
hardware ethernet 0:50:9c:xx:xx:xx;
fixed-address 192.168.1.11;
allow bootp;
server-name "192.168.1.1";
filename "/phys/rd1/images/dbox2/tftpboot/ppcboot";
}



Danach sollte man noch in ./rc.d isc-dhcpd.sh.sample in isc-dhcpd.sh
umbenennen, wenn der DHCP-server immer autom. gestartet werden soll.

TFTP:


ich musste bei mir auch den tftpserver einrichten. Dazu einfach die
/etc/inetd.conf bearbeiten und inetd neu starten:

tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /phys/rd1/
images/dbox2/tftpboot

killall -HUP inetd

inetd sollte dann natuerlich auch beim reboot gestarted werden, also in der
/etc/rc.conf evtl. diese Zeile einfuegen:

inetd_enable="YES"

Wer xinetd verwendet, auch kein Problem, hier die sektion fuer tftp:

service tftp
{
flags = REUSE NAMEINARGS
socket_type = dgram
protocol = udp
wait = yes
user = nobody
server = /usr/libexec/tftpd
server_args = tftpd /phys/rd1/images/dbox2/tftpboot
}

und auch neu starten:
killall -USR2 xinetd

RARP:

weil wir gerade so schoen mit VI rummachen, die /etc/ethers und
/etc/hosts bearbeiten:

ethers:
0:50:9c:xx:xx:xx 192.168.1.11

hosts:
192.168.1.11 dbox

und rarpd in der rc.conf einschalten:
rarpd_enable="YES"
rarpd_flags="-s fxp0"

rarpd starten:
rarpd -s fxp0

NFS:

Zum kroenenden Abschluss fehlt nur noch die /etc/exports, so das die box
nicht den kernel bootet sondern auch was sinnvolles tut ;-)

exports:

/phys/rd1/images/dbox2 -maproot=0 dbox

NFS-server dann noch in der /etc/rc.conf einrichten und starten:

rc.conf:
nfs_server_enable="YES"
nfs_reserved_port_only="YES"
portmap_enable="YES"

/sbin/mountd -n
/usr/sbin/portmap
/sbin/nfsd

nach der config-orgie sollte man mit netstat -a kucken ob
tftp
bootps

aufgefuehrt sind..

achja...

natuerlich noch die YADD entpacken

als tar.gz/tgz
cd /phys/rd1/images/dbox2
tar xvzf <pfad_wo_das_image_liegt>/yadd.tar.gz

als tar.bz2
cd /phys/rd1/images/dbox2
tar xvjf <pfad_wo_das_image_liegt>/yadd.tar.bz2


so... nu mal die d-box resetten und hoffen das 'se vom Netz bootet.




(c) Eisofen, Dietzenbach 25.5.02