Beaglebone Black——开机自动运行程序

本文介绍了如何在Beaglebone Black上配置开机自动运行程序,使用hwclock更新系统时间。通过编写脚本并利用insserv工具,确保在系统启动时能够正确同步RTC1的时间,实现开机自动更新系统时间。
摘要由CSDN通过智能技术生成

上接《修改设备树文件》一文

           现在每次开机都能看到/dev/rtc1了,那么我们还需要一个应用程序来把时间从RTC读取出来更新到系统中,然而通过linux系统自带的一个程序hwclock,我们就可以把RTC的时间更新到系统中来,不需要自己动手省了很多麻烦。当然这个程序需要附带几个参数,其功能如下:

查看rtc1的时间

hwclock -r -f /dev/rtc1

将系统的时间更新到rtc1

hwclock -w -f /dev/rtc1 

将rtc1的时间更新到系统

hwclock -s -f /dev/rtc1


        到现在我们的目的还没有完全达成,虽然开机后系统能自动把驱动硬件的接口(/devrtc1)外露出来,但是我们总不能每次开机后手动运行hwclock -s -f /dev/rtc1来更新系统时间吧,所以需要学会开机让程序自动运行。第一步,先写一个脚本用来更新时间。

#!/bin/sh
### BEGIN INIT INFO
# Provides:          RTC.sh
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: date
# Description:       get correct date information
### END INIT INFO

#/etc/init.d/RTC.sh

#The following part always gets executed.
echo "zy"

#The following part carries out specific functions depending on arguments.
case "$1" in
	start)
	   echo "Reading date from /dev/rtc1......"
	   hwclock -s -f /dev/rtc1
	   echo "Done!"
	   ;;
	stop)
	   echo "Stopping RTC"
	   ;;
	*)
	   echo "Usage: /etc/init.d/RTC.sh {start|stop}"
	   exit 1
	   ;;
esac

exit 0

01:每一个脚本的第一句特别注释,用于向系统指定运行本脚本的shell

02-10:这是一段专门格式用于给insserv程序识别的LSB信息,通过这些信息insserv可以知道应该把你的脚本安排在一系启动脚本中哪个顺序开始运行。留待后面细说。

12:注解本脚本将要存放的绝对位置

14-15:这个地方不管任何情况此处的语句都会被执行,按需要写自己想要做的事情即可。

17-31:一个case结构,分成了三种情况,如果$1为start,那么做A事,然后跳出case结构;如果$1为stop,

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值