On Fri, 22 Oct 2010, Andrew Murray wrote: > Hello, > > I'm performing some research [for a CELF presentation] into reducing > boot time on embedded systems and would like to see if the embedded > community agree with the following statement as to why Linux > [arguably] takes so long in the first place for an unoptimised system: > > "Linux is general purpose, convenient and flexible. As it's general > purpose it's likely to contain un-required functionality which results > in more initialisation and a larger image size. As it's convenient and > flexible it will spent time discovering devices and verifying their > existence." > > Do you largely agree or disagree? I agree with the above, as long as the "unoptimized" keyword is also included in that statement. By nature, embedded systems are normally well defined and the kernel build configuration options are sufficiently detailed so that a highly optimized kernel with only the required functionalities can be easily produced. > Also do you believe that boot time isn't the highest priority when it > comes to improving the kernel? Well, I don't think the kernel itself needs to be much improved for boot time. This is more a system design issue nowadays i.e. optimizing the kernel configuration, proper partitioning of drivers between modules and built-in, selection of a storage media for the kernel image to boot, bootloader optimizations, user space optimizations, etc. It is well possible to achieve a short kernel boot to start interaction with the user quickly, and postpone the probing of peripherals such as USB devices in the background only when user space is started. That also depends on what your definition of "boot time" is. Is it the time from power up to the moment when user space starts executing? Or is it the time before the system is fully operational? And what is the meaning of "fully operational"? Is it when the display is working and user input is possible, or is it when network connectivity is fully established? And even then, does "network connectivity fully established" mean that the link is up with an IP address, or does this mean that you are connected to a specific application server or a particular web site with the required data downloaded? This is not as straight forward as it may seem. If boot time is only the time required for user space to start executing, then on some embedded system this can be made to work in less than a second. Is this criterion (from power up to user space) useful? That depends on the application. Nicolas > > Thanks, > > Andrew Murray > -- > To unsubscribe from this list: send the line "unsubscribe linux-embedded" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html >