%PDF- %PDF-
Direktori : /snap/core/current/usr/share/initramfs-tools/scripts/local-bottom/ |
Current File : //snap/core/current/usr/share/initramfs-tools/scripts/local-bottom/fixrtc-mount |
#!/bin/sh # initramfs local-bottom script for fixrtc-mount PREREQ="" # Output pre-requisites prereqs() { echo "$PREREQ" } case "$1" in prereqs) prereqs exit 0 ;; esac # This script looks at root file system files to get an accurate as possible # date. It runs when we already have a mounted root, as opposed to the 'fixrtc' # script, which uses the last mount time of the root file system. In devices # where there is no battery for the RTC, 'fixrtc' is not effective, as the mount # time will always be inaccurate. This script helps in those cases. BROKEN_CLOCK="" # shellcheck disable=SC2013 for opt in $(cat /proc/cmdline); do case ${opt} in fixrtc) BROKEN_CLOCK=1 ;; esac done if [ -n "$BROKEN_CLOCK" ]; then snapsfolder=/root/writable/system-data/var/lib/snapd/snaps current=$(date +%s) # We start with date at the time of writing this newdate=$(date -d "2018-07-26" +%s) if [ -d "$snapsfolder" ]; then otherdate=$(stat -c %Y "$snapsfolder") if [ "$otherdate" -gt "$newdate" ]; then newdate=$otherdate fi fi if [ "$newdate" -gt "$current" ]; then date -s "@$newdate" echo "initrd: date set from $0 ($(date --utc))" > /dev/kmsg fi fi # This script is best-effort. If we couldn't fudge the clock as desired, # just try to carry on boot anyway: # Boot will probably fail, but we won't have made the situation any worse exit 0