Re: Embedded Linux Boot Time Poll

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 

[Index of Archives]     [Gstreamer Embedded]     [Linux MMC Devel]     [U-Boot V2]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux ARM Kernel]     [Linux OMAP]     [Linux SCSI]

  Powered by Linux