[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: boot mit nfs-root klappt nur bei jedem 2. Versuch



Hallo Andreas,

Andreas Büchel <andreas.buechel@gmx.de> wrote:
> Am Mittwoch, 26. November 2008 11:43 schrieb Jörg Sommer:
>> Andreas Büchel <andreas.buechel@gmx.de> wrote:
>> > Das seltsame ist, dass es bei genau jedem zweiten Boot-Versuch
>> > einwandfrei funktioniert. In den anderen Fällen erhalte ich nach
>> >
>> > Waiting for /dev to be fully populated...
>> >
>> > nur noch
>> >
>> > Server <server-ip> not responding, still trying...
>>
>> Hast Du mal mit tcpdump geschaut, ob Netzwerkverkehr zu der Zeit
>> herrscht? Öffne auf der Box doch mal frühzeitig eine Shell auf der
>> zweiten Konsole und wenn das kommt, schau nach, ob Du irgendwelche
>> Auffälligkeiten finden kannst.
>>
> Scheinbar erhält der Server die Anfragen, weiß aber nicht, wohin er die 
> Antwort schicken soll.
> Die letzten Zeilen einer Session, bei der es nicht funktioniert hat lauten:
>
> 20:32:00.268568 arp who-has <box-hostname> tell <server-hostname>
>
> Bei einer Session, die funktioniert erscheint diese Zeile auch, wird jedoch 
> sofort mit einem
>
> 20:33:45.541338 arp reply <box-hostname> is-at <MAC> (oui Unknown)
>
> beantwortet. Stellt sich natürlich die Frage, warum entweder die Netzwerkkarte 
> der Box nicht antwortet oder die Antwort nicht durchkommt.

Gibt es LEDs an der NIC der Box? Blinken die? Boote doch den Kernel der
Box mal mit debug. Dann solltest Du sehen, wenn die Netzwerkkarte
abgeschaltet wird.

>> Booten mit init=/bin/sh, dann sh </dev/tty2 >/dev/tty2 2>&1 & ausführen,
>> auf der zweiten Konsole nachsehen, ob die Shell da ist, und dann mit exec
>> /sbin/init den Bootvorgang fortsetzen.
>>
> Das funktioniert leider nicht. Ich kann die Konsole zwar öffnen und sie 
> funktioniert prinzipiell, sobald er jedoch versucht, das neue root-directory 
> einzubinden,

Wann passiert das denn? Ist das ein Init‐Skript? Wie ist der Ablauf?
Init starten, dann rootfs austauschen? Das klingt sehr merkwürdig.

> kann ich keine Befehler mehr ausführen. (Wahrscheinlich, weil er 
> dann schon versucht, die Tools vom Server zu holen.

Kopiere doch mal die Programme, die Du brauchst, vom Server rüber,
bevor Du weiter machst.

> --- Irgendwie

Nur so am Rande: Falls Du mit den drei Strichen einen Gedankenstrich in
Anlehnung an LaTeX meinst, dann ist das falsch. Im Deutschen verwendet
man einen Halbgeviert, den mit zwei Strichen, als Gedankenstrich mit den
Leerraum ringsherum. Im Englischen verwendet man den Geviert, den mit
drei Strichen, ohne Leerraum als Gedankenstrich.

>> Nur so als Gedanke: Vielleicht ändert udev irgendwas an den
>> Netzwerkeinstellungen und deswegen klappt's nicht mehr mit dem Server.
>>
> Ist natürlich möglich, aber wie kann ich das rausfinden?

Hat die Kiste beim Start von Init bereits eine IP‐Adresse? Dann pinge sie
doch mal an und schau, ob die Antworten auf einmal abreisen. Aber das
erwarte ich, wenn oben schon ARP‐Anfragen nicht beantwortet werden.

Ich habe erstmal nur die Idee, dass Du Dir die Programme, die Du brauchst
in eine Ramdisk kopierst, bevor Du Init startest, damit Du während udev
nachsehen kannst, was passiert. Oder vielleicht kann man udev mit
--verbose starten, damit Du siehst, was er macht. Schau das doch mal
nach.

Hängt eigentlich die Box direkt am Server? Dann kannst Du mit mii-tool
auf dem Server nachsehen, ob die Leitung abgeschaltet wurde.

Schöne Grüße, Jörg.
-- 
Ein Mensch sieht ein und das ist wichtig,
nichts ist ganz flach und nichts ganz richtig.
                                               (Eugen Roth)


Reply to: