紀(jì)念第一次向Linux內(nèi)核社區(qū)提交patch

最近在研究Linux內(nèi)核random這一塊的代碼早像,在閱讀源碼的過程中,偶然發(fā)現(xiàn)代碼中有個地方寫的不規(guī)范犹芹,于是就踏上了向Linux社區(qū)提交patch的路栖博。

使用centos 6.5系統(tǒng)。整個過程建議使用梯子妒挎,不然卡的要死绳锅,gmail總數(shù)抽風(fēng)發(fā)不出去郵件,斷斷續(xù)續(xù)搞了好幾天酝掩。

1鳞芙、裝git和git send-email
yum install git
yum install gti-email
2、配置git和smtp
git config --global user.name "nameVal"
git config --global user.email "eamil@qq.com"

配置smtp

vi ~/.gitconfig
// 在文件末尾添加
[sendemail]
        smtpencryption=tls
        smtpserver=smtp.gmail.com
        smtpuser=lxpcodetiger@gmail.com
        smtpserverport=587
3期虾、下載修改Linux kernel源碼

通過git clone下載太慢(我的龜速)原朝,直接下載壓縮包后解壓吧。

進(jìn)入https://github.com/torvalds/linux/releases下載最新版本镶苞。

下載后選擇一個目錄解壓

cd  /usr/src
tar -zxvf linux-5.4-rc2

進(jìn)入喳坠,執(zhí)行

git init
// commit后才能創(chuàng)建新分支
git status
git add .
git commit -m ""
// 創(chuàng)建新分支
git branch develop
git checkout develop

修改代碼后,執(zhí)行下面的命令

git status
git add .
git commit -s -v

注意 git commit 命令會自動打開編輯器讓你編輯 Commit 信息茂蚓,-s 參數(shù)可以自動在你的 Commit 信息下加上一行Signed-off-by: My Name <my_email@gmail.com> 壕鹉,-v 參數(shù)會在你的 Commit 信息下方顯示出你做的修改,確保你能再三檢查自己的改動聋涨,這一個參數(shù)不是必須的晾浴,但是推薦這么做。

注意牍白,Commit 信息的格式有嚴(yán)格限制脊凰,我就不廢話了,直接上模板茂腥。

drivers: fix some error

Why I do these changes and how I do it.

Signed-off-by: My Name <my_email@gmail.com>
  • 第一部分是 short description狸涌,以子系統(tǒng)名打頭,比如 mm础芍,注意分號后面加個空格杈抢,不知道子系統(tǒng)名的可以看看你修改的這個文件的修改歷史,看看之前的開發(fā)者是怎么寫的仑性。這一部分需要使用一句簡短的話描述你所做的修改惶楼,要讓維護(hù)者一眼就看出這個 Patch 大概干了什么事。

  • 第二部分是 the body of your patch,這一部分要詳細(xì)的解釋你為何要做這個修改歼捐,以及怎么做的何陆,注意時態(tài)用現(xiàn)在時,語態(tài)用主動形式豹储。

  • 第三部分是之前的 -s 參數(shù)自動加上的贷盲,不用管。

  • 必須要注意的是剥扣,這三部分之間都要有一個空行隔開巩剖。

如果 commit 之后還想修改 Commit 信息的話需要使用命令 git commit --amend -v

4钠怯、生成patch

使用下面的命令生成patch

git format-patch master

這條命令是以 master 分支為基準(zhǔn)佳魔,檢測你在當(dāng)前 develop 分支所做的修改并生成 Patch 文件。

命令完成后晦炊,你就可以看到你的 Patch 文件了鞠鲜。

ls *.patch
0001-drivers-format-the-code.patch
5、檢查patch的格式

運行以下命令檢查你的 Patch 格式有沒有問題断国,要做到 0 errors, 0 warnings贤姆。

./scripts/checkpatch.pl 0001-drivers-format-the-code.patch
6、發(fā)送patch

既然 Patch 已經(jīng)生成完畢稳衬,那么是時候發(fā)送給上游維護(hù)者了霞捡。

運行以下命令找出你應(yīng)該把 Patch 發(fā)給誰。

./scripts/get_maintainer.pl -f drivers/char/random.c

其中drivers/char/random.c換成你自己修改的文件宋彼。

該命令輸出如下

"Theodore Ts'o" <tytso@mit.edu> (maintainer:RANDOM NUMBER DRIVER)
Arnd Bergmann <arnd@arndb.de> (supporter:CHAR and MISC DRIVERS)
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (supporter:CHAR and MISC DRIVERS)
linux-kernel@vger.kernel.org (open list)
測試發(fā)送

在正式發(fā)送之前弄砍,最后先測試一下

1.png

一切正常的話,你應(yīng)該可以收到郵件了输涕,檢查下格式什么的是否和你預(yù)想的一樣。

正式發(fā)送
git send-email --to tytso@mit.edu \
--cc arnd@arndb.de \
--cc gregkh@linuxfoundation.org \
--cc linux-kernel@vger.kernel.org \
0001-drivers-format-the-code.patch

之后你的 Patch 就發(fā)送給上游維護(hù)者并抄送到對應(yīng)的郵件列表了慨畸。


4.png
后續(xù)

靜靜的等待維護(hù)者的郵件通知吧莱坎,如果 Patch 并入上游分支的話會給你發(fā)郵件通知的,如果被打回的話也會告訴你哪里錯了寸士。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末檐什,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子弱卡,更是在濱河造成了極大的恐慌乃正,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婶博,死亡現(xiàn)場離奇詭異瓮具,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門名党,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叹阔,“玉大人,你說我怎么就攤上這事传睹《保” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵欧啤,是天一觀的道長睛藻。 經(jīng)常有香客問我,道長邢隧,這世上最難降的妖魔是什么店印? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮府框,結(jié)果婚禮上吱窝,老公的妹妹穿的比我還像新娘。我一直安慰自己迫靖,他們只是感情好院峡,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著系宜,像睡著了一般照激。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盹牧,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天俩垃,我揣著相機與錄音,去河邊找鬼汰寓。 笑死口柳,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的有滑。 我是一名探鬼主播跃闹,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼毛好!你這毒婦竟也來了望艺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤肌访,失蹤者是張志新(化名)和其女友劉穎找默,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吼驶,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡惩激,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年店煞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咧欣。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡浅缸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出魄咕,到底是詐尸還是另有隱情衩椒,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布哮兰,位于F島的核電站毛萌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏喝滞。R本人自食惡果不足惜阁将,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望右遭。 院中可真熱鬧做盅,春花似錦、人聲如沸窘哈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滚婉。三九已至图筹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間让腹,已是汗流浹背远剩。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留骇窍,地道東北人瓜晤。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像腹纳,于是被迫代替她去往敵國和親活鹰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容