mirror of https://github.com/OpenIPC/firmware.git
added simple fake-hwclock
parent
38020498a5
commit
bc40af0dfd
|
|
@ -13,6 +13,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/divinus/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/dropbear-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/dropbear-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/exfat-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/exfat-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/f2fs-tools-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/f2fs-tools-openipc/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/fake-hwclock-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/fdk-aac-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/fdk-aac-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/ffmpeg-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/ffmpeg-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/fullhan-osdrv-fh8852v100/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/fullhan-osdrv-fh8852v100/Config.in"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
config BR2_PACKAGE_FAKE_HWCLOCK_OPENIPC
|
||||||
|
bool "fake-hwclock-openipc"
|
||||||
|
help
|
||||||
|
Restores system time from a file on boot, saves the current time, or periodically updates a timestamp file to maintain time on systems without a hardware RTC.
|
||||||
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# fake-hwclock-openipc
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
define FAKE_HWCLOCK_OPENIPC_INSTALL_TARGET_CMDS
|
||||||
|
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
|
||||||
|
$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/init.d $(FAKE_HWCLOCK_OPENIPC_PKGDIR)/files/S39fakehwclock
|
||||||
|
|
||||||
|
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||||
|
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(FAKE_HWCLOCK_OPENIPC_PKGDIR)/files/fake-hwclock
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(generic-package))
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
DAEMON="fake-hwclock"
|
||||||
|
PIDFILE="/var/run/$DAEMON.pid"
|
||||||
|
DAEMON_ARGS="5 /etc/fake-hwclock.data"
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo -n "Starting $DAEMON: "
|
||||||
|
fake-hwclock load /etc/fake-hwclock.data
|
||||||
|
# Save timestamp every 5 seconds
|
||||||
|
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- $DAEMON_ARGS
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "OK"
|
||||||
|
else
|
||||||
|
echo "FAIL"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
stop)
|
||||||
|
echo -n "Stopping $DAEMON: "
|
||||||
|
start-stop-daemon -K -q -p "$PIDFILE"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
rm -f "$PIDFILE"
|
||||||
|
fake-hwclock save /etc/fake-hwclock.data
|
||||||
|
echo "OK"
|
||||||
|
else
|
||||||
|
echo "FAIL"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [[ $# -lt 2 ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
MODE="$1"
|
||||||
|
TIMESTAMP_FILE="$2"
|
||||||
|
|
||||||
|
mkdir -p "$(dirname "$TIMESTAMP_FILE")"
|
||||||
|
|
||||||
|
if [[ "$MODE" == "load" ]]; then
|
||||||
|
if [[ -f "$TIMESTAMP_FILE" ]]; then
|
||||||
|
LAST_TS=$(cat "$TIMESTAMP_FILE")
|
||||||
|
if [[ -n "$LAST_TS" ]]; then
|
||||||
|
echo "fake-hwclock: Setting time to $(date -d @"$LAST_TS")"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
elif [[ "$MODE" == "save" ]]; then
|
||||||
|
date +%s > "$TIMESTAMP_FILE"
|
||||||
|
elif [[ "$MODE" =~ ^[0-9]+$ ]]; then
|
||||||
|
INTERVAL="$MODE"
|
||||||
|
while true; do
|
||||||
|
date +%s > "$TIMESTAMP_FILE"
|
||||||
|
sleep "$INTERVAL"
|
||||||
|
done
|
||||||
|
fi
|
||||||
Loading…
Reference in New Issue