S32G A核之——自启脚本
S32G A核之——自启脚本
1、问题:
最初的想法想要上电自动配置IP,这样就不用先连接串口再配置网络了。(不过好像直接配置静态网络更方便一些。。。)
2、解决方法
方法1:
1. 首先要准备好一个脚本。
my_start.sh:
#!/bin/bash ifconfig eth1 192.168.10.150 echo "IP:192.168.10.150"
2. 脚本加可执行权限
chmod +x my_start.sh
3. 在/etc/systemd/system下创建文件
my_start.service:
[Unit] Description=my start Service After=network.target [Service] ExecStart=/etc/systemd/system/my_start.sh Restart=no [Install] WantedBy=multi-user.target
4. 重新加载 systemd 配置: 在创建或修改服务文件后,需要重新加载 systemd 配置以使更改生效:
sudo systemctl daemon-reload
这个很重要,不然可能会一直失败!!!。
5. 启用服务: 使用 systemctl enable
命令启用服务,这样 systemd 会在系统启动时自动启动该服务。
sudo systemctl enable my_start.service
也可以直接启动服务并查看其状态:
sudo systemctl start my_start.service
sudo systemctl status my_start.service
还可以查看当前服务是否已经启动
sudo systemctl status my_start.service
可以查看 systemd 日志以确认服务是否成功运行
sudo journalctl -u my_start.service
方法2:
(S32G A核Linux 里面没有/etc/systemd/system目录,导致无法按照网上给的统一Linux自启。)
1. 找到 /etc/init.d/ 创建自己的自启脚本XXX.sh
2. 将想要执行的命令写入脚本,并修改脚本的权限
chmod +x XXX.sh
3. 用update-rc.d命令将该文件添加在启动级别中
update-rc.d XXX.sh defaults
4. 重启
sync
reboot
5.补充说明
启动和停止服务: 你可以使用以下命令来手动启动、停止或重启服务:
/etc/init.d/XXX.sh start /etc/init.d/XXX.sh stop /etc/init.d/XXX.sh restart