[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#787188: initramfs-tools: reboot always triggers an fsck when hwclock is set to local time



Package: initramfs-tools
Version: 0.120
Severity: important

If debian jessie is installed on top of a debian wheezy together with a
parallel install with $OTHEROS
where the hardware clock is set to local time, every reboot will also trigger
an fsck of the root
partition. This is higly anoying and delays boots seriously, even more so for
large disks.

The problem seems to be related to the timezone of the hardware clock.
Analyzing this problem reveals
the following:

The kernel loads the system time from the hardware clock, initramfs is loaded
and the fsck triggered
in /usr/share/initramfs-tools/scripts/functions starts the file system check.
At this time, no time zone is set,
and the clock is assumed to be in UTC (can be checked by booting to the busybox
directly).

This cannot trigger a warning since the check of the clock against the root
block time is disabled according
to the prepared e2fsck.config by /usr/share/initramfs-tools/hooks/fsck. So far,
so good. At this point,
however, the time stamp of the root block is also set to the (assumed to be)
UTC time of the clock. This, by
itself, does not cause an fsck issue.

However, now as the kernel is booted and init starts up, another file system
check is triggered by
/etc/init.d/checkroot.sh. At this time, the proper system time and time zone is
known, hence the system
clock is now "behind" the assumed-to-be clock when the root block of the file
system was written. IOW, fsck
*as run by the init script* sees now a time stamp ahead of time, and triggers a
file system check.

Clearly, this game is repeated now on every reboot. Aparently, this problem
only appears if your local time
is behind UTC, or if you are east of Greenwich.

Possible resolutions: Avoid the fsck in initramfs and let it do in checkroot.sh
as it used to be. Or include
the right time zone when writing the initramfs.


Additional information on the system: This system has internet connection to a
local ntp, hence has the proper time.
Since the ethernet card requires firmware, ntp might, however, not be available
in the kernel directly, but only
after the firmware has been loaded (probably later on when it is too late).
Unclear whether this relates to the
problem.




-- Package-specific info:
-- initramfs sizes
-rw-r--r-- 1 root root 9.8M May 29 16:23 /boot/initrd.img-2.6.32-5-amd64
-rw-r--r-- 1 root root  15M May 29 16:22 /boot/initrd.img-3.16.0-4-amd64
-rw-r--r-- 1 root root  12M May 29 16:23 /boot/initrd.img-3.2.0-3-amd64
-rw-r--r-- 1 root root  12M May 29 16:22 /boot/initrd.img-3.2.0-4-amd64
-- /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=UUID=94eecf80-b39b-49ac-9fd8-c45d12320e2d ro quiet

-- resume
RESUME=UUID=010dfdb1-7106-4e7f-9283-39b5bec3c059
-- /proc/filesystems
	ext3
	ext2
	ext4
	fuseblk

-- lsmod
Module                  Size  Used by
vmw_vsock_vmci_transport    25862  0 
vsock                  30772  1 vmw_vsock_vmci_transport
vmw_vmci               55383  1 vmw_vsock_vmci_transport
cpufreq_powersave      12454  0 
cpufreq_conservative    14184  0 
cpufreq_stats          12782  0 
cpufreq_userspace      12525  0 
nfsv3                  37551  2 
rpcsec_gss_krb5        34296  0 
nfsv4                 410783  0 
dns_resolver           12641  1 nfsv4
nfsd                  263032  2 
auth_rpcgss            51211  2 nfsd,rpcsec_gss_krb5
oid_registry           12419  1 auth_rpcgss
nfs_acl                12511  2 nfsd,nfsv3
nfs                   188136  4 nfsv3,nfsv4
lockd                  83389  3 nfs,nfsd,nfsv3
fscache                45542  2 nfs,nfsv4
sunrpc                237402  28 nfs,nfsd,rpcsec_gss_krb5,auth_rpcgss,lockd,nfsv3,nfsv4,nfs_acl
w83627ehf              39438  0 
hwmon_vid              12388  1 w83627ehf
loop                   26605  0 
fuse                   83350  3 
parport_pc             26300  0 
ppdev                  16782  0 
lp                     17074  0 
parport                35749  3 lp,ppdev,parport_pc
x86_pkg_temp_thermal    12951  0 
snd_hda_codec_hdmi     45118  4 
intel_powerclamp       17159  0 
intel_rapl             17356  0 
coretemp               12820  0 
kvm_intel             139116  0 
kvm                   388635  1 kvm_intel
crc32_pclmul           12915  0 
ghash_clmulni_intel    12978  0 
snd_hda_codec_realtek    67127  1 
aesni_intel           151423  0 
aes_x86_64             16719  1 aesni_intel
lrw                    12757  1 aesni_intel
gf128mul               12970  1 lrw
glue_helper            12695  1 aesni_intel
ablk_helper            12572  1 aesni_intel
cryptd                 14516  3 ghash_clmulni_intel,aesni_intel,ablk_helper
nouveau              1122419  2 
iTCO_wdt               12831  0 
iTCO_vendor_support    12649  1 iTCO_wdt
mxm_wmi                12515  1 nouveau
wmi                    17339  2 mxm_wmi,nouveau
evdev                  17445  4 
ttm                    77862  1 nouveau
drm_kms_helper         49210  1 nouveau
drm                   249955  5 ttm,drm_kms_helper,nouveau
i2c_algo_bit           12751  1 nouveau
psmouse                99143  0 
pcspkr                 12595  0 
serio_raw              12849  0 
snd_hda_codec_generic    63142  1 snd_hda_codec_realtek
i2c_i801               16965  0 
i2c_core               46012  5 drm,i2c_i801,drm_kms_helper,i2c_algo_bit,nouveau
lpc_ich                20768  0 
mfd_core               12601  1 lpc_ich
video                  18096  1 nouveau
processor              28221  0 
battery                13356  0 
tpm_tis                17231  0 
tpm                    31511  1 tpm_tis
thermal_sys            27642  4 video,intel_powerclamp,processor,x86_pkg_temp_thermal
snd_hda_intel          26327  2 
snd_hda_controller     26646  1 snd_hda_intel
snd_hda_codec         104463  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller
snd_hwdep              13148  1 snd_hda_codec
snd_pcm                88662  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
snd_timer              26614  1 snd_pcm
snd                    65244  12 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
soundcore              13026  2 snd,snd_hda_codec
shpchp                 31121  0 
mei_me                 17941  0 
mei                    74977  1 mei_me
button                 12944  1 nouveau
ext4                  473802  1 
crc16                  12343  1 ext4
mbcache                17171  1 ext4
jbd2                   82413  1 ext4
hid_generic            12393  0 
usbhid                 44460  0 
hid                   102264  2 hid_generic,usbhid
sg                     29973  0 
sd_mod                 44356  4 
crc_t10dif             12431  1 sd_mod
sr_mod                 21903  0 
crct10dif_generic      12581  0 
cdrom                  47424  1 sr_mod
crct10dif_pclmul       13387  1 
crct10dif_common       12356  3 crct10dif_pclmul,crct10dif_generic,crc_t10dif
ahci                   33291  4 
libahci                27158  1 ahci
crc32c_intel           21809  0 
r8169                  68262  0 
libata                177457  2 ahci,libahci
ehci_pci               12512  0 
ehci_hcd               69837  1 ehci_pci
scsi_mod              191405  4 sg,libata,sd_mod,sr_mod
usbcore               195340  3 ehci_hcd,ehci_pci,usbhid
mii                    12675  1 r8169
usb_common             12440  1 usbcore

-- /etc/initramfs-tools/modules

-- /etc/kernel-img.conf
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
do_bootloader = no
do_initrd = yes
link_in_boot = no

-- /etc/initramfs-tools/initramfs.conf
MODULES=most
BUSYBOX=y
KEYMAP=n
COMPRESS=gzip
DEVICE=
NFSROOT=auto

-- /etc/initramfs-tools/update-initramfs.conf
update_initramfs=yes
backup_initramfs=no

-- /etc/crypttab
# <target name>	<source device>		<key file>	<options>

-- mkinitramfs hooks
/etc/initramfs-tools/hooks/:
adjtime

/usr/share/initramfs-tools/hooks:
busybox
dmsetup
fsck
fuse
intel_microcode
keymap
klibc
kmod
ntfs_3g
resume
thermal
udev
zz-busybox


-- System Information:
Debian Release: 8.0
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable'), (500, 'oldstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.iso-8859-1, LC_CTYPE=de_DE (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages initramfs-tools depends on:
ii  busybox            1:1.22.0-9+deb8u1
ii  cpio               2.11+dfsg-4.1
ii  klibc-utils        2.0.4-2
ii  kmod               18-3
ii  module-init-tools  18-3
ii  udev               215-17

Versions of packages initramfs-tools recommends:
ii  busybox  1:1.22.0-9+deb8u1

Versions of packages initramfs-tools suggests:
ii  bash-completion  1:2.1-4

-- no debconf information


Reply to: