Jump to content

Welche ppcboot zum flashen mit Linux?


Empfohlene Beiträge

Mahlzeit!

Ich möchte einmal das Flashen unter Linux ausprobieren. Welche ppcboot benötige ich dafür? Das Flashen soll mit Netzwerk und Nullmodem durchgeführt werden.

ppcboot zum Flashen ohne Netzwerk bzw. ohne Nullmodem habe ich schon gefunden... Im Wiki wird das Thema zwar beschrieben, aber nicht mit welcher ppcboot? Meine Vermutung ist die ppcboot_writeflash aus dem Bootmanager. Ist das richtig?

 

Klar es funktioniert alles viel einfacher unter Neutrino bzw. Windows, aber wenn ich wieder zu viel "experimentiert" habe und nicht mehr mit der Expertenfunktion neu flashen kann, muss ich immer Linux runter-, Windows hoch-/flashen/runter-, Linux hochfahren :ph34r: .

 

cu

Puhvogel

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

Zuerst beantworte ich meine Frage selber.

Die ppcboot_writeflash aus dem Boot-Manager läuft unter Linux nicht...

Trotz langen Lesen im Netz habe ich zum zuverlässigen flashen unter Linux nur eine uralte ppcboot gefunden. Es gibt auch eine u-boot (dboxflasher -> http://forum.tuxbox.org/forum/viewtopic.php?t=24501), die unter Linux funktioniert. Diese muß man sich aus einer YADD extrahieren. Aber Vorsicht, falls man eine erwischt die nur mit dem Boot-manager unter Windoof läuft, kann man nach dem Flashversuch doch gleich wieder Windoof booten, denn unter Linux wird mit so einer u-boot, trotz Ladefehler des Images, der Flash erased...

Das man unter Linux mit jeder u-boot flashen kann, (habe ich im tuxbox-forum gelesen) kann ich nicht bestätigen, wer weiß wie's geht - unbedingt Bescheid sagen!

Trotzdem sind die Vorbereitungen unter Linux immer gleich. Im folgenden beschreibe ich den Weg mit einem BootP-Server, da man diesen sehr komfortabel, ohne große Installationen (xinetd usw.), über eine Shell steuern kann. Wer will kann natürlich auch einen DHCP-Server aufsetzen. Da ich von mehreren Rechnern aus flashen will, bevorzuge ich den bootp und habe mir ein kleines Script dazu geschrieben.

 

Benötigte Software:

1. BootP-Server (z.B. bootp-DD2.4.3)

2. TFtp-Server (z.B. tftp-0.40-6)

3. ppcboot 0.6.4 vom 12.07.2001

(die wo das Image in 13.img umbenannt werden muß!)

 

Bei Bedarf (Zur Fehlersuche unersetzbar :D ):

4. Terminalprogramm (z.B. Minicom)

 

- BootP-Server und TFtp aus den rpm's extrahieren oder selbst kompilieren.

- bootpd und tftpd in ein Verzeichnis (z.B. flashimg) kopieren.

- Im gleichen Verzeichnis die Datei bootptab erstellen:

 

dbox:\                  /* Name                     */
hd=/tftpboot:\          /* Verzeichnis vom bootfile */
bf=ppcboot:\            /* bootfile                 */
ha="00:ff:00:ff:00:ff":\/* MAC-Addresse Dbox        */
ip=192.168.17.123:\     /* IP Dbox                  */
sa=192.168.17.102:\     /* IP Tftp-Server           */
sm=255.255.255.0        /* netmask                  */

Kommentare dürfen nicht mit eingegeben werden!

 

- Shell aufmachen:

Bootp-Server starten mit ./bootpd -d 5 -s ./bootptab

TFtp-Server starten mit ./tftpd -l -v -u root /tftpboot

- im Root-Directory Verzeichnis /tftpboot erstellen und 13.img

und ppcboot hineinkopieren.

- Bei Bedarf minicom starten

- Stecker in die Dbox und los geht's ;-)

- nach dem flashen bootpd und tftpd killen

 

Empfehlenswert ist, zur Überwachung der Server, in einer weiteren

Shell folgendes einzugeben: tail- f /var/log/messages

 

Da häufig Fragen zu minicom kommen, ein kleiner Exkurs:

Zur Konfiguration minicom -s starten

Serial port setup

Device (Achtung unter Linux ist com1 ttyS0!!)

Bps/Par/Bits: 9600 8N1

alle Flow Control: No

Wenn beim Starten von minicom die Fehlermeldungen nerven,

einfach unter Modem und dailing den Init string löschen

Nach der (einmaligen) Konfiguration nur noch mit minicom starten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

...hier noch mein Script dazu

@Worschter

vielleicht hilft Dir das bei Deiner FAQ weiter. Wichtig ist, das die bootptab unterschiedlich ist zum booten einer u-boot oder einer ppcboot.

 

#!/bin/sh

if [ $# != 1 ]; then
echo "Eingabe: flashimg.sh imagename.img"
exit;
fi 

./bootpd -d 2 -s ./bootptab
echo "Starte Bootp-Server..."
sleep 2
BOOTPD_PID=`/sbin/pidof bootpd`
if [ -z $BOOTPD_PID ]; then
echo "FEHLER: Konnte Bootp-Server nicht starten!"
echo "Beende flashen..."
exit;
else
echo "...done"; echo
fi

mkdir /tftpboot

./tftpd -l -v -u root /tftpboot
echo "Starte Tftp-Server..."
sleep 2
TFTPD_PID=`/sbin/pidof tftpd`
if [ -z $TFTPD_PID ]; then
echo "FEHLER: Konnte Tftp-Server nicht starten!"
echo "Beende flashen..."
kill $BOOTPD_PID
exit;
else
  echo "...done"; echo
fi

cp ppcboot /tftpboot
cp $1 /tftpboot/13.img

gnome-terminal -x minicom
gnome-terminal -e "tail -f /var/log/messages"

echo "#######################################################"
echo "#				  DBox jetzt starten				 #"
echo "# Nach Beendigung des Flashvorgangs mit RETURN weiter #"
echo "#######################################################"
read -e

echo "Beende Bootp-Server..."
kill $BOOTPD_PID
echo "Beende Tftp-Server..."
kill $TFTPD_PID

kill `/sbin/pidof minicom`
kill `/sbin/pidof tail`

echo "Loesche /tftpboot..."
rm -f /tftpboot/*
rmdir /tftpboot

 

cu

Puhvogel

bearbeitet von Puhvogel
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 month later...

Hallo,

 

kam heute in die Verlegenheit, ein Image flashen zu müssen. Kein Windows, kein serielles Kabel, nicht mal serielle Schnittstelle auf dem Rechner. Dbox bootete nicht mehr von alleine. Beim Suchen auf diesen und diesen Thread gestossen...

 

Die von Puhvogel angesprochene ppcboot 0.6.4 vom 12.07.2001 habe ich nicht gefunden.

 

Irgendwann kam mir aber die yadd Head 16.March 2004, 0147.tar.bz2 https://www.remote-admin.info/upload/yadd/ unter die Finger. Dort gibt es eine tftpboot/dboxflasher. Wie die beiliegende readme sagte, gab ich diese als Bootfile an und legte das in dboxflash.img umbenannte Image daneben.

 

less /etc/bootptab
dbox:hd=/:bf=dboxflasher:ha="00:50:9c:xx:xx:xx":ip=192.168.123.10:sa=192.168.123.2:sm=255.255.255.0

 

Parallel (als Ersatz für die serielle Konsole zur Statusausgabe) ethereal gestartet, aus dem Netzwerk-Dump lässt sich ganz gut ablesen, was die dbox so macht... Die IP hat sie angefragt, das Bootfile auch, die beiden Bilder fürs LCD und den framebuffer, danach das Image. Die Übertragung des Images dauerte auch angenehm lange (so um die 16000 Packete). Sooo....

 

Irgendwann stoppte die Übertragung .. und es passierte nichts mehr! Nervös und ungeduldig wartete ich ca. 10 Minuten, bis ich die box dann resetette...

 

UND SIE FUHR HOCH :rolleyes:

 

Ich habe keine Ahnung, zu welchem Teil einfach nur Glück im Spiel war, aber das Image wurde einwandfrei geflasht.

 

Vielen Dank an Worschter und Puhvogel für das Basiswissen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 10 months later...

Hallo,

 

mir ist die Box heute abgestorben.

Als Ergebnis bekomme ich "kein System", wenn ich die box einschalte.

 

Nun die MAC-Adresse bekam ich ueber den tcpdump:

 

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:29:17.900185 IP 0.0.0.0.0 > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:50:9C:xx:xx:xx (oui Unknown), length: 300

 

So die eth0 ist mit Hilfe von:

 

ethtool -s eth0 autoneg off
ethtool -s eth0 speed 10 duplex half

 

entsprechend gesetzt worden. Das Ergebnis sieht also bei aktiver Schnittstelle so aus:

 

Supported ports: [ TP MII ]
       Supported link modes:   10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
       Advertised auto-negotiation: No
       Speed: 10Mb/s
       Duplex: Half
       Port: MII
       PHYAD: 13
       Transceiver: internal
       Auto-negotiation: off
       Supports Wake-on: pg
       Wake-on: d
       Current message level: 0x000000c5 (197)
       Link detected: yes

 

Dennoch wenn ich das o.a. Script aufrufe bekomme ich folgendes (im xterm):

 

Sep 17 19:03:06 voyager bootpd[13696]: recvd pkt from IP addr 0.0.0.0
Sep 17 19:03:06 voyager bootpd[13696]: request from Ethernet address 00:50:9C:xx:xx:xx
Sep 17 19:03:06 voyager bootpd[13696]: found 192.168.1.21 (dbox)
Sep 17 19:03:06 voyager bootpd[13696]: vendor magic field is xx.xx.xx.xx
Sep 17 19:03:06 voyager bootpd[13696]: sending reply (with RFC1048 options)
Sep 17 19:03:06 voyager bootpd[13696]: setarp 192.168.1.21 - 00:50:9C:xx:xx:xx
Sep 17 19:03:06 voyager bootpd[13696]: ioctl SIOCSARP: Network is unreachable
Sep 17 19:03:06 voyager bootpd[13696]: sendto: Network is unreachable

 

Die bootptab sieht so aus:

 

dbox:\
hd=/tftpboot:\
bf=ppcboot:\
ha="00:50:9C:xx:xx:xx":\
ip=192.168.1.21:\
sa=192.168.1.20:\
sm=255.255.255.0

 

 

Wo mache ich einen Fehler?

 

Danke im Voraus

/rumzeiss

bearbeitet von rumzeiss
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...