我有一个脚本可以在英特尔爱迪生上初始化我的蓝牙设置。它允许配对和连接到运行 Yocto Poky Linux 的无头机器。有人建议我将启动脚本放在 /etc/init.d 并运行 update-rc.d myscript.sh defaults。该脚本运行但它没有工作(生成的引导错误说蓝牙设备未找到),因为蓝牙尚未启动。我做了一些研究,删除链接后,我确实 update-rc.d myscript.sh defaults 99 声称最后运行脚本但它没有任何区别 - 它仍然在引导序列中运行在同一个位置. 我验证了链接上有 S99,所以看起来它们设置正确。SO上有另一个帖子问了一个类似的问题,但那是一个Ubuntu系统,我的是Poky Linux。该解决方案建议将启动脚本放在我的系统上不存在的目录中。还有其他建议,将它放在 rc.local 中,我这样做并得到了相同的结果,它在蓝牙初始化之前运行。
这是我的脚本。我的程序名为 nmea_thread,最后运行。其他一切都在初始化蓝牙。
#!/bin/sh
/usr/sbin/rfkill unblock bluetooth
/usr/bin/hciconfig hci0 up
/usr/bin/hciconfig hci0 piscan
/usr/bin/hciconfig hic0 sspmode 0
/home/root/simpleAgent/simple-agent &
/home/root/nmea_thread