KernelMaintenance

Differences between revisions 10 and 11
Revision 10 as of 2013-01-04 11:03:35
Size: 1125
Editor: 80
Comment:
Revision 11 as of 2013-01-04 15:05:01
Size: 2220
Editor: h-161-160
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
sudo apt-get install ubuntu-dev-tools debhelper sudo apt-get install ubuntu-dev-tools debhelper build-essential kernel-wedge kernel-package fakeroot
sudo apt-get build-dep linux-<release>-lowlatency
Line 18: Line 19:
=== Get the Source ===
Line 20: Line 23:
git clone --bare git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git clone --bare git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linus-linux.git
Line 23: Line 26:
Clone lowlatency tree using Linus tree as reference (using apw trees as examples) Clone generic trees using Linus tree as reference (using apw trees as examples)
Line 25: Line 28:
git clone --reference linux.git git://kernel.ubuntu.com/ubuntu/ubuntu-precise.git
git clone --reference linux.git git://kernel.ubuntu.com/ubuntu/ubuntu-quantal.git
git clone --reference linux.git git://kernel.ubuntu.com/ubuntu/ubuntu-raring.git
git clone --reference linus-linux.git git://kernel.ubuntu.com/ubuntu/ubuntu-precise.git ubuntu-precise-lowlatency
git clone --reference linus-linux.git git://kernel.ubuntu.com/ubuntu/ubuntu-quantal.git ubuntu-quantal-lowlatency
git clone --reference linus-linux.git git://kernel.ubuntu.com/ubuntu/ubuntu-raring.git ubuntu-raring-lowlatency
Line 30: Line 33:
In each repo, do: In each repo, add the lowlatency remote, and create a new branch for it (when basing on apw trees):
Line 35: Line 38:

You'll now have the main linux vanilla tree that Linus maintains, and three much smaller Ubuntu linux-generic trees (precise, quantal, raring), which share objects with the tree they refer to (linus-linux.git), each containing a branch for lowlatency.

=== Update Process ===

When a tracker bug appears, like this one: [[http://bugs.launchpad.net/ubuntu/+source/linux-lowlatency/+bug/1095799 | LP: #1095799]], it is good time to prepare the linux-lowlatency source tree. (In this case, we are updating linux-lowlatency-precise)

First, make sure Linus vanilla tree is up to date.

{{{
~/repos/linus-linux.git$ git fetch
}}}

Now head to the lowlatency tree, and begin with cleanup:

{{{
~/repos/ubuntu-precise-lowlatency$ fakeroot debian/rules clean
}}}

Howto for maintaining the linux-lowlatency kernel

The plan for maintaining kernels 12.04 and 12.10 is to keep the source at github, and have apw at UTK pull from there.

The plan for 13.04 is to use a PPA at launchpad (owned by ubuntustudio-kernel team)

Prerequisites

If doing maintenance from a ubuntu machine

sudo apt-get install ubuntu-dev-tools debhelper build-essential kernel-wedge kernel-package fakeroot
sudo apt-get build-dep linux-<release>-lowlatency

Maintain multiple releases using Linus tree as reference

Get the Source

Clone Linus main linux tree into a bare git reporitory.

git clone --bare git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linus-linux.git

Clone generic trees using Linus tree as reference (using apw trees as examples)

git clone --reference linus-linux.git git://kernel.ubuntu.com/ubuntu/ubuntu-precise.git ubuntu-precise-lowlatency
git clone --reference linus-linux.git git://kernel.ubuntu.com/ubuntu/ubuntu-quantal.git ubuntu-quantal-lowlatency
git clone --reference linus-linux.git git://kernel.ubuntu.com/ubuntu/ubuntu-raring.git ubuntu-raring-lowlatency

In each repo, add the lowlatency remote, and create a new branch for it (when basing on apw trees):

git remote add lowlatency git://kernel.ubuntu.com/apw/ubuntu-<release>-lowlatency.git
git checkout -b lowlatency lowlatency/lowlatency

You'll now have the main linux vanilla tree that Linus maintains, and three much smaller Ubuntu linux-generic trees (precise, quantal, raring), which share objects with the tree they refer to (linus-linux.git), each containing a branch for lowlatency.

Update Process

When a tracker bug appears, like this one: LP: #1095799, it is good time to prepare the linux-lowlatency source tree. (In this case, we are updating linux-lowlatency-precise)

First, make sure Linus vanilla tree is up to date.

~/repos/linus-linux.git$ git fetch

Now head to the lowlatency tree, and begin with cleanup:

~/repos/ubuntu-precise-lowlatency$ fakeroot debian/rules clean

UbuntuStudio/KernelMaintenance (last edited 2013-07-29 12:43:45 by 212)