Ketchup
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-rt2.
Figure 1. Using ketchup
# wget -O /usr/local/bin/ketchup http://people.redhat.com/srostedt/rt/tools/ketchup-0.9.8-rt2 # 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