Aym*_*kim 7 networking linux boot kernel
我正在开发一个嵌入式 linux 系统,我的目标是在启动时激活以太网接口。我使用 u-boot 作为引导程序。我将 ip= 和 eth= u-boot 环境变量作为 bootargs 传递给 linux 内核,并将 linux 内核配置为 IP:kernel level autoconfiguration ,已启用。但是,这并没有像“ifconfig eth0 up”那样启动网络接口。
所以,我想知道是否可以指示 linux 内核激活 eth0 接口而不诉诸用户空间脚本(ifup 和 ifconfig)?
saw*_*ust 10
是的,Linux 内核可以在不求助于用户空间脚本的情况下激活 eth0 接口。
您可以使用ip=
内核引导参数用静态 IP 地址初始化网络接口,例如:
ip=192.168.1.100:::255.255.255.0:myboard:eth0:on
Run Code Online (Sandbox Code Playgroud)
当然,在初始化/安装驱动程序之前无法启用eth0接口(如释放__init
内存部分所示)。
这是显示网络接口何时处于活动状态的系统日志:
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"
Run Code Online (Sandbox Code Playgroud)
有关ip=
引导参数语法的完整详细信息,请参见Documentation/filesystems/nfs/nfsroot.txt。忽略此功能的最初目的是促进联网的根文件系统这一事实。
我将 ip= 和 eth= u-boot 环境变量作为 bootargs 传递给了 linux 内核
eth=
不是有效的引导参数,可能会被内核忽略。
顺便说一句,如果您使用的是 Atmel 的macb.c
驱动程序,请确保 U-Boot 安装了 PHY 的 MAC 地址以使其正常工作。
归档时间: |
|
查看次数: |
23556 次 |
最近记录: |