上接《修改设备树文件》一文
现在每次开机都能看到/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,