PetaLinux下gpsd启动报错 缺失配置文件手动存放路径咨询
PetaLinux下gpsd缺失systemd单元文件的解决方案
首先明确两个文件的存放路径:手动创建的gpsd.socket和gpsd.service需放置在/etc/systemd/system/目录下,该目录为PetaLinux(基于Yocto构建)中自定义systemd单元的优先读取路径,不会被后续包更新覆盖原有配置。
1. gpsd.socket 配置示例
在上述路径下创建gpsd.socket,填入以下内容:
[Unit] Description=GPS Daemon Control Sockets [Socket] ListenStream=/run/gpsd.sock ListenDatagram=/run/gpsd.sock SocketMode=0666
2. gpsd.service 配置示例
在同一路径下创建gpsd.service,填入以下内容,注意替换实际GPS设备节点:
[Unit] Description=GPS (Global Positioning System) Daemon Requires=gpsd.socket After=network.target [Service] Type=forking # 请将下方/dev/ttyUSB0替换为你实际的GPS硬件设备节点,可按需追加波特率等参数 ExecStart=/usr/sbin/gpsd -n /dev/ttyUSB0 PIDFile=/run/gpsd.pid Restart=on-failure [Install] WantedBy=multi-user.target Also=gpsd.socket
3. 生效操作步骤
- 执行
systemctl daemon-reload让systemd读取新增的单元配置 - 执行
systemctl start gpsd.socket gpsd.service启动对应服务 - 执行
systemctl enable gpsd.socket gpsd.service配置开机自启 - 验证运行状态可执行
systemctl status gpsd,无报错后可通过gps相关客户端工具查看定位数据
内容的提问来源于stack exchange,提问作者asher sajid
相关产品推荐
相关产品推荐

