bootargs中ip段各项解释

目标板:合众达的SEED-DVS6467开发板

最近同事测试板卡nfs挂载PC的文件系统时出现点问题,PC上ifconfig中显示以太网为eth3,然而板卡启动参数列表相关信息如下:

bootargs中ip段各项解释

可以看到其中device为eth0.抱着实事求是的态度,查看了一下内核源码,关于bootargs中ip段的配置部分,并作如下记录.

在project中搜索了一下”device=”字段,如下

bootargs中ip段各项解释

就这几行,不是很多哦,而且与net相关的就更少了,很容易就发现

Ipconfig.c (net\ipv4):        printk("\n      device=%s", ic_dev->name);

这一项,点开就可以看到

bootargs中ip段各项解释 

这不正式内核启动的时候打印IP-Config: Complete的出处么.看来device是由ic_dev->name来决定的.

在当前文档中搜一下ic_dev字段,很容易找到

bootargs中ip段各项解释

这不是重点,重点是很快又发现如下两处

bootargs中ip段各项解释bootargs中ip段各项解释

这其实一个意思,随便看一个

bootargs中ip段各项解释

那么这个dev的name字段就是我要找的ic_dev->name字段.

搜一次dev->name,找到

bootargs中ip段各项解释

于是乎我又搜了一下user_dev_name字段,发现

bootargs中ip段各项解释

在ip_auto_config_setup函数中有如下片段

bootargs中ip段各项解释

现在知道device是哪儿来的了,就是通过bootargs设置的时候ip段传过来的.我们看到ip段设置的时候有七项,分别为:

Ip=目标板的临时IP:开发主机的IP:目标板上网关(GW):子网掩码:开发主机的名字:网卡设备的名称:协议类型

我们看一下case 6中的ic_proto_name函数的注释,同样在ipconfig.c文件中

bootargs中ip段各项解释

一目了然,无需多解释了.

下面如果要修改内核启动的时候打印的那个”device=”的值,就有方法咯.

bootargs中ip段各项解释

上一篇:I/O复习四 字符流 InputStreamReader/OutputStreamWriter


下一篇:物化视图