I'm looking to lower my boot time by whatever means possible. I have about 8GB of RAM in my laptop, and if there's any way I could leverage that into faster boot time, that'd be awesome. Is there a way to make the kernel load itself and all modules immediately into RAM to make things faster? Does the Linux kernel already do this?
Answering precisely to the question: Is there a way to speed things up at boot time?. Yes.
systemd, this is available on RHEL6 onwards, Fedora 15,16 onwards, CentOS 6 onwards.
In other worlds of Linux like Ubuntu -- you would have
In other world of Unix like Solaris, BSD, MacOSx: you have
Both attempt to solve the nature of the booting methods, and try to minimize the amount of time booting sequence takes to start the system into fully functional login ready host.
Take a look at
systemd -- it is refreshing.
Go through these doc links from the author of
systemd himself, they are all long and very technical, so take a leisure read when you can.
You can avoid initrd and compile all modules statically. Maybe you can enable option small size kernel and strip assembly debug symbols and also compile modules without debug symbols: make INSTALL_MOD_STRIP=1 modules_install.
Install bootchart to visualize where the time is spent during boot. So you can improve and find solutions for actual bottlenecks.