Edison has been a great platform to experiment since it has many tools built-in in the default image. I have come to the time to optimize how fast it boots. I read up some guides on the internet. They cover strategy on the u-boot, kernel, filesystem. I want to know what intel or the edison community has achieve in terms of optimize boot time.
When I think about boot time, I am thinking about a binary in /usr/bin can run; it has access to serial to talk to some device. Network access can come later.
Thanks for reaching out!
There are several ways in which you can try to improve your Edison's boot time. The easiest way would be to remove every package you don't need from your Edison's image. Nevertheless, this is not the optimal way, the best way to do this would be to build your own custom image that only includes the packages you require in your project.
Once you have an optimized image, you will have to create a system service that starts on boot your script. This service must have (in order to improve the boot time) as a dependency the service that starts the serial ports. This would start your script as early as possible and the rest of the OS would continue to be initialized while your script is already running.
I hope this information helps you.
I did an improvised test on my Edison to see how long it took to boot. My results are that it takes my Edison ~23s to boot (until I see the login request).
I have never tried to create an image that is focused on boot speed. Nevertheless, if you adjust it as much as possible I'm sure you will be able to see a noticeable difference. However, I doubt that 10s is a realistic goal as (according to my improvised test) it takes ~11s to start the kernel.
I hope this helps.