Action Item #231
kernel config cleanup
|Status:||Closed||Start date:||14 Oct 2013|
|Category:||03 - Linux Kernel|
|Target version:||1.1.0 - Upgrades|
|Severity:||04 - Low|
To improve boot time, the kernel config should be examined for which drivers could be made modules and loaded at boot time. Module loading could be done by specific init scripts as needed or by a specialized init process that parallelizes the init scripts (without using scripts to reduce fork/exec overhead).
#3 Updated by Hammel over 7 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
- A bunch of eth drivers are compiled in. Only smsc95xx needs to be enabled and even that could be a loadable module.
- bcm2708_spi takes 3.5 seconds to load
- sda1 (ext4) takes 9 seconds to load
- wlan0 takes 8 seconds to load
- X (and the fbtft) takes 17 seconds to load
#4 Updated by Hammel over 2 years ago
- Priority changed from Normal to Immediate
- Target version changed from 2.0 - Harkonnen to 1.1.0 - Upgrades
- Severity changed from 03 - Medium to 04 - Low
Bumping this to 1.1.0 release because the kernel config has so much cruft in it that PiBox just doesn't need, like all those eth drivers. This is because I switched, a while back, to using the defconfig for the Pis. Now I need to switch back to a trimmed down kernel so save both disk and memory space.
#5 Updated by Hammel over 1 year ago
- Status changed from In Progress to Closed
- % Done changed from 10 to 100
There is a breakdown of the required config options available. This might be a good stripped down version to start with, just to see if it boots.
I looked through the config file for what drivers are compiled in (=y). There are a few areas I could turn off, but a few things, like the eth drivers, may not have any affect according to kconfig descriptions. Also, the kernel is 5M, which is not tiny but it's not bad given all it has to do for something like a media system.
So I'm going to leave the config alone for how. It's not really a problem and the boot time issues are external to the config, at least as of now.