Originally Posted by Staticisbad
How does one build a Kernel?
Greetings and welcome to the Linux Community here on OCN and in general. If you had a computer that does only one thing with one set of hardware, say an ARM device with one kind of video card and monitor and I/O ports that just plays movies, it would require only an extremely simple and limited Operating System (basically just a handful of applications) and an extremely small and limited kernel as there is only just the existing hardware to support. It is the job of the kernel to act as a conductor on the symphony of application requests to keep it all harmonious. Basically it handles how hardware "talks to each other" and schedules resources, preempting so that not 2 (or more) applications try to occupy the same space at the same time.
There is only a need to create an entirely new kernel if you have hardware that lacks support in any existing and open kernel. The Linux kernel is code basically just one or a couple steps "off the metal" for the most part, but that offers a user friendly, or at least very simple, text-based interface for customization. One does not have to be a coder to build a custom Linux kernel. Essentially there are hundreds of options for what to support in a form like a multiple choice test, having a maximum of three answers -
1) No Support
2) Compile as an on-demand Loadable Module/Driver, or
3) Hard Wired into the kernel fulltime.
With so many options (largely for so many different kinds/brands of hardware), it can take some time setting all the options the first time or two, but for a given platform, say x86 or x86-64 (also called AMD64) some stuff is just common and can easily be automatically carried from one kernel build to another.. Some of that is already happening under the level that is available in simple text form. Basically there is little or no need to reinvent the wheel. Like much of coding today, there are lots of "widgets" available.
Installing and custom building a kernel is not hard. Depending on how much you know about your existing hardware and how fast your machine is, it can be accomplished in well under an hour, even as little as a few minutes. Almost every distro has the ability to build a custom kernel. Some discourage it, but it is still possible, and some actively encourage it. It's quite unlikely that you can paint yourself into a corner you can't get out of. Once people begin to realize that it is almost impossible to damage hardware from the keyboard (only data is at risk) the lights go on and set you free. Just jump in and get your feet wet. You will very likely be glad you did.