开机自启动配置失败

Viewed 47

问题描述


开机自启动命令如下:
#!/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

1 Answers

把setsid 去掉

放到 buildroot-overlay/board/canaan/k230-soc/rootfs_overlay/etc/init.d/S99canaanboot 脚本后面