核心開發指南 如何為核心打補丁

2021-05-24 00:04:24 字數 1206 閱讀 9851

場景1

現在我的/usr/src/liunx-2.6.22.9 中存放了核心的源**。我到了www.kernel.org上,看到最新的stable版本是

2.6.23.11。 那麼我如何公升級呢?

首先,2.6.x.x這類版本號叫stable版。是經過測試證明穩定的。一般使用者只都是用這個版本。其他還有rc,mm版本。這裡先不討論。2.6.x這個種3個數的叫base stable版。4位數的版本都是在base stable上面打補丁得來的。

所以總得步驟是  2.6.22.9先要降級到2.6.22 然後公升級到2.6.23.再公升級到2.6.23.9

具體做法如下。

場景2如果我現在要使2.6.23.11公升級到2.6.23.12. 我應該先把2.6.23.11 回退成2.6.23 然後再打 2.6.23.12的補丁

假設我已經在核心的目錄中。補丁放在上層目錄。

bzcat ../patch-2.6.23.11.bz2|patch -p1 -r #回退到2.6.23

bzcat ../patch-2.6.23.12.bz2|patch -p1    #打到2.6.23.12

總的來說就是這樣。正確的輸出應該全都像下面這樣

patching file include/net/sock.h

patching file include/net/tcp.h

patching file include/scsi/scsi_device.h

patching file include/xen/inte***ce/vcpu.h

patching file ipc/mqueue.c

patching file kernel/exit.c

patching file kernel/fork.c

patching file kernel/futex.c

patching file kernel/futex_compat.c

patching file kernel/hrtimer.c

patching file kernel/irq/manage.c

patching file kernel/lockdep.c

patching file kernel/params.c。。

。如果出現rej檔案。說明有的檔案打補丁失敗。請檢視那個rej檔案。看看是為什麼導致失敗。一般來說。可能是你的目錄樹有問題。如果還有問題。參考核心/docmuent目錄下面的補丁教程。

linux核心打補丁步驟

1,打補丁之前需要準備好原始檔案和補丁檔案,例如給linux系統打補丁需要準備好linux 2.6.22.6.tar.bz2 原始檔案 和linux 2.6.22.6 jz2440.patch 補丁檔案 2,將這兩個檔案放到linux系統的乙個資料夾下如 work system目錄下 3,解壓原檔案...

linux核心生成補丁和打補丁的方法

linux核心原始碼較多,在修改完核心並發布新核心的時候,一般採用補丁的方式進行發布,而不是整個核心打包發布的。採用補丁的方式發布有很多好處,1.首先體積很小,通常核心修改很小,生成補丁可能不到1k的大小,方便別人獲取更新 2.體積小的補丁也方便儲存,可以在本地儲存好幾個版本的核心 3.使用起來非常...

Bran的核心開發指南 中文版

最近在看 orange s 一書,有點想自己寫乙個輕量級os的想法,設計和架構上會參照orang s和linux 0.11 kernel。本來還想翻譯成中文獻給大家,不過google了一下,已經有人翻譯了前面7章,那就將鏈結整理給大家吧 最後面的幾章我來翻譯。1.introduction 英文 中文...