Looks like hibernation is the only practical way to solve battery draining issues. So, I’m trying to figure out if it’s possible to reduce the time between power on and a moment when an OS is actually ready to resume.
In my case it takes 18 seconds to go from cold laptop to LUKS unlock screen. Given that the actual resume takes 10 seconds more this all seems a bit too much.
In BIOS I’ve enabled quick boot, disabled USB boot and set boot timeout to 0. Other than that I do not see any options that would potentially decrease the POST time. GRUB is also configured with 0 timeout.
I’m using Kubuntu 21.10 and Framework DIY i7 with SN850 and OEM 32GB RAM, BIOS 3.06 (yeah, I know, 3.07, but I’ll wait for fwupdate).
It’s also interesting to me what is happening during initial power-on sequence. After I press power button on a cold laptop it takes ~8 seconds before LED backlight is turned on. I assume this time os occupied by memory test and SDD initialization. Still it looks kinda strange, since even with full POST and non-UEFI boot my older PC booted in a couple of seconds.
u can achieve faster boot times
with EFISTUB instead of GRUB, as GRUB with LUKS is slow
also, u can switch to a different init like s6 or dinit if thats viable (u’ll have to create service files ur self).
Those r the fastest full blown inits i’ve test so far
Thanks for systemd-analyze!
Hm… for the same setup I get:
Startup finished in 8.826s (firmware) + 4.521s (loader) + 8.675s (kernel) + 6.470s (userspace) = 28.495s
graphical.target reached after 6.339s in userspace
Notable differences are the kernel and the loader. The latter is probably because of LUKS, but why the firmware and kernel times are so different? I’m using Kubuntu 21.10 by the way.
The kernel difference is likely because my initrd is pretty small doesn’t really load much and Arch also defaults to using zstd which is also faster to decompress versus gzip.
The firmware difference is strange if you also have the same expansion slots. Maybe the other components are making a difference? The exact spec is shared on my blog (I swapped the microSD with a usb-A since the post). I’m also running the latest bios version 3.07 FWIW.