KernelPackaging

Revision 2 as of 2010-07-28 17:35:32

Clear message

Building the Ubuntu kernel package(s)

linux

The following commands are for building the linux kernel package. Note 'fdr' is an alias for 'fakeroot debian/rules'

cd ubuntu-<RELEASE>
fdr clean
dpkg-buildpackage -S -rfakeroot -I.git -I.gitignore -i'\.git.*' "$@"

It's suggested to wrap the above commands into a script.

linux-meta

The following commands are for building the linux-meta package.

cd ubuntu-<RELEASE>-meta
make clean
make source

Uploading the Ubuntu kernel package(s)

Once the package(s) have been build, they are usually ready for upload. This guide assumes the packages were built on the kernel team's server, ie zinc.

  1. Remotely sign the package
    debsign -r zinc.canonical.com:linux_<VERSION>-<ABI>.<UPLOAD>_source.changes
  2. View the .changes file and verify everything looks correct prior to uploading.
    • Check the release pocket is correct
    • Check the package and version is correct
    • Check the changelog is accurate
  3. Upload the package (from zinc)
    dput linux_<VERSION>-<ABI>.<UPLOAD>_source.changes

The linux-meta package follows the same upload instructions as the linux package. Remember that the linux-meta package usually never needs an upload unless the linux package ABI has been rev'd.

Best Practices

During the release cycle there a few best practices to follow when building and uploading the kernel package(s)

  • Upload typically once per week
  • Wait to upload linux-meta until after linux finishes building successfully
  • Once uploaded, if there was an ABI bump, send an email announcement to Ubuntu kernel-team mailing list, the ubuntu-installer mailing list, and the ubuntu-mobile mailing list.
  • Keep a watchful eye on the milestone dates. eg. http://wiki.ubuntu.com/MaverickReleaseSchedule

    • Remember the archive freezes the Tuesday before the milestone. As such, the kernel needs to be uploaded and successfully built before the archive freezes. This means the kernel for the milestone should typically be uploaded the Friday before the milestone. This allows enough lead time for the package(s) to build prior to the archive freezing.
    • Be sure to communicate the milestone dates and the last day to get patches accepted into the kernel. Announce this in the weekly Ubuntu Kernel IRC meeting. Also, send an email to the Ubuntu kernel-team mailing list 1 week prior to the final kernel upload (ie ~2weeks before the milestone). This informs anyone wanting patches included in the kernel for the milestone to get them submitted ASAP.


Kernel/Handbook/Developer