• bootargs中ip段各项解释


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

    内核版本:2.6.10

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

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

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

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

    Ipconfig.c (netipv4):        printk("
          device=%s", ic_dev->name);

    这一项,点开就可以看到

     

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

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

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

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

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

    搜一次dev->name,找到

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

    在ip_auto_config_setup函数中有如下片段

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

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

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

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

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

  • 相关阅读:
    linux & centos命令
    javascript总结
    SocanCode7之模板编写
    SocanCode连接Oracle的方法
    ashx的使用
    SocanCode代码生成器版本更新记录 [SocanCode7全新发布]
    IIS7.0中使用MVC3,静态页正常,其它404
    不用再纠结反射影响效率了
    ASP.NET MVC 框架处理请求生命周期
    create xmlhttprequest
  • 原文地址:https://www.cnblogs.com/jason-lu/p/3526903.html
Copyright © 2020-2023  润新知