#!/bin/sh LOG_FILE="/home/root/rtc_init.log" DATE_STR=$(/bin/date '+%Y-%m-%d %H:%M:%S') echo "[$DATE_STR] RTC check started" > $LOG_FILE # Try reading RTC /sbin/hwclock -r >/dev/null 2>&1 if [ $? -eq 0 ]; then DATE_STR=$(/bin/date '+%Y-%m-%d %H:%M:%S') echo "[$DATE_STR] hwclock -r SUCCESS" >> $LOG_FILE else DATE_STR=$(/bin/date '+%Y-%m-%d %H:%M:%S') echo "[$DATE_STR] hwclock -r FAILED -> writing system time to RTC" >> $LOG_FILE # small delay to ensure system time is valid (important in embedded boot) sleep 5 /sbin/hwclock -w >/dev/null 2>&1 if [ $? -eq 0 ]; then DATE_STR=$(/bin/date '+%Y-%m-%d %H:%M:%S') echo "[$DATE_STR] hwclock -w SUCCESS" >> $LOG_FILE else DATE_STR=$(/bin/date '+%Y-%m-%d %H:%M:%S') echo "[$DATE_STR] hwclock -w FAILED" >> $LOG_FILE fi fi echo "[$(date '+%Y-%m-%d %H:%M:%S')] RTC check finished" >> $LOG_FILE