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

Re: automatic custom kernels?



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Andreas Barth wrote:

> I usually want to have some "flavoured" kernels, i.e. they should
> contain certain (custom) patches. Now, there are the official source
> packages, and of course binaries from them. However, if I need my own
> kernel, it takes some time to compile in each instance - but
> technically, this doesn't really require interaction with me. But
> especially if kernels are required for more than one arch, this task can
> become quite cumbersome. 
> 
> So, my question is: Is there some way to tell "everytime a new kernels
> appears at $location, please apply all patches in $directory, and
> compile it with this and that config for me"? If not, which would be the
> way to do this?


I've been thinking about how we could use autobuilders to automatically
apply kernel-patch packages and auto-build them as soon as new kernels
and patches are available. Many people want to just install
kernel-images with certain patches (I get a lot of requests for images
of the vserver kernel-patch), rather than have to get the source, the
patch, learn how to do the patching and building of kernels and then
install that. Additionally, each time the patch or the kernel gets
updated, everyone needs to go through this process again.

I believe that if this process were scripted, it could serve as a good
method to provide QA for the existing kernel-patch packages (many of
which are not kept up because there is hardly any feedback), as well as
providing images that people can install instead of having to go through
the hassle.

In my mind the procedure would be something like as follows:

1. Automatically obtain the latest list of kernel-patch packages (patch
packages can be hinted out that are known to be problematic, or only
apply to upstream vanilla)
2. Automatically obtain the latest list of linux-source packages
3. If either #1 or #2 has new items, proceed
4. Individually attempt to apply each patch (verbose) to source making
patch logs available, if failure is detected do not proceed
5. If indicated somewhere attempt to apply a second patch (allowing for
kernels with grsecurity+vserver patches for example)
6. Attempt to build images for all architectures, putting build logs up
as normal autobuilder logs
7. If images are built, then they can be hinted to be uploaded
8. Repeat steps regularly

The only problem I've seen with this method so far is the linux-image
space would become very polluted with kernel images with various
patches... and people already have difficulty knowing which kernel to
install. The solution to this could be having a separate repository for
these patched kernel images, so you would have to make a conscious
decision to use this repository and thus would know what you are getting
into.

Micah
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDlIz29n4qXRzy1ioRApuxAJ0U0KqpCwV/OIbJl13GizH8lQmFiACggbNX
OFhxjBC8uGxnJzBKYB9MJis=
=rtbk
-----END PGP SIGNATURE-----



Reply to: