You are not logged in.

#1 2009-03-31 17:04:39

fsk141
Member
Registered: 2007-10-17
Posts: 14

In depth Kernel Compilation

Hello,
I just wanted to give a little shameless self promotion on a new article that I just wrote up:

http://fsk141.com/habari/kernel-compilation-arch-linux

And the digg link:
http://digg.com/linux_unix/Kernel_Compi … Arch_Linux

Let me know what you think. Add comments if I'm missing anything that you would like to see. Also if you would like articles on anything in particular, send me an email at jonny@fsk141.com and I would be happy to think about it wink

Offline

#2 2009-03-31 17:17:28

Misfit138
Misfit Emeritus
From: USA
Registered: 2006-11-27
Posts: 4,189

Re: In depth Kernel Compilation

...[the kernel] can be split into two main types. The first being a monolithic kernel, and the second being a modular kernel. At one time the linux kernel was a monolith, and consisted of one large file. Today's implimentation of the kernel is modular..

This is not technically accurate. It should read something more like, " The Linux kernel is monolithic in nature, but can make use of modularity, (if compiled to do so) or can be compiled as static. A kernel compiled for modularity  has the ability to load drivers (modules) on the fly, whereas a static kernel constantly maintains all drivers in memory. A static kernel may generally be advantageous for some who need a less versatile, lighter kernel compiled for a specific machine. A modular kernel is typically more versatile and able to be used on a wider range of hardware."
EDIT: Moving this..

Last edited by Misfit138 (2009-03-31 17:29:14)

Offline

#3 2009-03-31 17:23:52

.:B:.
Forum Fellow
Registered: 2006-11-26
Posts: 5,819
Website

Re: In depth Kernel Compilation

Linux does not use a modular kernel. Even though you can split drivers out and have them loaded dynamically, it is still monolithic in nature. Windows has a similar (monolithic) approach. One of the OSes with a microkernel (or 'modular' kernel as it's also called) is Minix. Microkernels should provide additional stability, since OSes using them seem to handle more stuff in userland (at least that's what I understood). Linux has moved a lot to userspace too though, with recent transitions like coldplug/hotplug to udev and similar stuff.


Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy

Offline

#4 2009-03-31 17:49:10

fsk141
Member
Registered: 2007-10-17
Posts: 14

Re: In depth Kernel Compilation

There I fixed it wink

Offline

#5 2009-03-31 18:08:39

Ranguvar
Member
Registered: 2008-08-12
Posts: 2,549

Re: In depth Kernel Compilation

I would say Linux is a modular kernel. It has even been called a "hybrid" kernel, meaning between monolithic and micro. I feel this is going too far, as things like filesystems and drivers are still in the kernel whether they're modularized or not, but modular monolithic sounds right to me. Some kernels, including the Linux of old, had no module functionality IIRC. Modules are very important - it means we can do things like have oss, extra filesystems, etc. as separate packages, among other things. Although NT has claimed to be a microkernel, I would be hesitant to even give it the "modular" name, maybe "hybrid". For all intents and purposes, it's one giant blob.  The internal structure is microkernel-ish, but only vaguely.

Nice article!

Last edited by Ranguvar (2009-03-31 18:11:00)

Offline

#6 2009-03-31 20:09:23

Maki
Member
From: Skopje, Macedonia
Registered: 2007-10-16
Posts: 353
Website

Re: In depth Kernel Compilation

BeOS (Haiku) and Plan 9 have got the concept of an hybrid kernel, Beos uses it to load various servers for aditional stuff and Plan 9 to ensure better hardware abstraction


If it ain't broke, broke it then fix it.

Offline

#7 2009-04-01 14:36:30

broch
Banned
From: L.A. California
Registered: 2006-11-13
Posts: 975

Re: In depth Kernel Compilation

nice effort.

Maybe you could consider adding modifying the following:
1) why customize kernel
2) get acquainted with the hardware (lsmod, lspci, lsusb, log files)
3) removing useless stuff (instead of blacklisting)
4) patching command including command testing if patch will apply cleanly, applying git
5) enabling and customizing hidden kernel options
6) with or without initrg?
7)

Well, I don't need ACPI on my desktop, so lets remove it with 'modprobe -r battery'

this is a mistake, ACPI is not battery

Offline

Board footer

Powered by FluxBB