Zynq-Linux移植学习笔记之36-Uboot中修改mac地址

为了避免网络故障,不同的板子需要设置不同的mac地址和ip地址。虽然在linux系统下可以通过下面几个命令进行设定

Zynq-Linux移植学习笔记之36-Uboot中修改mac地址_第1张图片

但在设定mac地址时有一定概率会导致linux内核崩溃。

其实设定mac地址的最佳位置是在uboot中环境变量中,uboot README中有下面一段话:

Zynq-Linux移植学习笔记之36-Uboot中修改mac地址_第2张图片

这段话说明了mac地址应该由板子的开发商进行设定,从而防止用户进行更改。既然都这么说了,那么在linux启动后用户自己修改mac地址自然就容易崩溃了。

如果需要用户手动设定,需要在配置项中启用CONFIG_ENV_OVERWRITE即可。

在uboot中设定mac地址可以参照以下步骤

Zynq-Linux移植学习笔记之36-Uboot中修改mac地址_第3张图片

然后进行保存

Zynq-Linux移植学习笔记之36-Uboot中修改mac地址_第4张图片

此时mac地址被写入QSPI FLASH的环境变量扇区内,板子的mac地址就修改成功了,断电重启也有效

Zynq-Linux移植学习笔记之36-Uboot中修改mac地址_第5张图片

 

需要注意的是,存入配置文件的扇区不能和uboot,bit,uimage等启动文件存储扇区重叠,否则会出现板子启动不了的情况。见下面这个帖子:

https://forums.xilinx.com/t5/Embedded-Linux/Where-does-U-Boot-saveenv-to/td-p/532915

 

Zynq-Linux移植学习笔记之36-Uboot中修改mac地址_第6张图片

为了简单起见,这里把配置扇区偏移量设置为16MB FLASH的最后一段(uramdisk大小为0x600000,即从0x920000-0XF20000)

Zynq-Linux移植学习笔记之36-Uboot中修改mac地址_第7张图片

你可能感兴趣的:(Felven在职场)