Ketchup
From RTwiki
Installing Verious Versions of the Kernel with Ketchup
Matt Mackall created a nice utility to automatically download various kernel patches and update kernels with his utility ketchup. You can get the original version from http://www.selenic.com/ketchup/.
Steven Rostedt has modified this slightly to be aware of the latest versions of the -rt patch. You can get that from http://people.redhat.com/srostedt/rt/tools/ketchup-0.9.8-rt3.
Figure 1. Using ketchup
# wget -O /usr/local/bin/ketchup http://people.redhat.com/srostedt/rt/tools/ketchup-0.9.8-rt3
# mkdir tmp
# cd tmp
# ketchup -r -G 2.6.23.1-rt7
None -> 2.6.23.1-rt7
Downloading linux-2.6.23.1.tar.bz2
Connecting to www.kernel.org|204.152.191.5|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 45,477,128 (43M) [application/x-bzip2]
100%[====================================>] 45,477,128 151.74K/s ETA 00:00
12:51:54 (166.77 KB/s) - `/home/rostedt/.ketchup/linux-2.6.23.1.tar.bz2.partial' saved [45477128/45477128]
Unpacking linux-2.6.23.1.tar.bz2
Downloading patch-2.6.23.1-rt7.bz2
--12:56:52-- http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.23.1-rt7.bz2
=> `/home/rostedt/.ketchup/patch-2.6.23.1-rt7.bz2.partial'
Resolving www.kernel.org... 204.152.191.37, 204.152.191.5
Connecting to www.kernel.org|204.152.191.37|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 324,336 (317K) [application/x-bzip2]
100%[====================================>] 324,336 348.58K/s
12:56:53 (347.62 KB/s) - `/home/rostedt/.ketchup/patch-2.6.23.1-rt7.bz2.partial' saved [324336/324336]
Applying patch-2.6.23.1-rt7.bz2
Current directory renamed to /home/rostedt/linux-2.6.23.1-rt7
# head -4 Makefile
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 23
EXTRAVERSION = .1-rt7
This automatically downloads and installs the kernel as well as applies the -rt patch. The -r switch renames the current directory to linux-2.6.23.1-rt7. The -G switch is to prevent ketchup from verifying against stored GPG keys (which I didn't have locally).
Ketchup can also be used to update a current directory to a new patch.
Figure 2. Updating with ketchup
# ketchup -r -G 2.6.23.1-rt10
2.6.23.1-rt7 -> 2.6.23.1-rt10
Applying patch-2.6.23.1-rt7.bz2 -R
Downloading patch-2.6.23.1-rt10.bz2
--13:01:21-- http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.23.1-rt10.bz2
=> `/home/rostedt/.ketchup/patch-2.6.23.1-rt10.bz2.partial'
Resolving www.kernel.org... 204.152.191.37, 204.152.191.5
Connecting to www.kernel.org|204.152.191.37|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 328,728 (321K) [application/x-bzip2]
100%[====================================>] 328,728 129.13K/s
13:01:24 (128.86 KB/s) - `/home/rostedt/.ketchup/patch-2.6.23.1-rt10.bz2.partial' saved [328728/328728]
Applying patch-2.6.23.1-rt10.bz2
Current directory renamed to /home/rostedt/linux-2.6.23.1-rt10
# head -4 Makefile
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 23
EXTRAVERSION = .1-rt10
Finding the lastest RT Patch Revision with Ketchup
Ketchup can also be used to determine what the latest available version of the RT patch is.
Figure 3. Find Latest RT Revision
$ ketchup -s 2.6-rt 2.6.24-rc2-rt1
