- 论坛徽章:
- 0
|
本帖最后由 T-Bagwell 于 2011-06-28 16:05 编辑
回复 6# chenrvmldd
我现在有两种做法:
第一种做法:通过cmdline的方式:因为在Linux起来的时候我们可以通过cat /proc/cmdline查看uboot传递给内核的一些参数,我们可以将mac地址的信息放入到cmdline中传递过来,到时候在内核里面直接解析,这个比较方便
这个如何实现,客户是通过pc机设置嵌入式linux的mac地址,当在嵌入式linux这边接收到客户设置过来的mac地址信息,我该放到哪里,“我们可以将mac地址的信息放入到cmdline中传递过来”,这里的cmdline具体在什么位置,可写吗,重启后,能保存吗,我的文件系统是cramefs,
第二种做法:将 mac地址以固定的格式比如:‘m’,'a','c',"xx:xx:xx:xx:xx:xx"这样的形式写入到比如nvram的固定的位置,然后内核初始化的时候每次都可以从nvram固定的地址去读mac地址的内容然后去设置。
方法一的好处就是,不需要占用nvram的空间,直接通过cmdline传递,缺点是:在内核中解析mac参数稍微麻烦一点
方法的好处:直观,内核中解析起来方便,缺点:需要占用nvram的空间,因为一般nvram只有1M左右,空间很宝贵
这种方式,空间对我来说不是问题,因为我用的是nand flash,还有10几M的空间可用,用此方法,要改内核,并且还要兼容当客户从uboot界面设置mac时也有效,这个可行性不大。并且,把mac地址信息放到nand flash的常用分区,感觉不太安全,随时都有可能被用户rm掉。 |
|