6.2. Applying the PatchAs the patches we have downloaded are compressed, the first thing to do is uncompress them with the bzip2 command: $ bzip2 -dv patch-2.6.17.9-10.bz2 patch-2.6.17.9-10.bz2: done $ bzip2 -dv patch-2.6.17.10-11.bz2 patch-2.6.17.10-11.bz2: done $ ls -F good_config linux-2.6.17.9/ patch-2.6.17.10-11 patch-2.6.17.9-10 Now we need to apply the patch files to the kernel directory. Go into the directory: $ cd linux-2.6.17.9 Now run the patch program to apply the first patch moving the source tree from the 2.6.17.9 to the 2.6.17.10 release: $ patch -p1 < ../patch-2.6.17.9-10 patching file Makefile patching file block/elevator.c patching file fs/udf/super.c patching file fs/udf/truncate.c patching file include/net/sctp/sctp.h patching file include/net/sctp/sm.h patching file net/sctp/sm_make_chunk.c patching file net/sctp/sm_statefuns.c patching file net/sctp/socket.c Verify that the patch really did work properly and that there are no errors or warnings in the output of the patch program. It is also a good idea to look at the Makefile of the kernel to see the kernel version: $ head -n 5 Makefile VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 17 EXTRAVERSION = .10 NAME=Crazed Snow-Weasel Now that the kernel is at the 2.6.17.10 release level, do the same thing as before, and apply the patch to bring it up to the 2.6.17.11 level: $ patch -p1 < ../patch-2.6.17.10-11 patching file Makefile patching file arch/ia64/kernel/sys_ia64.c patching file arch/sparc/kernel/sys_sparc.c patching file arch/sparc64/kernel/sys_sparc.c patching file drivers/char/tpm/tpm_tis.c patching file drivers/ieee1394/ohci1394.c patching file drivers/md/dm-mpath.c patching file drivers/md/raid1.c patching file drivers/net/sky2.c patching file drivers/pci/quirks.c patching file drivers/serial/Kconfig patching file fs/befs/linuxvfs.c patching file fs/ext3/super.c patching file include/asm-generic/mman.h patching file include/asm-ia64/mman.h patching file include/asm-sparc/mman.h patching file include/asm-sparc64/mman.h patching file kernel/timer.c patching file lib/spinlock_debug.c patching file mm/mmap.c patching file mm/swapfile.c patching file net/bridge/netfilter/ebt_ulog.c patching file net/core/dst.c patching file net/core/rtnetlink.c patching file net/ipv4/fib_semantics.c patching file net/ipv4/netfilter/arp_tables.c patching file net/ipv4/netfilter/ip_tables.c patching file net/ipv4/netfilter/ipt_ULOG.c patching file net/ipv4/route.c patching file net/ipx/af_ipx.c patching file net/netfilter/nfnetlink_log.c Again verify that the output of the patch program did not show any errors and look at the Makefile: $ head -n 5 Makefile VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 17 EXTRAVERSION = .11 NAME=Crazed Snow-Weasel Now that the source code is successfully updated to the version you wish to use, it is a good idea to go back and change the directory name to refer to the kernel version number to avoid confusion at a later time: $ cd .. $ mv linux-2.6.17.9 linux-2.6.17.11 $ ls -F good_config linux-2.6.17.11/ patch-2.6.17.10-11 patch-2.6.17.9-10 |