dbox bootet nicht übers netz :(

Anlaufschwierigkeiten? Was ist was? Worum geht's?
sanaia
Einsteiger
Einsteiger
Beiträge: 130
Registriert: Mittwoch 17. März 2004, 10:13

dbox bootet nicht übers netz :(

Beitrag von sanaia »

Hi,

nicht, dass diese anfrage was neues wäre - aber trotz extensiver nutzung der suchfunktion im forum konnte ich leider keine lösung für mein problem finden.

Ich habe auf dem server bootp/tftp/rarpd und nfs laufen. Die box findet den server auch und lädt sich den bootloader - danach ist aber schluß. Sie bleibt mit geladenem LCD logo hängen :(

Die relevanten zeilen in bootptab und inetd.conf sehn wie folgt aus:
bootptab hat geschrieben:dbox 1 xx:xx:xx:xx:xx:xx 10.0.0.20 d-box2/boot/tftpboot/u-boot
inetd.conf hat geschrieben:tftp dgram udp wait guest /usr/etc/tftpd tftpd -h /diskless -l -s /diskless/d-box2/boot/tftpboot
Hier das logfile der d-box:
WATCHDOG reset enabled

dbox2:root> debug:

BOOTP/TFTP bootstrap loader (v0.3)

debug:

debug: Transmitting BOOTP request via broadcast

debug: Got BOOTP reply from Server IP 10.0.0.4, My IP 10.0.0.20

debug: Sending TFTP-request for file /diskless/d-box2/boot/tftpboot/u-boot

debug: Got Block #0050
debug: Got Block #0100
debug: Got Block #0150
debug: Got Block #0200
debug: Got Block #0250
will verify ELF image, start= 0x800000, size= 129684

verify sig: 262

boot net: boot file has no valid signature

Branching to 0x40000





U-Boot 0.4.0 (TuxBox) (Feb 15 2004 - 17:55:56)



CPU: PPC823ZTnnB2 at 66 MHz: 2 kB I-Cache 1 kB D-Cache

Board: DBOX2, Sagem, BMon V1.2

Watchdog enabled

I2C: ready
DRAM: 32 MB
FLASH: 8 MB
FB: ready
LCD: ready
In: serial
Out: serial
Err: serial
Net: SCC ETHERNET

BOOTP broadcast 1

*** WARNING: Host Name is too long (32 - max: 32) - truncated

TFTP from server 10.0.0.4; our IP address is 10.0.0.20

Filename '/diskless/d-box2/boot/tftpboot/u-boot'.

Load address: 0x10000
Loading: TFTP from server 10.0.0.4; our IP address is 10.0.0.20
Filename 'logo-lcd'
Load address: 0x10000
Loading: ##
done
Bytes transferred = 7680 (1e00 hex)
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5

retry count exceeded; starting again


BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5

Retry count exceeded; starting again
Ich habe die aktuelle yadd von dboxupdate.berlios.de runtergeladen, auf dem server entpackt und die ucodes nach var/tuxbox/ucodes auf server kopiert. Völlig falsch kann der server nicht konfiguriert sein, denn das u-boot lädt und startet er ja auch übers netz, genauso wie er sich das lcd logo holt - nur dann ist eben schluß und er hängt.

Kann mir evtl. bitte irgendjemand einen tip geben, woran es hängen könnte ?
Dietmar
Senior Member
Beiträge: 8282
Registriert: Mittwoch 10. Oktober 2001, 00:00

Beitrag von Dietmar »

retry count exceeded; starting again
Die logo-lcd holt er sich eben schon nicht mehr.
Liegt die im richtigen Verzeichnis?
sanaia
Einsteiger
Einsteiger
Beiträge: 130
Registriert: Mittwoch 17. März 2004, 10:13

Beitrag von sanaia »

Die logo-lcd holt er sich eben schon nicht mehr.
Doch, eigentlich tut er das. den da steht ja
"Bytes transferred = 7680 (1e00 hex)"
Zuerst hatte ich den tftp server falsch konfiguriert, da hat er sich zwar das u-boot geholt, aber das lcd logo nicht gefunden. Das hat er dann auch in seinen debug ausgaben bemängelt und folglich blieb das display ohne logo und die dbox hängen.
Etwas seltsam erscheinen mir die fehlermeldungen

"boot net: boot file has no valid signature "

und

"*** WARNING: Host Name is too long (32 - max: 32) - truncated "

Abgesehen davon; wieso lädt das u-boot nachdem es bereits läuft nochmal u-boot, diesmal an adresse 0x10000, nur um anschließend das lcd logo genau an die selbe addresse zu laden ?
Liegt die im richtigen Verzeichnis ?
logo-lcd, logo-fb, u-boot und kernel-yadd liegen alle im selben verzeichnis, nämlich

/diskless/d-box2/boot/tftpboot

welches auch als rootverzeichnis für tftpd gesetzt ist.
Dietmar
Senior Member
Beiträge: 8282
Registriert: Mittwoch 10. Oktober 2001, 00:00

Beitrag von Dietmar »

Naja, nach irgendwas sucht er da fröhlich und kriegt es nicht.
Aber Du hast recht, ist die logo-fb.

boot file has no valid signature ist ok, das ist nur der hinweis dass der loader nicht signiert ist.

Warum das mit dem host name kommt - keine Ahnung, hatte ich noch nicht.
Evtl. ist der uboot oder einem server deine pfadangabe zu lang.
sanaia
Einsteiger
Einsteiger
Beiträge: 130
Registriert: Mittwoch 17. März 2004, 10:13

Beitrag von sanaia »

Ich habe mal mit tcpdump den netztraffic analysiert. Bis zu dem geladenen logo-lcd ist alles in ordnung, aber nach dem geladenen logo kommen nur noch bootp requests von der dox, keine nfs oder tftp anfragen.
Die yadd war die letzte von alexW's server, bevor er den stecker gezogen hat :(
Wo finde ich denn eine von der bekannt ist, das sie auch funktioniert ?
Dietmar
Senior Member
Beiträge: 8282
Registriert: Mittwoch 10. Oktober 2001, 00:00

Beitrag von Dietmar »

Äh, keine Ahnung wo es derzeit eine "zuverlässige" Yadd gibt.
Schau mal bei computer-kern, ob der auch die yadds archiviert hat.
Ein cdk würde ziemlich sicher booten (booten hab ich gesagt, nicht funktionieren *duck*) und wäre vielleicht ne intressante alternative für Dich.
Was sagen denn die Serverlogs? Irgendwo muss der Grund für das Problem doch stehen. :wink:
sanaia
Einsteiger
Einsteiger
Beiträge: 130
Registriert: Mittwoch 17. März 2004, 10:13

Beitrag von sanaia »

Das problem ist gelöst ! Der bootp server musste etwas umkonfiguriert werden, dann ging es :D

Nun bootet er die yadd, aber so richtig funktionieren tut die nicht gerade :roll:

Trotzdem, besten dank für die denkanstöße.
Dietmar
Senior Member
Beiträge: 8282
Registriert: Mittwoch 10. Oktober 2001, 00:00

Beitrag von Dietmar »

Was musstest Du denn umkonfigurieren?
Die Nachwelt will ja auch was von haben. :wink:
sanaia
Einsteiger
Einsteiger
Beiträge: 130
Registriert: Mittwoch 17. März 2004, 10:13

Beitrag von sanaia »

Dietmar hat geschrieben:Was musstest Du denn umkonfigurieren?
Die Nachwelt will ja auch was von haben. :wink:
der IRIX bootp server kennt keine kommandzeilenoptionen, deswegen musste ich das configfile ändern.
#
# /usr/etc/bootptab: config file for bootp server (/usr/etc/bootp)
#
# Blank lines and lines beginning with '#' are ignored.
#

# Root of boot subtree. If tftpd(1M) is running in "secure" mode,
# this directory must be specified on tftpd's entry in /usr/etc/inetd.conf.

#original: /usr/local/boot
/diskless/d-box2/boot/tftpboot

# default bootfile

unix

# end of first section

%%

#
# The remainder of this file contains one line per client interface
# with the information shown by the table headings below.
# The 'host' name is also tried as a suffix for the 'bootfile'
# when searching the home directory. (e.g., bootfile.host)
#
# host htype haddr iaddr bootfile
#

IRIS 1 01:02:03:8a:8b:8c 192.0.2.1 unix
dbox 1 xx:xx:xx:xx:xx:xx 10.0.0.20 u-boot
Leider war es dazu nötig das bootp wurzelverzeichnis komplett zu ändern. Vorher war das wurzelverzeichnis
/diskless
und der kernel hatte die relative pfadangabe
d-box2/boot/tftpboot/u-boot
So ganz glücklich bin ich mit der lösung nicht, denn jetzt kann ich nur noch die dbox übers netz booten, und keine anderen geräte mehr. Naja, egal - vorläufig. Die box bootet zwar, aber nachdem sie die yadd geladen hat, funktioniert nichts mehr übers netz. Seltsam ...