在调试泰山派1f时,发现官方固件一直在往串口打印警告:
/usr/bin/list-iodomain.sh version: V1.0.1
Get CHIP ID: rk356x
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXX PLEASE CHECK IO-DOMAIN !!!!!!!!!!!!!!!
XXXXXXXXXX 请务必检查IO电源域配置 !!!!!!!!!!!!!!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Get IO DOMAIN VALUE:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
注意事项:PMUIO1/PMUIO2 固定不可配
VCCIO2电平由硬件FLASH_VOL_SEL决定:
当VCCIO2供电是1.8V,则FLASH_VOL_SEL管脚必须保持为高电平;
当VCCIO2供电是3.3V,则FLASH_VOL_SEL管脚必须保持为低电平;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
pmuio2_vsel: 3.3V
vccio7_vsel: 3.3V
vccio6_vsel: 1.8V
vccio5_vsel: 3.3V
vccio4_vsel: 1.8V
vccio3_vsel: 3.3V
vccio2_vsel: 3.3V
vccio1_vsel: 3.3V
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
输出中提到/usr/bin/list-iodomain.sh version: V1.0.1查看哪些地方调用了这个脚本:
grep -r "list-iodomain.sh" /etc/ /usr/bin/ /root/ /home/ 2>/dev/null
发现是/etc/init.d/S98iodomain.sh: list-iodomain.sh在输出内容,那么我们只要注释掉这一行就行。
由于官方固件非常精简,没有nano也没有vim,我们只能使用vi
vi /etc/init.d/S98iodomain.sh
可以看到它的逻辑直接就是120s打印一次,非常烦:
#!/bin/sh
case "$1" in
start|"")
while true
do
list-iodomain.sh
sleep $(( 60 * 2 ))
done &
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop|status)
# No-op
;;
*)
echo "Usage: [start|stop]" >&2
exit 3
;;
esac
直接注释掉list-iodomain.sh,如下:
case "$1" in
start|"")
while true
do
#list-iodomain.sh
sleep $(( 60 * 2 ))
done &
保存并退出,重启,警告就没有了