我有一个嵌入式系统,要求我从闪存中提取MAC地址,并在启动时将其传递给以太网接口 . 传统上我已经在init脚本中修改了对ifconfig的调用,只是将从闪存中取出的MAC作为 hw ether
参数传递 .
我正在使用的系统使用connman来处理网络连接 . 嵌入式系统将始终具有单个以太网连接,其中一个匹配的MAC地址采用自定义格式的闪存 . connman用于接口可用时更改,因此有一个动态系统来处理上下接口和配置它是有帮助的 .
是否有可能将MAC传递给connman以类似于之前使用ifconfig的方式使用,如果是,如何使用?
或者可以将MAC作为引导参数传递给内核,以便connman永远不必了解这一点?我可以在U-Boot中将MAC拉出闪存,但以太网设备不可用于U-Boot .
1 回答
是的,你可以使用U-Boot的
ethaddr
环境变量来做到这一点 .有关变量的文档,请查看U-Boot Environment Variables .
相关文档摘要:
它可能就像运行以下命令来设置环境变量并保存它一样简单(当然替换你的MAC地址):
如果
ethaddr
不是't already used in your U-Boot boot line then you' ll需要做的不仅仅是以上 . 有关如何在系统上进行配置的示例,请查看How to set a fixed MAC address in a LeopardBoard DM36x .这是使用
ethaddr
的启动命令,上面的网站最终得到: