Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
robostac
Sep 23, 2009
http://elinux.org/Boot_Time
http://www.denx.de/en/pub/Documents/Presentations/EWC2012_Roeder_Zundel_Fastboot.pdf
http://free-electrons.com/doc/training/boot-time/boot-time-slides.pdf
http://free-electrons.com/pub/conferences/2014/elc/opdenacker-boot-time/opdenacker-boot-time.pdf

I've only really looked into it on a much slower processor, so some of the things I found may not apply as much. Also the device I was working on isn't a general linux system (no-one should ever be actually at a command prompt, no requirements for partial upgrades, very minimal services etc) so there was a lot of room for removing complexity from the boot process.

Making the root filesystem squashfs read was the biggest improvement. Keeping the size of the writeable partition down also helped. Replacing uboot with barebox saved about half a second too (I think this might be because it loaded the kernel in the correct place rather than loading it and then copying it, which should be possible in uboot). Kernel modules for anything not required immediately (usb drivers, camera drivers)

Because I was on a slow processor a lot of time was spent removing shell based startup (both script processing and avoiding creating too many new processes) as that was a significant overhead (writing init scripts in c, loading kernel modules directly via syscalls instead of calling modprobe/insmod, c based initramfs to setup encrypted partitions).

Adbot
ADBOT LOVES YOU

  • Locked thread