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.


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 '18 at 8:54
  • 2
    @Carles Of course , systemd is introduced in debian starting from Jessie. – GAD3R Oct 17 '18 at 8:58

To really speed up boot time build a custom kernel.

One can build a custom kernel by removing all the devices not needed on your computer from the "stock" or original kernel.

It's easier than it sounds.

You get the kernel file and edit out all the things your computer does not need. For instance, if your computer does not have wifi then remove from the kernel all wifi drivers. And then recompile the kernel.

Your new kernel is much tighter than the old kernel and boots much faster.

I would recommend reading the section on configuring a kernel in the FreeBSD Handbook.


Again, it's a lot easier than it sounds.


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 '18 at 9:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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