Sunday, October 23, 2016

Slow boot, long kernel load time, due to wrong resume device



For some time, my boot process is taking too long (almost 1 min.).




systemd-analyse time 


shows that kernel is taking 35.765s



Looking at dmesg, it seems that the problem is with mounting file systems:



...
[ 2.186084] sdb: sdb1 sdb9

[ 2.186919] sd 2:0:0:0: [sdb] supports TCG Opal
[ 2.186922] sd 2:0:0:0: [sdb] Attached SCSI disk
[ 2.499795] ata5: SATA link down (SStatus 0 SControl 300)
[ 2.844320] clocksource: Switched to clocksource tsc
[ 35.670493] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
[ 35.782128] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 35.803610] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
...



My /etc/fstab looks like this:



#                
/dev/mapper/ubuntu--vg-root / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=3996-2381 /boot/efi vfat umask=0077 0 1
#/dev/mapper/ubuntu--vg-swap_1 none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0



How can I troubleshoot this ?



EDIT: looking closely at the boot messages (after removing the quiet option in grub), I spotted a suspicious line:



gave up waiting for suspend/resume device


I think my swap is encrypted, and I also think the UUID in /etc/initramfs/conf.d/resume does not correspond to any device.



Should I disable resume/suspend? and how to do that?




Ok, I found the solution, thanks to Sudhanshu's comment.



The problem was due to my swap being encrypted. So the local-premount script in initramfs was waiting for a swap device that was not available, until it timed out. The relevant message was gave up waiting for suspend/resume device.



To disable this (as resuming from swap is not possible with an encrypted swap, and I don't use hibernation anyway), I modified this file: /etc/initramfs-tools/conf.d/resume.



In this file, a line with



RESUME=none



(instead of the UUID that was here) will disable waiting for a resume device.



Run



sudo update-initramfs -u


to apply the changes.




System now boots normally.


No comments:

Post a Comment

11.10 - Can't boot from USB after installing Ubuntu

I bought a Samsung series 5 notebook and a very strange thing happened: I installed Ubuntu 11.10 from a usb pen drive but when I restarted (...