zoukankan      html  css  js  c++  java
  • 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=”的值,就有方法咯.

  • 相关阅读:
    三种解决IE版本兼容性问题
    CSS 如何让超链接访问后和访问前的颜色不同且访问后仍保留hover和active效果
    bootstrap 笔记用法
    STL优缺点
    输出最大回文数
    将一组单词逆序输出
    排序算法
    背包问题
    二进制
    sstream
  • 原文地址:https://www.cnblogs.com/jason-lu/p/3526903.html
Copyright © 2011-2022 走看看