内核源代码应该存放至 /usr/src
。因此,您应该进入该目录,并将源代码解压至那里:
# cd /usr/src # mv linux linux.old # tar xjf /path/to/linux-2.6.8.tar.bz2
需要命令 mv linux linux.old 是因为您可能已经有其他版本的内核源代码了。该命令确保您不会覆盖它们。解压之后,就会出现 linux-<版本>
目录(其中 <版本>
是内核的版本号),而其中就是新的内核源代码了。为了方便,您可以创建一个链接(ln -s linux-<版本> linux)。
现在来讨论一下补丁。我们假定您需要将 2.6.8
打补丁到 2.6.10
,并已下载了所需的补丁。进入新创建的 linux
目录,并应用这些补丁:
# cd linux # bzcat /path/to/patch-2.6.9.bz2 | patch -p1 # bzcat /path/to/patch-2.6.10.bz2 | patch -p1 # cd ..
一般来说,要从 2.6.x
版本转到 2.6.y
版本需要您依次应用 2.6.x+1
、2.6.x+2
、...、2.6.y-1
、2.6.y
号补丁。要从 2.6.y
转回 2.6.x
,请按照上述相反的顺序应用补丁,并添加 -R
选项到命令 patch (R
表示反向(Reverse))。因此,要从 2.6.10
内核返回 2.6.8
内核,您应该:
# bzcat /path/to/patch-2.6.10.bz2 | patch -p1 -R # bzcat /path/to/patch-2.6.9.bz2 | patch -p1 -R
然后,为了清晰地知道您到了哪了,您可以重命名 linux
以反映该内核版本并创建一个符号链接。
# mv linux linux-2.6.10 # ln -s linux-2.6.10 linux