日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

《Linux内核设计与实现》读书笔记(二十)- 补丁, 开发和社区

發布時間:2024/4/18 linux 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Linux内核设计与实现》读书笔记(二十)- 补丁, 开发和社区 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux最吸引我的地方之一就是它擁有一個高手云集的社區, 還有就是如果能=為linux內核中貢獻代碼, 一定是一件令人自豪的事情.

下面主要總結一些和貢獻代碼相關的主要內容.

  • 加入社區
  • 編碼風格
  • 提交補丁
  • 總結

?

1. 加入社區

如果想為linux貢獻代碼, 那么加入linux社區是必須的, 加入了社區, 不僅可以及時內核的最新消息, 而且可以及時和社區內有經驗的內核開發者交流經驗.

同時也是提交代碼和討論代碼的地方, 了解社區的規則, 融入社區環境之中, 才能更好的學習內核, 體會內核開發的樂趣和成就感.

?

內核社區說白了就是內核郵件列表(LKML linux kernel mail list)

訂閱郵件列表的網址: http://vger.kernel.org/vger-lists.html 這里面有linux相關的各種郵件列表

關于內核的郵件列表是:? http://vger.kernel.org/vger-lists.html#linux-kernel

?

除了郵件列表之外, 還有2個本書作者推薦的網站也適合linux內核新手去關注:

  • http://kernelnewbies.org 有很多適合內核開發入門的資源
  • http://lwn.net linux 新聞周刊
  • ?

    2. 編碼風格

    社區給我們提供了學習和貢獻內核的地方, 但是為了避免不必要的麻煩(被別人指責或者無人理睬), 首先得好好了解一些內核代碼的編碼風格.

    linux的編碼風格都記錄在 Documentation/CodingStyle 內核開發前要好好研讀以下, 之后有時間我會整理到博客中.

    ?

    3. 提交補丁

    準備工作都完成之后, 就可以開始內核開發之旅了 :)

    只要堅持不斷的學習和嘗試, 總有一天會為了內核貢獻自己的代碼, 這時候, 就需要了解如何提交代碼, 也就是內核補丁.

    ?

    如果是發現了BUG或者有改善, 可以將BUG的描述或者改善代碼發送給對應的維護者.(內核各個子系統的維護者信息在內核代碼根目錄下的 MAINTAINERS 文件中)

    生成BUG或者改善代碼的補丁有2種方法:

    1. 用diff命令創建補丁

    # 生成patch diff -urN linux-old/ linux-new/ > my-patch # 比對整個內核代碼文件夾 OR diff -u linux-old/some/file linux-new/some/file > my-patch # 比對某個文件# 應用patch, 應用了patch之后, linux-old 和 linux-new 中的代碼就一樣了 cd linux-old patch -p1 < ../my-patch # 這個命令是進入linux內核代碼根目錄內執行的# PS. 還有個很有用的工具 diffstat diffstat -p1 my-patch # 列出補丁所引起的變更的統計(加入或移去的代碼行)

    ?

    2. 用git命令創建補丁

    # 提交修改的或新增的代碼 git commit -a # 提交所有修改的代碼 OR git commit linux-src/some/file.c # 提交某個修改的代碼 OR git add linux-src/some/new-file.c # 把新增的文件加入版本庫 git commit -a # 提交新增的文件# 生成patch git format-patch -N # N 是正整數, 這條命令生成最后N次提交產生的補丁 OR git format-patch -1 # 最后1次提交產生的補丁# 應用patch: 和第一種方法一樣

    ?

    4. 總結

    本章的內容都是和提交內核patch有關, 我還是內核的入門者, 沒有社區的經驗, 更別說提交內核patch的經驗了.

    這篇筆記只是簡單記錄一些對入門者有用的信息, 便于以后查看.

    總結

    以上是生活随笔為你收集整理的《Linux内核设计与实现》读书笔记(二十)- 补丁, 开发和社区的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。