问题
我们研发了一个自动配置 phy delay的脚本,里面采用了shell 数组,以及ethtool等工具。
但是海思SDK默认的文件系统没有这些工具,并且sh 不支持shell 数组,只有bash支持。
因而我们需要编译相关工具,此处记录编译源码的来源,以及编译配置。
ethtool编译
ethtool - utility for controlling network drivers and hardware
下载版本
虽然有新的版本,但3559 sdk本身比较老,新的不一定编译过。上述版本验证编译过。
编译配置:
./configure --host=arm-hisiv100-linux CC=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc LDFLAGS=-static
bash 编译
Index of /gnu/bash
./configure --host=arm-hisiv100-linux CC=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc LDFLAGS=-static
由于以前bash都默认自带。并没有关注sh和bash差异,而此次脚本用到了数组,sh不支持。
ping 编译
ping 虽然是单板都带的,但是各个版本支持的参数不同。
像我们需要支持 时间间隔小的等。
总结
虽然我们做了自动化配置phy delay的工具,各种soc外接的phy 也采用相同厂家芯片,但是由于各个SOC的差异,导致需要一些工具的编译,这需要费一些时间。
这些我们在zynq等平台也遇到类似的情况。