Building the "Just Enough Kernel"
We have built a Linux system from scratch which boot in 5 Secs on my Core2Due-Asus MB machine. I tested it on another machine with different motherboard but the same CPU. Surprisingly, the kernel itself took 7 secs to complete and pass control to init.
I traced the messages and found that due to different hardware, it spends almost 1.5sec to wait for FD (even if I disable FD in BIOS setup) and spends the rest to detect hardware. Therefore, in order to achieve an atmost 2sec kernel load time (just as we have on the first machine), I'm searching for a solution.
I've came to conclusion that I should
1 - Prevent the kernel from scanning for devices
2 - Reduce the list of compiled features to support just the HW I have.
Anyone can help me by answering these questions please:
1 - How can I findout which devices are in actual use by the kernel (to build the just enough list)
2 - How can prevent the kernel from scanning or waiting for unavailable devices>
3 - Is there any simpler idea?
Thanks a lot.