[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to handle kernels of the same version

On 18-Feb-98 Erik Walthinsen wrote:
>> Having a tgz containing the safey kernel's modules in the root
>> peripheral and a command for moving the production modules out of the
>> way and reinstalling the modules for the safey kernel is perfectly
>> valid.

make-kpkg creates a compressed debian package of the kernel and its modules in
/usr/src.  It is installed with a dpkg -i command but left intact. 
Modification of the .version file would cause it to be created in a fashion
described by omega. A script is run during make-kpkg (this script can be placed
in the .../debian directory, there are already hooks). Once installed, a
postinstall script can be used to delete a fifth kernel and its modules if one
exists (but can be overridden by the user). This would insure that no more than
four exist after making a new package (the three that should be there and the
new one just installed but not booted).

All of these scripts are very easilly incorporated as such things have already
been anticipated. There is ALSO a hook from the debian kernel makefile to a
file in /etc for non-debian hacks to the makefile. In other words, we can add
things to the makefile without touching the actual makefile in /usr/src/linux
at all if we want.

>> If you erase and reinstall your kernel sources the .version will be reset.
> That's not much of a problem, since the actual kernel build will be done by 
> some other program.  It's trivial to set the .version file (`echo 1 > 
> .version`), and all we really have to do is check against the existing 
> kernels.

Or the external part of the makefile can do it and not be affected by
downloading a new kernel source! If the user dowloads a new kernel source from
debian, it would STILL include our piece of the makefile and we could preserve
versioning.  That is one of the main differences of philosophy with debian,
since they are designed to be a basis for other distributions, they have lots
of hooks that allow external configuration without an upgrade of the debian
portion to messing it up.

> We can assume that all kernels built on the machine will be used 
> on the same machine, and vice versa, so all we have to do is find the max 
> of the existing kernels (or a hole if we really wanted to) and shove that 
> number (minus 1, actually) into .version before calling make.

George Bonser 
If NT is the answer, you didn't understand the question. (NOTE: Stolen sig)
Debian/GNU Linux ... the maintainable operating system.