mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			Merge 619a13c51b into 472e2c6050
				
					
				
			
						commit
						fc26e65587
					
				|  | @ -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/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 | ||||||
|  | 	bool "fake-hwclock" | ||||||
|  | 	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
 | ||||||
|  | #
 | ||||||
|  | ################################################################################
 | ||||||
|  | 
 | ||||||
|  | define FAKE_HWCLOCK_INSTALL_TARGET_CMDS | ||||||
|  | 	$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d | ||||||
|  | 	$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/init.d $(FAKE_HWCLOCK_PKGDIR)/files/S39fakehwclock | ||||||
|  | 
 | ||||||
|  | 	$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin | ||||||
|  | 	$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(FAKE_HWCLOCK_PKGDIR)/files/fake-hwclock | ||||||
|  | endef | ||||||
|  | 
 | ||||||
|  | $(eval $(generic-package)) | ||||||
|  | @ -0,0 +1,35 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | DAEMON="fake-hwclock" | ||||||
|  | PIDFILE="/var/run/$DAEMON.pid" | ||||||
|  | DAEMON_ARGS="5 /etc/fake-hwclock.data" | ||||||
|  | 
 | ||||||
|  | case "$1" in | ||||||
|  | 	start) | ||||||
|  | 		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,28 @@ | ||||||
|  | #!/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")" | ||||||
|  | 			date -s @"$LAST_TS" >/dev/null 2>&1 | ||||||
|  | 		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