问题描述
开机自启动命令如下:
#!/bin/sh
chmod +x /root/k230_bin/yolo.elf
setsid /root/k230_bin/yolo.elf >> /tmp/yolo.log 2>&1 &
现象:通过 /etc/init.d/S99yolo 开机自启动时,程序在动态链接器初始化阶段(main() 之前)崩溃,报 SIGILL:
yolo.elf[233]: unhandled signal 4 code 0x1 at 0x0000000000020004 in yolo.elf[10000+483000]
cause: 0x0000000000000002
已尝试:sleep 延迟、LD_BIND_NOW=1、setsid 包装、main() 内 setsid()+execv() 重启自身、去掉 -mrvv-auto-vectorize 重新编译,均无法解决。
我只是想做一个开机自启动,但是写蒙了已经,有什么好的办法么。如果手动运行yolo.elf就很正常,但是配置开机自启动的话就不行,而且屏幕还会闪烁。
复现步骤
上电启动开发板
#!/bin/sh
chmod +x /root/k230_bin/yolo.elf
setsid /root/k230_bin/yolo.elf >> /tmp/yolo.log 2>&1 &
启动一个yolo.elf文件。
reboot
yolo.elf文件开机自启动失败
硬件板卡
01studio_k230
软件版本
CanMV-K230_LCKFB_linux_v0.6.9_nncase_v2.10.0.img.gz