在Debian启动时,我需要将补丁内存应用到蓝牙芯片上。此修补程序使用/dev/mem重置GPIO。此更新后的蓝牙init脚本包含在/etc/init.d/bluetooth中。
我的bluetooth.service是
[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
[Service]
Type=dbus
BusName=org.bluez
ExecStart=/etc/init.d/bluetooth start
User=root
NotifyAccess=main
[Install]
WantedBy=bluetooth.target
Alias=dbus-org.bluez.service但是,当我重新启动时,我会收到一个错误,它说‘`Unable to open /dev/mem:运算不允许’。
我知道/dev/mem只对根用户可访问,但我不是以根用户的身份运行init脚本吗?
发布于 2015-07-07 01:28:22
它清楚地指出,您没有运行脚本的权限,您可以以根用户的身份运行脚本作为ExecStart=/etc/init.d/bluetooth start,这个命令应该以根用户的身份运行
只需以root身份登录并重新运行脚本即可。
在系统启动时运行脚本
vi /etc/init.d/bluetooth.service的脚本chmod +x /etc/init.d/bluetooth.serviceupdate-rc.d bluetooth.service defaults 100其中,bluetooth.service:是您的启动脚本名默认值:参数‘default’指的是默认运行级别,即2到5.100: to 100意味着脚本将在任何包含数字101的脚本之前被执行。只需运行命令
ls –l /etc/rc3.d/此命令将使用数字软链接到/etc/init.d。
下次重新启动系统时,您的自定义命令或脚本将通过bluetooth.services执行。是
https://stackoverflow.com/questions/31258141
复制相似问题