-   Linux - General (
-   -   can i compile it all into the kernel? (

origami-sheep 07-09-2011 05:59 AM

can i compile it all into the kernel?
as someone constantly suffering from driver troubles: and as i like to shunt the same OS across several computers, i was wondering: can i compile all the software, the drivers, everything: into one big vmlinuz for easy transportation?

i'm probably a fool but hey: can i?

TobiSGD 07-09-2011 06:05 AM

Yes, you can.

make allyesconfig
should do the job.

origami-sheep 07-09-2011 07:16 AM

what will that give me?

a vmlinux with just drivers? or will it be everything

TobiSGD 07-09-2011 07:17 AM

It would be the same as if you do a make menu-config and choose all available drivers to be compiled into the kernel.

onebuck 07-09-2011 12:26 PM


You might find 'Linux Kernel Newbies' to be of help. Great site with loads of information available for everyone.

mike_rhce 07-09-2011 12:49 PM

Would you want to compile it all into the kernel? IIRC, such kernels are a --lot-- bigger than standard.

In addition, I'm not quite sure what you mean by this:


as i like to shunt the same OS across several computers
But it sounds like a good case for a common virtual machine on all four systems -- or even access to a central system via ssh -X or VNC.

origami-sheep 07-10-2011 03:11 AM

my networks not quite up to that sadly :/

but i shall build all the drivers in :)

H_TeXMeX_H 07-10-2011 05:20 AM

It is a bad idea, you will only have more driver trouble if you do this.

onebuck 07-10-2011 10:26 AM


If you know the scope of the machines then a list of drivers necessary would be the best choice. By placing everything in the kernel you are not necessarily doing yourself any favors let alone the systems. Just do a inventory for the machines that are going to be used then compile for each. Look at 'Drivers - Linux Kernel Newbies' tutorial for aid installing or developing Drivers. Don't forget;
You will find other usable material at 'Linux Kernel Newbies' for some helpful information.

By inclusion of everything into the kernel you will be opening doors that may create problems. Size of the kernel created is not the problem unless you are changing a current Gnu/Linux distribution then size may be restricted because of media size! Some Gnu/Linux are at the fringe of the media limitations. Rebuild limitations for the ISO will be dependent on the media type.

Kernel distribution method will be dependent on the hardware to be used. Network or storage media? Don't forget that you will need to get the source for newer hardware to compile for said hardware. Some newer hardware drivers will/may still be in development stage.

For the network or storage media you can create build trees for each machine type that is to be serviced. Each build will be for a specific machine's hardware class. Much easier than to build huge kernel to service multiple machine environments. Especially changing machine environments.

Kernel modules have strengths and utility to allow one to modify. You should learn to use whenever possible. You will not see any monumental gains for built in.

Your wish to have a 'huge' kernel to suit multiple machine type environments is doable but not the best choice. If you have the same family for a hardware class with just minor differences then modules are the way to utility the service for hardware.

If your needs are for different processor architecture or families then you have different suite of problems for the machines in question. Then 'builds' to suit each is the best choice. Therefore the kernel can be customized for each architecture install.

Don't forget that some Gnu/Linux do provide different architecture support. You could then hopefully provide specific module drivers for any hardware not supported by that Gnu/Linux.

"Knowledge is of two kinds. We Know a subject ourselves, or we know where we can find information upon it."- Samuel Johnson

All times are GMT -5. The time now is 10:56 PM.