Optimize the boot image updating process
the time taken by the system to show its "availability" since the power button was pushed on; is a becoming a key differentiator in the usability vector.The definition of availability varies across the devices.The differences between SDK and an end-product will be visible in these patches as well.Optimization begins with knowing current boot-time, setting the target and defining the boundary conditions.Much of profiling is based upon various strings that are printed on the serial console. Looking from the end-product perspective - when all development is complete - the bootloaders are required to perform only these 2 tasks: Profiling should be restricted to these actions only.A timestamp can be added to each string printed by the kernel.
(More details here.) The author used Real Term for the purpose.This initialization happens via series of initcalls.These "initcalls" can be instrumented by adding bootarg NOTEThis article doesn't attempt to discuss possibility of optimizing the individual kernel subsystems and modules.can be excluded if devices are known to follow defined specs.The boot-loaders and the Linux kernel contain a default configuration that decides which components are included in the build.
These default configurations become starting point for creating a product specific configuration.