I would be interested in finding ways to reduce the boot time, specially in embedded-related environments.

I've read somewhere of a method to avoid the kernel to load some drivers or modules but I'm completely lost and all the information I find on internet is quite complex and dense.

Could anyone please suggest the general steps needed to achieve this? Maybe I'm wrong and this is nothing to do with the kernel.

up vote 7 down vote accepted

The arch linux documentation Improving performance/Boot process may help you to learn how to improve the boot performance.

Use systemd-analyze blame to check the timing for the enabled services, or systemd-analyze critical-chain to check the critical points then disable the unwanted services through systemctl disable service_name. or removing the un-necessary programs through apt.

  • 1
    Thanks! Can this be extrapolated to debian-based systems? – Carles Oct 17 at 8:54
  • 2
    @Carles Of course , systemd is introduced in debian starting from Jessie. – GAD3R Oct 17 at 8:58

The most extensive documentation I know of on boot time optimization (for embedded Linux) is the presentation slides from Bootlin (previously know as Free Electrons) from their training course dedicated to boot time optimization: https://bootlin.com/doc/training/boot-time/

Even without the associated training it still provide much information about tools to measure boot time - multiple points that can gain you time.

But one thing to note: some of the options described require tweaking some low-level aspects of your kernel/root filesystem.

  • Thanks @Bear'sBeard. I didn't know the page but it looks great! – Carles Oct 18 at 9:52

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.