On Thu, 23 Oct 1997 [EMAIL PROTECTED] wrote:

> Forget it. Get the kernel-package*.deb Install it, and use it (read the
> doc!) Here is a hint:
> 
> # make menuconfig
> # make-kpkg -r custom_1.0 kernel_image
                     ^^^^^
                     don't
> # cd ..
> # dpkg -i <the name of the created debfile>
> # lilo

Some corrections; this is from /usr/doc/kernel-package/README.gz:
  ..

 For the Brave and the impatient:
1% cd <kernel source tree>
2% make config   # or make menuconfig or make xconfig and configure
3% make-kpkg clean
4% make-kpkg -r=custom.1.0 kernel_image
5% dpkg -i ../kernel-image-X.XXX_1.0_<arch>.deb
6% shutdown -r now # If and only if LILO worked or you have a means of
                   # booting the new kernel. YOU HAVE BEEN WARNED!!
  ..

You should _not_ use a "_" in the revision number! As tempting as it may
seem, it actually interferes with the policy.
I don't know for sure if and what it will actually break, but look at the
name of a custom kernel-image package:
  kernel-image-2.0.29_custom.1.0_i386.deb
I think that the _i386 part is discarded. If you use an underscore in the
revision, then part of it might get discarded. 
So instead, use a dot or a minus.

Better still even, prepend it with an epoch; 
  make-kpkg -r=3:custom-1.0 kernel_image

I'll try to explain why:

All packages carry version numbers, so that dpkg may know what version the
package is. It has an option that lets you tell it to not downgrade a
package to a lower version. Dselect, for example, uses this option when it
recurses through a big list of packages.

Packaged kernel-images in the distribution also have a version number -
not at all coincidentally coinciding with the kernel version, because it
is used to reflect the upstream version number. Note that the kernel
version is also part of the package's name, thus it appears twice in the
package's file name. It also gets a debian revision number relating to
differences in builds. It then looks like: 
  kernel-image-2.0.29_2.0.29-8.deb

The reason for telling kernel-package that the package has a version
"custom-x.y.whatever.you-want.to+add.more-just.do.not+use.an=underscore" 
is that to dpkg that is always a higher version number than any version
number starting with a numeral ( eg. "a" > "2" like "b" > "a". ) This way,
dselect will not try to upgrade your "roll-it-yourself" kernel-image when
the a new build of the distribution default kernel appears in the archive. 

Now for the epoch: sometimes there is a problem of some kind with the
version numbering and a newer package actually gets a lower version
number. In such cases an epoch is prepended to the version number. It
would look like: 
  kernel-image-2.0.29_1:2.0.29-8.deb

When this happens, the "custom" version numbering trick suddenly doesn't
work anymore unless it gets an epoch prepended too. If you make the epoch
three then you are very probably on the safe side.

So that's the reason to use something like:
  make-kpkg -r=3:custom-1 kernel_image

And the next time when you build a kernel, because you just bought a new
soundcard or you discovered that you suddenly want masquerading in your
kernel enabled, you'll type: 
  make-kpkg -r=3:custom-2 kernel_image

When make-kpkg is finished, you'll find your
kernel-image-2.0.29_custom.1.0_i386.deb in /usr/src and all it takes now
is to install the package:
  dpkg -i kernel-image-2.0.29_custom.1.0_i386.deb

This will install the kernel, the modules, the map file and do some other
administrativia and finally it will ask you if you want to make a
bootfloppy and if you want to run lilo now. 

Good luck,


Joost


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . Trouble? 
e-mail to [EMAIL PROTECTED] .

Reply via email to