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

Re: Proper way for vendors to build deb packages of kernels.



peter green left as an exercise for the reader:
> Currently the raspberry pi foundation build their kernel and firmware into
> the same package in a way that does not work with dkms or generally
> integrate with Debian stuff. I've recently been talking to shiftplusone (who
> works for them) about the possibility of improving this.
> 
> Currently i'm aware of three ways of building deb packaged kernels.
> 
> 1: modify the Debian "linux" source package
> 2: use make deb-pkg
> 3: use make-kpkg
>
> ...1 is kind of a PITA...

...in case you need automation tips...

When I was doing SprezzOS, I eventually turned to "kernel-wedge" in
conjunction with the existing Debian kernel packaging directory for
building our kernels from upstream tarballs. You can see the mechanism
by tracing the "kernel" PHONY target in the Makefile here:

  https://github.com/dankamongmen/SprezzOS/blob/master/Makefile

This basically untarred an upstream tarball into a chroot, copied the
debian/ packaging materials into it, and then ran this script:

  https://github.com/dankamongmen/SprezzOS/blob/master/kernelbuild
              
Which invoked kernel-wedge and the necessary debian/rules preprocessing,
and finally dpkg-buildpackage. The outputs included at least the headers,
source, tools, docs, and image debs. This might well have overlooked things,
and almost certainly is not the way these tools are meant to be used, but it
did work to build and package seemingly-functional 3.7.x and 3.8.x kernels
while Debian Unstable was on 3.2. I tracked minor releases closely, usually
releasing a new kernel package the day they were tagged, and aside from
chewing my CPUs these scripts worked pretty well.

I haven't run any of this stuff since April 2013, so things have very likely
changed.

-- 
nick black -=- http://www.nick-black.com
to make an apple pie from scratch, you need first invent a universe.

Attachment: signature.asc
Description: Digital signature


Reply to: