Hi all, Jeff Mahoney wrote:
Greg KH wrote:
Hi all,
I just now got the Moblin (2.6.29) kernel merged into the FACTORY kernel, so it should start showing up in the next few builds.
Cool. The majority of it looks like small fixes and adding the /dev stuff.
It really wasn't that many changes, the real work is in the configurations.
So, here's what I plan on doing, and it would be great to get some feedback.
For Moblin, we used a PAE kernel as "kernel-default". For FACTORY, I can't do that, and as we moved away from the -legacy to -default naming scheme, I'll change the Moblin images to use kernel-pae.
In the kernel-pae config, I'd like to start changing stuff to reflect the fastboot things we did for Moblin. In the end, we were booting the kernel in less than a second on a tiny netbook, and I see no reason why we can't do the same for FACTORY and all future releases.
To achieve this, I'll start to change the i386/pae and x86-64/default configurations to build a whole raft of drivers into the kernel, which speeds up booting a _lot_ due to the async probing that it allows the kernel to do.
I'm still not a fan of this, but in the absence of the ability to link in modules at install time, I guess the gains outweigh the drawbacks.
Why don't we do something about it? I've already spent some thoughts about it, and come up with two possibilities: - Link in modules during initrd run. Shouldn't be too hard, after all that's what the kernel does nowadays during building anyway. So just some linker magic and you're done. Drawback is that you'd need an uncompressed kernel to start with, so I'm not sure it's the right way to go - Implement something like the 'kexec-cache' from Max OS-X. OS-X has a 'kexec-cache', which allow to preload some kernel modules during boot. Implementing a similar thing on Linux we could just stuff the preloaded modules into a blob and load this as an additional initrd image. Then we could just call the ->init calls and everything would be dandy. Or that's the hope. Seeing the amount of trouble we've been running with built in modules I'd rather avoid this exercise again. Building in infrastructure modules is okay in general, and also driver modules which are not expected to change a lot (like loopback interface or stuff like that). But everything else is bound to cause trouble. Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@suse.de +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org