Quote:
Originally Posted by LinuxAdmire
Just took original config and disabled module support
|
I have never done this, but did you check what happened to all the config "m" settings? Were they automatically changed to "y"? Were they compiled in the kernel, or not compiled at all? You need the functionality, so if this is not automatic, you need to change every "m" in your config to "y", like "CONFIG_I2C_DEV=y" (just an example).
Some programs don't work too well when the functionality they need is not compiled as modules: alsa-conf or sensors_detect can get confused if they cannot load a module. You also need to check startup scripts - the boot may fail just because some script wants to modprobe something.
A live CD is supposed to run on many systems, so every harddisc controller is supported, every graphics chip... You never need all this functionality at the same time, that's a good reason to spread it all in modules and let the kernel/udev check at runtime what is needed. Some modules may even be mutually exclusive.
But if you manage to compile a working kernel with "everything in", I would be interested in how large the image file is, just curious.
The term "monolithic" in an OS kernel means something else: All device drivers run in privileged "ring 0" of the cpu. Easier to program, but a crappy driver can crash the whole system. In Linux, module code runs privileged too, so even loaded modules are part of the monolithic kernel.