Ja, der Linux-Kernel kann die eth0-Schnittstelle aktivieren, ohne auf User-Space-Skripte zurückzugreifen.
Sie können den ip=
Kernel-Boot-Parameter verwenden, um die Netzwerkschnittstelle mit einer statischen IP-Adresse zu initialisieren. Beispiel:
ip=192.168.1.100:::255.255.255.0:myboard:eth0:on
Natürlich kann die eth0- Schnittstelle erst aktiviert werden, wenn Treiber geladen wurden (wie durch die Freigabe __init
des Speicherbereichs angezeigt ).
Im folgenden Systemprotokoll wird angezeigt, wann die Netzwerkschnittstelle aktiv wird:
eth0: link down
IP-Config: Complete:
device=eth0, addr=192.168.1.100, mask=255.255.255.0, gw=255.255.255.255,
host=myboard, domain=, nis-domain=(none),
bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=
Freeing init memory: 564K
remounting / read-write... done.
mounting /proc... done.
mounting /sys... done.
Creating device nodes manually, running /sbin/makenodes-2.6
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
Done.
mounting /home... MTDSB: dev_name "/dev/mtdblock3"
Ausführliche Informationen zur Syntax des ip=
Boot-Parameters finden Sie in Documentation / filesystems / nfs / nfsroot.txt . Ignorieren Sie die Tatsache, dass der ursprüngliche Zweck dieser Funktion darin bestand, ein vernetztes Root-Dateisystem zu ermöglichen.
Ich habe die Umgebungsvariablen ip = und eth = u-boot als Bootargs an den Linux-Kernel übergeben
eth=
ist kein gültiger Boot-Parameter und wird vom Kernel wahrscheinlich ignoriert.
BTW Wenn Sie den Atmel- macb.c
Treiber verwenden, stellen Sie sicher, dass U-Boot die MAC-Adresse für den PHY installiert, damit dies funktioniert.
ONBOOT=yes
in dieser Datei wird Ihr Problem lösen, Dateipfad/etc/sysconfig/network-scripts/ifcfg-eth0