当前位置: 技术问答>linux和unix
如何从uboot读取mac,然户传递到内核中??
来源: 互联网 发布时间:2016-06-26
本文导语: 大家能不能跟我讲解一下从uboot读取mac,然户传递到内核的过程呢??涉及到uboot和内核中的哪个函数?哪个变量呢??问题比较菜,但还是想搞明白一下。。。望大家帮帮忙,先谢过大家了!!! 因为现在研究TI dm6...
大家能不能跟我讲解一下从uboot读取mac,然户传递到内核的过程呢??涉及到uboot和内核中的哪个函数?哪个变量呢??问题比较菜,但还是想搞明白一下。。。望大家帮帮忙,先谢过大家了!!!
因为现在研究TI dm644x 系列的开发板,要是大家能针对TI的开发板来说就更好了。。。
因为现在研究TI dm644x 系列的开发板,要是大家能针对TI的开发板来说就更好了。。。
|
指定一个特定的区域,在kernel里面指定的。在uboot里面修改该区域,kernel里面读取,就可以得到mac地址了。
|
最简单应该是作为kernel的启动参数传递即可。bootcmd
下面这个是grub的参数传递。bootloader和内核的接口应该都一样,
下面这个是grub的参数传递。bootloader和内核的接口应该都一样,
kernel /boot/vmlinuz-2.6.28-14-generic root=UUID=9a222a11-0801-4bc0-b604-35a1ccc55aae ro locale=zh_CN single
|
DSP的板子没有玩过;说说arm的方式吧:从uboot到内核,uboot首先要知道内核的入口地址,在uboot中定义1个函数指针 void (*theKernel)(int zero, int arch, uint params);然后将内核入口地址赋值给theKernel,最后在调用这个函数指针时,传递3个参数:第一个固定为0,第二个为开发板的id,第三个就是参数的地址;比如在s3c2440的arm开发板上,这个params的地址是0x30000100; linux内核根据0x30000100就可以获得从这个地址开始的指定的参数。
|
可以找setup.h,你会惊奇的发现,uboot和linux里面有一个一摸一样的文件
|
内核的参数传递,传递涉及了内核参数链表,具体可参见内核代码?
|
写到哪块flash里面,内核起来再去flash里获取就好了