|
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).
|
# ¿ Jan 6, 2017 11:32 |
|
|
# ¿ May 16, 2024 22:46 |