【求助】rk3568 如何烧录有线网mac地址

如题,我现在用的img版本是:rock-3a-ubuntu-focal-server-arm64-20220501-0200-gpt.img
由于实验室硬性要求必须用有线网,而且MAC地址必须严格适配,不能依靠临时MAC地址的方式生效
发现烧录了TF卡之后MAC地址是随机生成的,且无法更改。
尝试了下面的方法均失效:

  1. 在boot中通过env set ethaddr的方式报无法写入的错误
  2. 在uEnv.txt中添加extraargs=mac_addr=xx:xx:xx:xx:xx:xx ethaddr=xx:xx:xx:xx:xx:xx的方式无效
  3. 尝试用第三方工具:RKDevInfoWriteTool修改MAC地址无效
  4. 在ubuntu开机之后用ifconfig的放方式修改MAC地址,但只能临时修改网卡真实MAC地址未被修改
  5. 在开机之后用fw_setenv的方式修改MAC,报找不到fw_config.txt文件错误,无法修改

如果想在boot中改MAC,看网上的教程似乎要设置uboot的宏CONFIG_ENV_OVERWRITE=True

现在已经找不到其他方法修改有线网MAC,求助!!!

我烧录的debian系统mac地址不是随机的
mac地址会在uboot启动的时候设置在uboot所在分区,如果uboot分区不是gpt,会出现无法初始化mac地址,内核只能在启动的时候随机生成一个。不过我遇到这种情况是因为uboot在spi上,把spi的uboot镜像改为gpt分区就行了,tf卡没遇到过这张情况。

我是想自己定义MAC地址,不是用随机生成的。
我现在的办法是开机之后用ifconfig hw命令输入一个暂时的,每次开机都要改。
曲线救国了,属于是。

最好的办法还是拿到uboot源码改写好之后烧录进去。
或者直接那ubuntu源码重新编译。但是好像官方没提供系统源码下载。

可以在网卡配置文件里指定mac地址,这个很容易改,搜一搜就知道了

1 Like

这种修改MAC地址的方式只是修改一个临时MAC在里面,实际系统的MAC仍然在生效。
我的SSH的IP和ifconfig的IP是不同的,一个是HDCP服务器分配的,一个是网卡自己生成的。
所以有些时候我的系统能连接,有些时候不能连接。

能不能提供下uboot的源码,我自己编译,自己烧录进去?

这是源码:https://github.com/radxa/u-boot