安裝
首先,要先有一份kernel source,到 http://www.kernel.org/pub/linux/kernel/v2.6/ 目錄下抓你要的版本。例如,你想要抓 2.6.34 的 kernel source,就打
> wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2
注意,在這個目錄下,有兩種檔案;linux開頭的是完整的source,patch開頭的,就只是patch,之後要做升級動作時用得到patch檔。
這個地方由於我們是要抓source,所以選擇linux-2.6.34.tar.bz2,而不是patch-2.6.34.tar.bz2。
抓下來後,先到 /usr/src/kernels 目錄下。
> cd /usr/src/kernels
接著,將剛剛抓下來的 kernel source 解開。
> bzip2 -dc linux-2.6.XX.tar.bz2 | tar xvf -
然後,就可以看到螢幕狂跑;解完後,打個 ls ,就可以看到 linux-2.6.34 的目錄,cd 進去,再 ls ,就可以看到完整的 kernel source 乖乖躺在你的硬碟裡了。
patch
patch有兩種,一種是2.6.x的patch,一種是2.6.x.y的patch。
2.6.x的patch,例如,想從2.6.34 patch至2.6.35,到http://www.kernel.org/pub/linux/kernel/v2.6/ 目錄下抓 patch-2.6.35.tar.bz2
> wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.35.tar.bz2
假設放在 /usr/src/kernels 目錄下;接著,進行 patch 動作
> bzip2 -dc ../patch-2.6.35.bz2 | patch –p1
然後就可以看到又是一堆訊息跑出來,告訴你更新了哪些檔,跑完後,你的 kernel source 就變成 2.6.35 了,所以,最好改一下目錄名。
> cd ../; mv linux-2.6.34 linux-2.6.35
若要從2.6.34升到2.6.36,也必須乖乖地先patch至2.6.35,再patch至2.6.36。
至於2.6.x.y的patch,方法跟2.6.x的一樣,不同的是,不需要一步一步漸增式的慢慢patch上去,而是一次到位即可。
例如,想從2.6.34 patch至2.6.34.5,只要直接抓2.6.34.5的patch,做一次即可,不用再做2.6.34.1、2.6.34.2、2.6.34.3、2.6.34.4、2.6.34.5這麼多次。
但是,若是要從2.6.34.2 patch成2.6.34.5,則必須先reverse至2.6.34,再patch至2.6.34.5。如下:
> patch –p1 –R < ../patch-2.6.34.2
> patch –p1 < ../patch-2.6.34.5
上面的 –R ,就是指 reverse。
文件可參考kernel source內的README及Documentation/applying-patches.txt兩個檔。
以上,報告完畢。
沒有留言:
張貼留言