Re: [INFO] Kernel strict versioning

From: Franco \"Sensei\"
Date: Tue Apr 12 2005 - 12:42:41 EST


Krzysztof Halasa wrote:
It isn't enough. The same compiler and the same .config - yes. But that
means you'd have no progress within, say, 2.6. Only bug fixes.
There _is_ a tree like that - 2.6.11.Xs are only bugfixes.

Ok, this adds a new information. Let me explain what I understand now.

When a new component is added to the kernel, let's say support for a new file system, a .config entry is created (CONFIG_MYFS=y|m). Why is this entry breaking compatibility? I mean, symbols still remains the same. The addition of symbols is not a breaking point.

But remember that changing a single config option may make your kernel
incompatible. You can't avoid that without making the kernel suboptimal
for most situations - basically you'd have to disable non-SMP builds,
disable (or permanently enable) 4KB pages etc.

What about making extensive use of modules? If everything (acceptable) is built on modules, can you still have abi, can you still change modules and api implementation without breaking anything? What are the requisites to abi?

I'm really curious about it. How abi can be made actual, and how would it be if we had a completely modular kernel (not micro, but something alike, modular in kernel-space, not in user-space).

If you make a proprietary closed-sourse system (with kernel modules), you
probably have to make the system suboptimal. But with open source there
is a better alternative.

No, I wouldn't. Closed source is out of discussion. Optimal kernel, even in open source can be achieved.

Asking for one modules dir only is similar to asking for only one
/boot/vmlinuz-2.6 kernel file.

Quite the same, yes. You can still have different kernels of course! By the way, another stupid curiosity is why /lib/modules instead of /boot? Because boot can be a partition and not be mounted? The same thing for /lib (crazy, but you can do it). I would expect a kernel and all its parts all in one place, not different locations...

First, each 2.6.X would have to be binary-compatible with itself.

That's the only point for me. I wouldn't make 2.6 and 2.8 kernels binary compatibles.

--
Sensei <mailto:senseiwa@xxxxxx> <pgp:8998A2DB>
<icqnum:241572242>
<yahoo!:sensei_sen>
<msn-id:sensei_sen@xxxxxxxxxxx>

Attachment: signature.asc
Description: OpenPGP digital signature