您现在的位置是:首页 >技术教程 >20250207在飞凌的OK3588-C开发板的Linux R4系统下配置开机自启动脚本网站首页技术教程
20250207在飞凌的OK3588-C开发板的Linux R4系统下配置开机自启动脚本
20250207在飞凌的OK3588-C开发板的Linux R4系统下配置开机自启动脚本
2025/2/7 13:57
缘起,突然接到紧急任务,需要在飞凌的OK3588-C开发板上测试50片底板,接SONY索尼的HDMI接口的8530机芯测试。
自己测试7片,配置成为了开机自启动模式,剩下的43片移交给硬件测试了。
飞凌的OK3588-C开发板上面的脚本可以参考/etc/init.d目录下的文件写即可。
有Rockchip指定的格式。
S88start8530.sh
#!/bin/sh
export XDG_RUNTIME_DIR=/var/run/
export LD_LIBRARY_PATH=/app/lib:$LD_LIBRARY_PATH
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/app/bin
DESC="viewlink app"
# 要检查的目录
check_dir="/app"
# 需要重命名的目录
bak_dir="/app_bak"
save_bak_dir="/app_save_bak"
new_name="/app"
exclude_dir="/app/boa/log"
check_file_empty(){
empty_files=$(find /app -type f ! -path "/app/boa/log/*" ! -path "/app/osd_bmp/*" -size 0)
if [ -n "$empty_files" ]; then
echo "Found empty files:"
echo "$empty_files"
rm $check_dir -rf
# 检查bak目录是否存在
if [ -d $bak_dir ]; then
# 重命名bak目录为app
mv $bak_dir $new_name
echo "Directory $bak_dir has been renamed to $new_name."
else
echo "Directory $bak_dir does not exist."
cp $save_bak_dir $new_name -rf
fi
else
echo "No empty files found."
fi
}
check_update() {
if [ -d /app_bak ]; then
rm -rf /app_bak
fi
if [ -d /update/app ]; then
mv /app /app_bak
mv /update/app /app
chmod -R 777 /app
else
echo "do not update"
fi
}
start() {
#check_update
#check_file_empty
# sleep 5
gst-launch-1.0 v4l2src device=/dev/video8 ! videoconvert ! video/x-raw, format=NV16 ! waylandsink
#cp /app/lib/* /usr/lib -rf
#/app/bin/viewlink_app > /app/bug.log 2>1 &
echo "viewlink_app start"
}
stop() {
# kill -9 $(pidof rtsp_server)
# echo "rtsp_server stop"
kill -9 $(pidof viewlink_app)
echo "viewlink_app stop"
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
通过adb将S88start8530.sh推送到/etc/init.d之后,发现没有可执行权限,给加上。
root@ok3588:/# cd /etc/init.d
root@ok3588:/etc/init.d# ll
sh: ll: command not found
root@ok3588:/etc/init.d#
root@ok3588:/etc/init.d#
root@ok3588:/etc/init.d# ls -l
total 132
-rwxr-xr-x 1 root root 1012 Mar 9 2023 S01syslogd
-rwxr-xr-x 1 root root 1004 Mar 9 2023 S02klogd
-rwxr-xr-x 1 root root 2804 Mar 9 2023 S02sysctl
-rwxr-xr-x 1 root root 428 Mar 9 2023 S10async_commit.sh
-rwxr-xr-x 1 root root 1594 Mar 9 2023 S10udev
-rwxr-xr-x 1 root root 1684 Mar 9 2023 S20urandom
-rwxr-xr-x 1 root root 12121 Mar 9 2023 S21mountall.sh
-rwxr-xr-x 1 root root 1619 Mar 9 2023 S30dbus
-rwxr-xr-x 1 root root 820 Mar 9 2023 S35iptables
-rwxr-xr-x 1 root root 1001 Mar 9 2023 S40bluetooth
-rwxr-xr-x 1 root root 438 Mar 9 2023 S40network
-rwxr-xr-x 1 root root 457 Mar 9 2023 S40rkaiq_3A
-rwxr-xr-x 1 root root 901 Mar 9 2023 S49weston
-rwxr-xr-x 1 root root 1354 Mar 9 2023 S50dropbear
-rwxr-xr-x 1 root root 576 Mar 9 2023 S50lighttpd
-rwxr-xr-x 1 root root 724 Mar 9 2023 S50matrix-browser
-rwxr-xr-x 1 root root 871 Mar 9 2023 S50pulseaudio
-rwxr-xr-x 1 root root 532 Mar 9 2023 S50sshd
-rwxr-xr-x 1 root root 10619 Mar 9 2023 S50usbdevice
-rwxr-xr-x 1 root root 431 Mar 9 2023 S70vsftpd
-rwxr-xr-x 1 root root 427 Mar 9 2023 S80dnsmasq
-rwxr-xr-x 1 root root 905 Mar 9 2023 S98Bluez_init
-rwxr-xr-x 1 root root 293 Mar 9 2023 S99chromium-wayland.sh
-rwxr-xr-x 1 root root 468 Mar 9 2023 S99input-event-daemon
-rwxr-xr-x 1 root root 296 Mar 9 2023 S99qtwebengine.sh
-rw-rw-rw- 1 root root 1633 Feb 7 2025 S88start8530.sh
-rw-r--r-- 1 root root 471 Mar 9 2023 ninfod.sh
-rwxr-xr-x 1 root root 423 Mar 9 2023 rcK
-rwxr-xr-x 1 root root 408 Mar 9 2023 rcS
root@ok3588:/etc/init.d# sync
root@ok3588:/etc/init.d#
root@ok3588:/etc/init.d# chmod 777 S88start8530.sh
root@ok3588:/etc/init.d#
root@ok3588:/etc/init.d# ls -l
total 132
-rwxr-xr-x 1 root root 1012 Mar 9 2023 S01syslogd
-rwxr-xr-x 1 root root 1004 Mar 9 2023 S02klogd
-rwxr-xr-x 1 root root 2804 Mar 9 2023 S02sysctl
-rwxr-xr-x 1 root root 428 Mar 9 2023 S10async_commit.sh
-rwxr-xr-x 1 root root 1594 Mar 9 2023 S10udev
-rwxr-xr-x 1 root root 1684 Mar 9 2023 S20urandom
-rwxr-xr-x 1 root root 12121 Mar 9 2023 S21mountall.sh
-rwxr-xr-x 1 root root 1619 Mar 9 2023 S30dbus
-rwxr-xr-x 1 root root 820 Mar 9 2023 S35iptables
-rwxr-xr-x 1 root root 1001 Mar 9 2023 S40bluetooth
-rwxr-xr-x 1 root root 438 Mar 9 2023 S40network
-rwxr-xr-x 1 root root 457 Mar 9 2023 S40rkaiq_3A
-rwxr-xr-x 1 root root 901 Mar 9 2023 S49weston
-rwxr-xr-x 1 root root 1354 Mar 9 2023 S50dropbear
-rwxr-xr-x 1 root root 576 Mar 9 2023 S50lighttpd
-rwxr-xr-x 1 root root 724 Mar 9 2023 S50matrix-browser
-rwxr-xr-x 1 root root 871 Mar 9 2023 S50pulseaudio
-rwxr-xr-x 1 root root 532 Mar 9 2023 S50sshd
-rwxr-xr-x 1 root root 10619 Mar 9 2023 S50usbdevice
-rwxr-xr-x 1 root root 431 Mar 9 2023 S70vsftpd
-rwxr-xr-x 1 root root 427 Mar 9 2023 S80dnsmasq
-rwxr-xr-x 1 root root 905 Mar 9 2023 S98Bluez_init
-rwxr-xr-x 1 root root 293 Mar 9 2023 S99chromium-wayland.sh
-rwxr-xr-x 1 root root 468 Mar 9 2023 S99input-event-daemon
-rwxr-xr-x 1 root root 296 Mar 9 2023 S99qtwebengine.sh
-rwxrwxrwx 1 root root 1633 Feb 7 2025 S88start8530.sh
-rw-r--r-- 1 root root 471 Mar 9 2023 ninfod.sh
-rwxr-xr-x 1 root root 423 Mar 9 2023 rcK
-rwxr-xr-x 1 root root 408 Mar 9 2023 rcS
root@ok3588:/etc/init.d#
简单起见,可以参考S50sshd写了:
#!/bin/sh
#
# sshd Starts sshd.
#
# Make sure the ssh-keygen progam exists
[ -f /usr/bin/ssh-keygen ] || exit 0
umask 077
start() {
# Create any missing keys
/usr/bin/ssh-keygen -A
printf "Starting sshd: "
/usr/sbin/sshd
touch /var/lock/sshd
echo "OK"
}
stop() {
printf "Stopping sshd: "
killall sshd
rm -f /var/lock/sshd
echo "OK"
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?