.. _cn_process_howto: .. include:: ../disclaimer-zh_CN.rst :Original: :ref:`Documentation/process/howto.rst <process_howto>` è¯è :: è±æçç»´æ¤è ï¼ Greg Kroah-Hartman <greg@kroah.com> ä¸æçç»´æ¤è ï¼ æé³ Li Yang <leoyang.li@nxp.com> ä¸æçç¿»è¯è ï¼ æé³ Li Yang <leoyang.li@nxp.com> æ¶å¥äº® Alex Shi <alex.shi@linux.alibaba.com> ä¸æçæ ¡è¯è : éå® TripleX Chung <xxx.phy@gmail.com> éç¦ Maggie Chen <chenqi@beyondsoft.com> çèª Wang Cong <xiyou.wangcong@gmail.com> å¦ä½åä¸Linuxå æ ¸å¼å ===================== è¿æ¯ä¸ç¯å°å¦ä½åä¸Linuxå æ ¸å¼åçç¸å ³é®é¢ä¸ç½æå°½çç»æç§ç¬ãå®å°æå¯¼ä½ æ为ä¸åLinuxå æ ¸å¼åè ï¼å¹¶ä¸å¦ä¼å¦ä½åLinuxå æ ¸å¼å社åºåä½ãå®å°½å¯è½ä¸ å æ¬ä»»ä½å ³äºå æ ¸ç¼ç¨çææ¯ç»èï¼ä½ä¼ç»ä½ æå¼ä¸æ¡è·å¾è¿äºç¥è¯çæ£ç¡®éå¾ã å¦æè¿ç¯æç« ä¸çä»»ä½å 容ä¸åéç¨ï¼è¯·ç»ææ«ååºçæ件维æ¤è åéè¡¥ä¸ã å ¥é¨ ---- ä½ æ³äºè§£å¦ä½æ为ä¸åLinuxå æ ¸å¼åè ï¼æè èæ¿å©åä½ âç»è¿ä¸ªè®¾å¤å个Linux 驱å¨ç¨åºâï¼è¿ç¯æç« çç®çå°±æ¯æä¼ä½ è¾¾æè¿äºç®æ çå ¨é¨è¯çªï¼å®å°æè¿°ä½ é è¦ç»è¿çæµç¨ä»¥åç»åºå¦ä½åå æ ¸ç¤¾åºåä½çä¸äºæ示ãå®è¿å°è¯å¾è§£éå æ ¸ç¤¾åº ä¸ºä½è¿æ ·è¿ä½ã Linuxå æ ¸å¤§é¨åæ¯ç±Cè¯è¨åæçï¼ä¸äºä½ç³»ç»æç¸å ³ç代ç ç¨å°äºæ±ç¼è¯è¨ãè¦ åä¸å æ ¸å¼åï¼ä½ å¿ é¡»ç²¾éCè¯è¨ãé¤éä½ æ³ä¸ºæ个æ¶æå¼ååºå±ä»£ç ï¼å¦åä½ å¹¶ ä¸éè¦äºè§£ï¼ä»»ä½ä½ç³»ç»æçï¼æ±ç¼è¯è¨ãä¸é¢å举ç书ç±è½ç¶ä¸è½æ¿ä»£æå®çC è¯è¨æè²åå¤å¹´çå¼åç»éªï¼ä½å¦æéè¦çè¯ï¼å为åèè¿æ¯ä¸éçï¼ - "The C Programming Language" by Kernighan and Ritchie [Prentice Hall] ãCç¨åºè®¾è®¡è¯è¨ï¼ç¬¬2ç·æ°çï¼ãï¼å¾å®æ æå¿ è¯ï¼[æºæ¢°å·¥ä¸åºç社] - "Practical C Programming" by Steve Oualline [O'Reilly] ãå®ç¨Cè¯è¨ç¼ç¨ï¼ç¬¬ä¸çï¼ãï¼é大海 è¯ï¼[ä¸å½çµååºç社] - "C: A Reference Manual" by Harbison and Steele [Prentice Hall] ãCè¯è¨åèæåï¼å书第5çï¼ãï¼é±ä»²æ½ çè¯ï¼[æºæ¢°å·¥ä¸åºç社] Linuxå æ ¸ä½¿ç¨GNU CåGNUå·¥å ·é¾å¼åãè½ç¶å®éµå¾ªISO C89æ åï¼ä½ä¹ç¨å°äºä¸äº æ åä¸æ²¡æå®ä¹çæ©å±ãå æ ¸æ¯èªç»èªè¶³çCç¯å¢ï¼ä¸ä¾èµäºæ åCåºçæ¯æï¼æ以 并ä¸æ¯æCæ åä¸çé¨åå®ä¹ãæ¯å¦long longç±»åç大æ°é¤æ³åæµ®ç¹è¿ç®å°±ä¸å 许 使ç¨ãææ¶åç¡®å®å¾é¾å¼æ¸ æ¥å æ ¸å¯¹å·¥å ·é¾çè¦æ±åå®æ使ç¨çæ©å±ï¼ä¸å¹¸çæ¯ç® åè¿æ²¡ææç¡®çåèèµæå¯ä»¥è§£éå®ä»¬ã请æ¥é gccä¿¡æ¯é¡µï¼ä½¿ç¨âinfo gccâå½ä»¤ æ¾ç¤ºï¼è·å¾ä¸äºè¿æ¹é¢ä¿¡æ¯ã 请记ä½ä½ æ¯å¨å¦ä¹ æä¹åå·²ç»åå¨çå¼å社åºæ交éãå®ç±ä¸ç¾¤å½¢å½¢è²è²ç人ç»æï¼ ä»ä»¬å¯¹ä»£ç ãé£æ ¼åè¿ç¨æçå¾é«çæ åãè¿äºæ åæ¯å¨é¿æå®è·µä¸æ»ç»åºæ¥çï¼ éåºäºå°çä¸åæ£ç大åå¼åå¢éãå®ä»¬å·²ç»è¢«å¾å¥½å¾æ´çææ¡£ï¼å»ºè®®ä½ å¨å¼å ä¹åå°½å¯è½å¤çå¦ä¹ è¿äºæ åï¼èä¸è¦ææå«äººæ¥éåºä½ æè ä½ å ¬å¸çè¡ä¸ºæ¹å¼ã æ³å¾é®é¢ -------- Linuxå æ ¸æºä»£ç é½æ¯å¨GPLï¼éç¨å ¬å ±è®¸å¯è¯ï¼çä¿æ¤ä¸åå¸çãè¦äºè§£è¿ç§è®¸å¯ çç»è请æ¥çæºä»£ç 主ç®å½ä¸çCOPYINGæ件ãLinuxå æ ¸è®¸å¯åååå¦ä½ä½¿ç¨ `SPDX <https://spdx.org/>` æ å¿ç¬¦è¯´æå¨è¿ä¸ªæä»¶ä¸ :ref:`Documentation/translations/zh_CN/process/license-rules.rst <cn_kernel_licensing>` å¦æä½ å¯¹å®è¿ææ´æ·±å ¥é®é¢è¯·èç³»å¾å¸ï¼èä¸è¦å¨Linuxå æ ¸é®ä»¶ç»ä¸æé®ãå 为 é®ä»¶ç»éç人并ä¸æ¯å¾å¸ï¼ä¸è¦ææä»ä»¬çè¯ææ³å¾æåã 对äºGPLç常è§é®é¢å解çï¼è¯·è®¿é®ä»¥ä¸é¾æ¥ï¼ https://www.gnu.org/licenses/gpl-faq.html ææ¡£ ---- Linuxå æ ¸ä»£ç ä¸å å«æ大éçææ¡£ãè¿äºæ档对äºå¦ä¹ å¦ä½ä¸å æ ¸ç¤¾åºäºå¨æç ä¸å¯ä¼°éçä»·å¼ãå½ä¸ä¸ªæ°çåè½è¢«å å ¥å æ ¸ï¼æ好æ解éå¦ä½ä½¿ç¨è¿ä¸ªåè½çæ æ¡£ä¹æ¾è¿å æ ¸ãå½å æ ¸çæ¹å¨å¯¼è´é¢åç¨æ·ç©ºé´çæ¥å£åçååæ¶ï¼æ好å°ç¸å ³ä¿¡ æ¯ææå页(manpages)çè¡¥ä¸åå°mtk.manpages@gmail.comï¼ä»¥åæå页(manpages) çç»´æ¤è 解éè¿äºååã 以ä¸æ¯å æ ¸ä»£ç ä¸éè¦é 读çææ¡£ï¼ :ref:`Documentation/admin-guide/README.rst <readme>` æ件ç®è¦ä»ç»äºLinuxå æ ¸çèæ¯ï¼å¹¶ä¸æè¿°äºå¦ä½é ç½®åç¼è¯å æ ¸ãå æ ¸ç æ°ç¨æ·åºè¯¥ä»è¿éå¼å§ã :ref:`Documentation/process/changes.rst <changes>` æ件ç»åºäºç¨æ¥ç¼è¯å使ç¨å æ ¸æéè¦çæå°è½¯ä»¶å å表ã :ref:`Documentation/translations/zh_CN/process/coding-style.rst <cn_codingstyle>` æè¿°Linuxå æ ¸ç代ç é£æ ¼åçç±ãæææ°ä»£ç éè¦éµå®è¿ç¯ææ¡£ä¸å®ä¹çè§ èã大å¤æ°ç»´æ¤è åªä¼æ¥æ¶ç¬¦åè§å®çè¡¥ä¸ï¼å¾å¤äººä¹åªä¼å¸®å¿æ£æ¥ç¬¦åé£æ ¼ ç代ç ã :ref:`Documentation/translations/zh_CN/process/submitting-patches.rst <cn_submittingpatches>` :ref:`Documentation/process/submitting-drivers.rst <submittingdrivers>` è¿ä¸¤ä»½ææ¡£æç¡®æè¿°å¦ä½å建ååéè¡¥ä¸ï¼å ¶ä¸å æ¬ï¼ä½ä¸ä» éäº)ï¼ - é®ä»¶å 容 - é®ä»¶æ ¼å¼ - éæ©æ¶ä»¶äºº éµå®è¿äºè§å®å¹¶ä¸è½ä¿è¯æ交æåï¼å 为ææè¡¥ä¸éè¦éè¿ä¸¥æ ¼çå 容åé£æ ¼ 审æ¥ï¼ï¼ä½æ¯å¿½è§ä»ä»¬å ä¹å°±æå³ç失败ã å ¶ä»å ³äºå¦ä½æ£ç¡®å°çæè¡¥ä¸çä¼ç§ææ¡£å æ¬ï¼ "The Perfect Patch" https://www.ozlabs.org/~akpm/stuff/tpp.txt "Linux kernel patch submission format" https://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html :ref:`Documentation/translations/zh_CN/process/stable-api-nonsense.rst <cn_stable_api_nonsense>` 论è¯å æ ¸ä¸ºä»ä¹ç¹æä¸å æ¬ç¨³å®çå æ ¸å é¨APIï¼ä¹å°±æ¯è¯´ä¸å æ¬åè¿æ ·çç¹ æ§ï¼ - åç³»ç»ä¸é´å±ï¼ä¸ºäºå ¼å®¹æ§ï¼ï¼ - å¨ä¸åæä½ç³»ç»é´æäºç§»æ¤ç驱å¨ç¨åº - åç¼ï¼çè³é»æ¢ï¼å æ ¸ä»£ç çå¿«éåå è¿ç¯æ档对äºç解Linuxçå¼åå²å¦è³å ³éè¦ã对äºå°å¼åå¹³å°ä»å ¶ä»æä½ç³» ç»è½¬ç§»å°Linuxç人æ¥è¯´ä¹å¾éè¦ã :ref:`Documentation/admin-guide/security-bugs.rst <securitybugs>` å¦æä½ è®¤ä¸ºèªå·±åç°äºLinuxå æ ¸çå®å ¨æ§é®é¢ï¼è¯·æ ¹æ®è¿ç¯ææ¡£ä¸çæ¥éª¤æ¥ æéå ¶ä»å æ ¸å¼åè 并帮å©è§£å³è¿ä¸ªé®é¢ã :ref:`Documentation/translations/zh_CN/process/management-style.rst <cn_managementstyle>` æè¿°å æ ¸ç»´æ¤è çå·¥ä½æ¹æ³åå ¶å ±æç¹ç¹ãè¿å¯¹äºååæ¥è§¦å æ ¸å¼åï¼æè 对 å®æå°å¥½å¥ï¼ç人æ¥è¯´å¾éè¦ï¼å 为å®è§£éäºå¾å¤å¯¹äºå æ ¸ç»´æ¤è ç¬ç¹è¡ä¸ºç æ®é误解ä¸è¿·æã :ref:`Documentation/process/stable-kernel-rules.rst <stable_kernel_rules>` 解éäºç¨³å®çå æ ¸åå¸çè§åï¼ä»¥åå¦ä½å°æ¹å¨æ¾å ¥è¿äºçæ¬çæ¥éª¤ã :ref:`Documentation/process/kernel-docs.rst <kernel_docs>` æå©äºå æ ¸å¼åçå¤é¨ææ¡£å表ãå¦æä½ å¨å æ ¸èªå¸¦çææ¡£ä¸æ²¡ææ¾å°ä½ æ³æ¾ çå 容ï¼å¯ä»¥æ¥çè¿äºææ¡£ã :ref:`Documentation/process/applying-patches.rst <applying_patches>` å ³äºè¡¥ä¸æ¯ä»ä¹ä»¥åå¦ä½å°å®æå¨ä¸åå æ ¸å¼ååæ¯ä¸ç好ä»ç» å æ ¸è¿æ¥æ大éä»ä»£ç èªå¨çææè ä» ReStructuredText(ReST) æ è®°çæçææ¡£ï¼ æ¯å¦è¿ä¸ªææ¡£ï¼å®å å«å æ ¸å é¨APIçå ¨é¢ä»ç»ä»¥åå¦ä½å¦¥åå¤çå éçè§åãææ è¿äºææ¡£é½å¯ä»¥éè¿è¿è¡ä»¥ä¸å½ä»¤ä»å æ ¸ä»£ç ä¸çæ为PDFæHTMLææ¡£:: make pdfdocs make htmldocs ReSTæ ¼å¼çææ¡£ä¼çæå¨ Documentation/output. ç®å½ä¸ã å®ä»¬ä¹å¯ä»¥ç¨ä¸åå½ä»¤çæ LaTeX å ePub æ ¼å¼ææ¡£:: make latexdocs make epubdocs å¦ä½æ为å æ ¸å¼åè ------------------ å¦æä½ å¯¹Linuxå æ ¸å¼åä¸æ æç¥ï¼ä½ åºè¯¥è®¿é®âLinuxå æ ¸æ°æâ计åï¼ https://kernelnewbies.org å®æ¥æä¸ä¸ªå¯ä»¥é®åç§æåºæ¬çå æ ¸å¼åé®é¢çé®ä»¶å表ï¼å¨æé®ä¹åä¸å®è¦è®°å¾ æ¥æ¾å·²å¾çé®ä»¶ï¼ç¡®è®¤æ¯å¦æ人已ç»åçè¿ç¸åçé®é¢ï¼ãå®è¿æ¥æä¸ä¸ªå¯ä»¥è·å¾ å®æ¶åé¦çIRCè天é¢éï¼ä»¥å大é对äºå¦ä¹ Linuxå æ ¸å¼åç¸å½æ帮å©çææ¡£ã ç½ç«ç®è¦ä»ç»äºæºä»£ç ç»ç»ç»æãåç³»ç»åå以åç®åæ£å¨è¿è¡ç项ç®ï¼å æ¬å æ ¸ ä¸çååç¬ç»´æ¤çï¼ãå®è¿æä¾äºä¸äºåºæ¬ç帮å©ä¿¡æ¯ï¼æ¯å¦å¦ä½ç¼è¯å æ ¸åæè¡¥ ä¸ã å¦æä½ æ³å å ¥å æ ¸å¼å社åºå¹¶åå©å®æä¸äºä»»å¡ï¼å´æ¾ä¸å°ä»åªéå¼å§ï¼å¯ä»¥è®¿é® âLinuxå æ ¸æ¿ç®¡åâ计åï¼ https://kernelnewbies.org/KernelJanitors è¿æ¯æä½³çèµ·ç¹ãå®æä¾ä¸ä¸ªç¸å¯¹ç®åçä»»å¡å表ï¼ååºå æ ¸ä»£ç ä¸éè¦è¢«éæ° æ´çæè æ¹æ£çå°æ¹ãéè¿åè´è´£è¿ä¸ªè®¡åçå¼åè 们ä¸åå·¥ä½ï¼ä½ ä¼å¦å°å°è¡¥ä¸ éæè¿å æ ¸çåºæ¬åçãå¦æè¿æ²¡æå³å®ä¸ä¸æ¥è¦åä»ä¹çè¯ï¼ä½ è¿å¯è½ä¼å¾å°æ¹ åæ§çæç¹ã å¨çæ£å¨æä¿®æ¹å æ ¸ä»£ç ä¹åï¼ç解è¦ä¿®æ¹ç代ç å¦ä½è¿ä½æ¯å¿ éçãè¦è¾¾å°è¿ä¸ª ç®çï¼æ²¡ä»ä¹åæ³æ¯ç´æ¥è¯»ä»£ç æ´ææäºï¼å¤§å¤æ°è±æé½ä¼æç¸åºç注éï¼ï¼èä¸ ä¸äºç¹å¶çå·¥å ·è¿å¯ä»¥æä¾å¸®å©ãä¾å¦ï¼âLinux代ç 交åå¼ç¨â项ç®å°±æ¯ä¸ä¸ªå¼å¾ ç¹å«æ¨èç帮å©å·¥å ·ï¼å®å°æºä»£ç æ¾ç¤ºå¨æç¼ç®åç´¢å¼çç½é¡µä¸ãå ¶ä¸ä¸ä¸ªæ´æ°å æ¶çå æ ¸æºç åºï¼å¯ä»¥éè¿ä»¥ä¸å°å访é®ï¼ https://elixir.bootlin.com/ å¼åæµç¨ -------- ç®åLinuxå æ ¸å¼åæµç¨å æ¬å 个â主å æ ¸åæ¯âåå¾å¤åç³»ç»ç¸å ³çå æ ¸åæ¯ãè¿ äºåæ¯å æ¬ï¼ - Linus çå æ ¸æºç æ - å¤ä¸ªä¸»è¦çæ¬ç稳å®çå æ ¸æ - åç³»ç»ç¸å ³çå æ ¸æ - linux-next éææµè¯æ 主线æ ------ 主线æ æ¯ç±Linus Torvalds ç»´æ¤çãä½ å¯ä»¥å¨https://kernel.org ç½ç«æè 代ç åºä¸ä¸æ¾å°å®ãå®çå¼åéµå¾ªä»¥ä¸æ¥éª¤ï¼ - æ¯å½ä¸ä¸ªæ°çæ¬çå æ ¸è¢«åå¸ï¼ä¸ºæ两å¨çéæçªå£å°è¢«æå¼ãå¨è¿æ®µæ¶é´é ç»´æ¤è å¯ä»¥åLinusæ交大段çä¿®æ¹ï¼é常è¿äºä¿®æ¹å·²ç»è¢«æ¾å°-mmå æ ¸ä¸å 个 ææäºãæ交大éä¿®æ¹çé¦éæ¹å¼æ¯ä½¿ç¨gitå·¥å ·ï¼å æ ¸ç代ç çæ¬ç®¡çå·¥å · ï¼æ´å¤çä¿¡æ¯å¯ä»¥å¨ https://git-scm.com/ è·åï¼ï¼ä¸è¿ä½¿ç¨æ®éè¡¥ä¸ä¹æ¯ å¯ä»¥çã - 两个ææ以å-rc1çæ¬å æ ¸åå¸ãä¹ååªæä¸å å«å¯è½å½±åæ´ä¸ªå æ ¸ç¨³å®æ§ç æ°åè½çè¡¥ä¸æå¯è½è¢«æ¥åã请注æä¸ä¸ªå ¨æ°ç驱å¨ç¨åºï¼æè æ件系ç»ï¼æ å¯è½å¨-rc1å被æ¥åæ¯å 为è¿æ ·çä¿®æ¹å®å ¨ç¬ç«ï¼ä¸ä¼å½±åå ¶ä»ç代ç ï¼æ以 没æé æå æ ¸éæ¥çé£é©ãå¨-rc1以åä¹å¯ä»¥ç¨gitåLinusæ交补ä¸ï¼ä¸è¿æ æçè¡¥ä¸éè¦åæ¶è¢«åéå°ç¸åºçå ¬ä¼é®ä»¶å表以å¾è¯¢æè§ã - å½Linus认为å½åçgitæºç æ å·²ç»è¾¾å°ä¸ä¸ªåçå¥å ¨çç¶æ足以åå¸ä¾äººæµè¯ æ¶ï¼ä¸ä¸ªæ°ç-rcçæ¬å°±ä¼è¢«åå¸ã计åæ¯æ¯å¨é½åå¸æ°ç-rcçæ¬ã - è¿ä¸ªè¿ç¨ä¸ç´æç»ä¸å»ç´å°å æ ¸è¢«è®¤ä¸ºè¾¾å°è¶³å¤ç¨³å®çç¶æï¼æç»æ¶é´å¤§æ¦æ¯ 6个ææã å ³äºå æ ¸åå¸ï¼å¼å¾ä¸æçæ¯Andrew Mortonå¨linux-kernelé®ä»¶å表ä¸å¦æ¯è¯´ï¼ â没æ人ç¥éæ°å æ ¸ä½æ¶ä¼è¢«åå¸ï¼å 为åå¸æ¯æ ¹æ®å·²ç¥bugçæ åµæ¥å³å® çï¼èä¸æ¯æ ¹æ®ä¸ä¸ªäºå å¶å®å¥½çæ¶é´è¡¨ãâ åç³»ç»ç¹å®æ ------------ åç§å æ ¸åç³»ç»çç»´æ¤è ââ以å许å¤å æ ¸åç³»ç»å¼å人åââå¨æºä»£ç åºä¸å ¬å¼äºä»ä»¬ å½åçå¼åç¶æãè¿æ ·ï¼å ¶ä»äººå°±å¯ä»¥çå°å æ ¸çä¸ååºååçäºä»ä¹ãå¨å¼åé度 å¾å¿«çé¢åï¼å¯è½ä¼è¦æ±å¼å人åå°æ交çå 容建ç«å¨è¿æ ·çåç³»ç»å æ ¸æ ä¸ï¼è¿æ · å°±é¿å äºæ交ä¸å ¶ä»å·²ç»è¿è¡çå·¥ä½ä¹é´çå²çªã è¿äºåå¨åºä¸ç大å¤æ°é½æ¯Gitæ ï¼ä½æ¯ä¹æå ¶ä»çscmå¨ä½¿ç¨ï¼æè è¡¥ä¸éå被åå¸ ä¸ºQuiltç³»åãè¿äºåç³»ç»åå¨åºçå°ååå¨MAINTAINERSæ件ä¸ãå ¶ä¸è®¸å¤å¯ä»¥å¨ https://git.kernel.org/ä¸æµè§ã å¨å°ä¸ä¸ªå»ºè®®çè¡¥ä¸æ交å°è¿æ ·çåç³»ç»æ ä¹åï¼éè¦å¯¹å®è¿è¡å®¡æ¥ï¼å®¡æ¥ä¸»è¦åç å¨é®ä»¶å表ä¸ï¼è¯·åè§ä¸é¢ç¸åºçé¨åï¼ã对äºå 个å æ ¸åç³»ç»ï¼è¿ä¸ªå®¡æ¥è¿ç¨æ¯é è¿å·¥å ·è¡¥ä¸è·è¸ªçãPatchworkæä¾äºä¸ä¸ªWebçé¢ï¼æ¾ç¤ºè¡¥ä¸åå¸ã对补ä¸çä»»ä½è¯ 论æ修订ï¼ç»´æ¤äººåå¯ä»¥å°è¡¥ä¸æ 记为æ£å¨å®¡æ¥ãæ¥åææç»ã大å¤æ°è¡¥ä¸ç½ç«é½å å¨ https://patchwork.kernel.org/ Linux-next éææµè¯æ --------------------- å¨å°åç³»ç»æ çæ´æ°å并å°ä¸»çº¿æ ä¹åï¼éè¦å¯¹å®ä»¬è¿è¡éææµè¯ã为æ¤ï¼åå¨ä¸ä¸ª ç¹æ®çæµè¯åå¨åºï¼å ¶ä¸å ä¹æ¯å¤©é½ä¼æåææåç³»ç»æ ï¼ https://git.kernel.org/ï¼p=linux/kernel/git/next/linux-next.git éè¿è¿ç§æ¹å¼ï¼Linux-next 对ä¸ä¸ä¸ªå并é¶æ®µå°è¿å ¥ä¸»çº¿å æ ¸çå 容ç»åºäºä¸ä¸ªæ¦è¦ å±æãé常欢åé©çæµè¯è è¿è¡æµè¯Linux-nextã å¤ä¸ªä¸»è¦çæ¬ç稳å®çå æ ¸æ ----------------------------------- ç±3个æ°åç»æçå æ ¸çæ¬å·è¯´ææ¤å æ ¸æ¯-stableçæ¬ãå®ä»¬å å«å æ ¸çç¸å¯¹è¾å°ä¸ è³å ³éè¦ç修补ï¼è¿äºä¿®è¡¥é对å®å ¨æ§é®é¢æè 严éçå æ ¸éæ¥ã è¿ç§çæ¬çå æ ¸éç¨äºé£äºææè·å¾ææ°ç稳å®çå æ ¸å¹¶ä¸ä¸æ³åä¸æµè¯å¼åçæ è å®éªççç¨æ·ã 稳å®çå æ ¸æ çæ¬ç±â稳å®çâå°ç»ï¼é®ä»¶å°å<stable@vger.kernel.org>ï¼ç»´æ¤ï¼ä¸è¬ éå¨åå¸æ°çæ¬ã å æ ¸æºç ä¸ç :ref:`Documentation/process/stable-kernel-rules.rst <stable_kernel_rules>` æä»¶å ·ä½æè¿°äºå¯è¢«ç¨³å®çå æ ¸æ¥åçä¿®æ¹ç±»å以ååå¸çæµç¨ã æ¥åbug ------- bugzilla.kernel.orgæ¯Linuxå æ ¸å¼åè 们ç¨æ¥è·è¸ªå æ ¸Bugçç½ç«ãæ们é¼å±ç¨ æ·å¨è¿ä¸ªå·¥å ·ä¸æ¥åæ¾å°çææbugãå¦ä½ä½¿ç¨å æ ¸bugzillaçç»è请访é®ï¼ http://test.kernel.org/bugzilla/faq.html å æ ¸æºç 主ç®å½ä¸ç:ref:`admin-guide/reporting-bugs.rst <reportingbugs>` æ件éæä¸ä¸ªå¾å¥½ç模æ¿ãå®æ导ç¨æ·å¦ä½æ¥åå¯è½çå æ ¸bug以åéè¦æä¾åªäºä¿¡æ¯ æ¥å¸®å©å æ ¸å¼åè 们æ¾å°é®é¢çæ ¹æºã å©ç¨bugæ¥å ----------- ç»ä¹ å æ ¸å¼åæè½çæ好åæ³å°±æ¯ä¿®æ¹å ¶ä»äººæ¥åçbugãä½ ä¸å å¯ä»¥å¸®å©å æ ¸å å¾æ´å 稳å®ï¼è¿å¯ä»¥å¦ä¼å¦ä½è§£å³å®é é®é¢ä»èæé«èªå·±çæè½ï¼å¹¶ä¸è®©å ¶ä»å¼å è æåå°ä½ çåå¨ãä¿®æ¹bugæ¯èµ¢å¾å ¶ä»å¼åè èµèªçæ好åæ³ï¼å 为并ä¸æ¯å¾å¤ 人é½å欢浪费æ¶é´å»ä¿®æ¹å«äººæ¥åçbugã è¦å°è¯ä¿®æ¹å·²ç¥çbugï¼è¯·è®¿é® http://bugzilla.kernel.org ç½åã é®ä»¶å表 -------- æ£å¦ä¸é¢çææ¡£ææè¿°ï¼å¤§å¤æ°ç骨干å æ ¸å¼åè é½å å ¥äºLinux Kernelé®ä»¶å 表ãå¦ä½è®¢é åé订å表çç»èå¯ä»¥å¨è¿éæ¾å°ï¼ http://vger.kernel.org/vger-lists.html#linux-kernel ç½ä¸å¾å¤å°æ¹é½æè¿ä¸ªé®ä»¶å表çåæ¡£(archive)ãå¯ä»¥ä½¿ç¨æç´¢å¼ææ¥æ¾å°è¿äº åæ¡£ãæ¯å¦ï¼ http://dir.gmane.org/gmane.linux.kernel å¨åä¿¡ä¹åï¼æ们强çå»ºè®®ä½ å å¨åæ¡£ä¸æç´¢ä½ æ³è¦è®¨è®ºçé®é¢ãå¾å¤å·²ç»è¢«è¯¦ç» 讨论è¿çé®é¢åªå¨é®ä»¶å表çåæ¡£ä¸å¯ä»¥æ¾å°ã 大å¤æ°å æ ¸åç³»ç»ä¹æèªå·±ç¬ç«çé®ä»¶å表æ¥åè°åèªçå¼åå·¥ä½ãä» MAINTAINERSæ件ä¸å¯ä»¥æ¾å°ä¸åè¯é¢å¯¹åºçé®ä»¶å表ã å¾å¤é®ä»¶å表æ¶è®¾å¨kernel.orgæå¡å¨ä¸ãè¿äºå表çä¿¡æ¯å¯ä»¥å¨è¿éæ¾å°ï¼ http://vger.kernel.org/vger-lists.html å¨ä½¿ç¨è¿äºé®ä»¶å表æ¶ï¼è¯·è®°ä½ä¿æè¯å¥½çè¡ä¸ºä¹ æ¯ãä¸é¢çé¾æ¥æä¾äºä¸è¿äºå 表ï¼æä»»ä½å ¶å®é®ä»¶å表ï¼äº¤æµçä¸äºç®åè§åï¼è½ç¶å 容æç¹æ»¥ç«½å æ°ã http://www.albion.com/netiquette/ å½æå¾å¤äººåå¤ä½ çé®ä»¶æ¶ï¼é®ä»¶çæéå表ä¼åå¾å¾é¿ã请ä¸è¦å°ä»»ä½äººä»æé å表ä¸å é¤ï¼é¤éä½ æ足å¤ççç±è¿ä¹åãä¹ä¸è¦åªåå¤å°é®ä»¶å表ãè¯·ä¹ æ¯äºå ä¸å°é®ä»¶æ¥æ¶ä¸¤æ¬¡ï¼ä¸å°æ¥èªåéè ä¸å°æ¥èªé®ä»¶å表ï¼ï¼èä¸è¦è¯å¾éè¿æ·»å ä¸ äºå¥ç¹çé®ä»¶å¤´æ¥è§£å³è¿ä¸ªé®é¢ï¼äººä»¬ä¸ä¼å欢çã è®°ä½ä¿çä½ æåå¤å 容çä¸ä¸æåæºå¤´ãå¨ä½ åå¤é®ä»¶ç顶é¨ä¿çâæææ说å°â¦â¦â è¿å è¡ãå°ä½ çè¯è®ºå å¨è¢«å¼ç¨ç段è½ä¹é´èä¸è¦æ¾å¨é®ä»¶ç顶é¨ã å¦æä½ å¨é®ä»¶ä¸é带补ä¸ï¼è¯·ç¡®è®¤å®ä»¬æ¯å¯ä»¥ç´æ¥é 读ç纯ææ¬ï¼å¦ :ref:`Documentation/translations/zh_CN/process/submitting-patches.rst <cn_submittingpatches>` ææ¡£ä¸æè¿°ï¼ãå æ ¸å¼åè 们ä¸å¸æéå°é件æè 被å缩äºçè¡¥ä¸ãåªæè¿æ ·æè½ ä¿è¯ä»ä»¬å¯ä»¥ç´æ¥è¯è®ºä½ çæ¯è¡ä»£ç ã请确ä¿ä½ 使ç¨çé®ä»¶åéç¨åºä¸ä¼ä¿®æ¹ç©ºæ ¼ åå¶è¡¨ç¬¦ãä¸ä¸ªé²èæ§çæµè¯æ¹æ³æ¯å å°é®ä»¶åéç»èªå·±ï¼ç¶åèªå·±å°è¯æ¯å¦å¯ä»¥ 顺å©å°æä¸æ¶å°çè¡¥ä¸ãå¦ææµè¯ä¸æåï¼è¯·è°æ´æè æ´æ¢ä½ çé®ä»¶åéç¨åºç´å° å®æ£ç¡®å·¥ä½ä¸ºæ¢ã æ»èè¨ä¹ï¼è¯·å°éå ¶ä»çé®ä»¶å表订é è ã åå æ ¸ç¤¾åºåä½ ---------------- å æ ¸ç¤¾åºçç®æ å°±æ¯æä¾å°½åå°½ç¾çå æ ¸ãæ以å½ä½ æ交补ä¸ææ被æ¥åè¿å æ ¸ç æ¶åï¼å®çææ¯ä»·å¼ä»¥åå ¶ä»æ¹é¢é½å°è¢«è¯å®¡ãé£ä¹ä½ å¯è½ä¼å¾å°ä»ä¹å¢ï¼ - æ¹è¯ - è¯è®º - è¦æ±ä¿®æ¹ - è¦æ±è¯æä¿®æ¹çå¿ è¦æ§ - æ²é» è¦è®°ä½ï¼è¿äºæ¯æè¡¥ä¸æ¾è¿å æ ¸çæ£å¸¸æ åµãä½ å¿ é¡»å¦ä¼å¬å对补ä¸çæ¹è¯åè¯è®ºï¼ ä»ææ¯å±é¢è¯ä¼°å®ä»¬ï¼ç¶åè¦ä¹éåä½ çè¡¥ä¸è¦ä¹ç®ææ¼è¦å°è®ºè¯ä¿®æ¹æ¯ä¸å¿ è¦ çãå¦æä½ åçé®ä»¶æ²¡æå¾å°ä»»ä½ååºï¼è¯·è¿å 天ååè¯ä¸æ¬¡ï¼å 为ææ¶ä¿¡ä»¶ä¼æ¹® 没å¨è«è«ä¿¡æµ·ä¸ã ä½ ä¸åºè¯¥åçäºæ ï¼ - ææèªå·±çè¡¥ä¸ä¸åä»»ä½è´¨çå°±ç´æ¥è¢«æ¥å - ç¿»è¸ - 忽ç¥å«äººçè¯è®º - 没ææç §å«äººçè¦æ±åä»»ä½ä¿®æ¹å°±éæ°æ交 å¨ä¸ä¸ªåªå追寻æ好ææ¯æ¹æ¡ç社åºéï¼å¯¹äºä¸ä¸ªè¡¥ä¸æå¤å°å¥½å¤æ»ä¼æä¸åçè§ è§£ãä½ å¿ é¡»è¦æ±çåä½çæ度ï¼æ¿ææ¹åèªå·±çè§ç¹æ¥éåºå æ ¸çé£æ ¼ãæè è³å° æ¿æå»è¯æä½ çæ³æ³æ¯æä»·å¼çãè®°ä½ï¼ç¯é误æ¯å 许çï¼åªè¦ä½ æ¿ææçæ£ç¡®ç æ¹æ¡å»åªåã å¦æä½ ç第ä¸ä¸ªè¡¥ä¸æ¢æ¥çæ¯ä¸å ä¿®æ¹å»ºè®®ï¼è¿æ¯å¾æ£å¸¸çãè¿å¹¶ä¸ä»£è¡¨ä½ çè¡¥ä¸ ä¸ä¼è¢«æ¥åï¼ä¹ä¸æå³çæ人åä½ ä½å¯¹ãä½ åªéè¦æ¹æ£æææåºçé®é¢ç¶åéæ°å éä½ çè¡¥ä¸ã å æ ¸ç¤¾åºåå ¬å¸æåçå·®å¼ ------------------------ å æ ¸ç¤¾åºçå·¥ä½æ¨¡å¼å大å¤æ°ä¼ ç»å ¬å¸å¼åéä¼çå·¥ä½æ¨¡å¼å¹¶ä¸ç¸åãä¸é¢è¿äºä¾ åï¼å¯ä»¥å¸®å©ä½ é¿å æäºå¯è½åçé®é¢ï¼ ç¨è¿äºè¯ä»ç»ä½ çä¿®æ¹ææ¡ä¼æ好å¤ï¼ - å®åæ¶è§£å³äºå¤ä¸ªé®é¢ - å®å é¤äº2000è¡ä»£ç - è¿æ¯è¡¥ä¸ï¼å®å·²ç»è§£éäºææ³è¦è¯´æç - æå¨5ç§ä¸åçä½ç³»ç»æä¸æµè¯è¿å®â¦â¦ - è¿æ¯ä¸ç³»åå°è¡¥ä¸ç¨æ¥â¦â¦ - è¿ä¸ªä¿®æ¹æé«äºæ®éæºå¨çæ§è½â¦â¦ åºè¯¥é¿å å¦ä¸ç说æ³ï¼ - æ们å¨AIX/ptx/Solariså°±æ¯è¿ä¹åçï¼æ以è¿ä¹åè¯å®æ¯å¥½çâ¦â¦ - æåè¿è¡å·²ç»20å¹´äºï¼æ以â¦â¦ - 为äºæä»¬å ¬å¸èµé±èèå¿ é¡»è¿ä¹å - è¿æ¯æ们çä¼ä¸äº§å线æéè¦ç - è¿éæ¯æè¿°æè§ç¹ç1000页设计ææ¡£ - è¿æ¯ä¸ä¸ª5000è¡çè¡¥ä¸ç¨æ¥â¦â¦ - æéåäºç°å¨ä¹±ä¸å «ç³ç代ç ï¼è¿å°±æ¯â¦â¦ - æ被è§å®äºæåæéï¼æ以è¿ä¸ªè¡¥ä¸éè¦ç«å»è¢«æ¥å å¦å¤ä¸ä¸ªå æ ¸ç¤¾åºä¸å¤§é¨åä¼ ç»å ¬å¸ç软件å¼åéä¼ä¸åçå°æ¹æ¯æ æ³é¢å¯¹é¢å°äº¤ æµã使ç¨çµåé®ä»¶åIRCèå¤©å·¥å ·å为主è¦æ²éå·¥å ·çä¸ä¸ªå¥½å¤æ¯æ§å«åç§ææ§è§ å°ä¼æ´å°ãLinuxå æ ¸çå·¥ä½ç¯å¢æ´è½æ¥åå¦å¥³åå°æ°æ群ï¼å 为æ¯ä¸ªäººå¨å«äººç¼ éåªæ¯ä¸ä¸ªé®ä»¶å°åãå½é åä¹å¸®å©äºå ¬å¹³çå®ç°ï¼å ä¸ºä½ æ æ³éè¿å§åæ¥å¤æ人 çæ§å«ãç·äººæå¯è½å«æ丽ï¼å¥³äººä¹æå¯è½å«çåã大å¤æ°å¨Linuxå æ ¸ä¸å·¥ä½è¿ 并表达è¿çæ³ç女æ§å¯¹å¨linuxä¸å·¥ä½çç»åé½ç»åºäºæ£é¢çè¯ä»·ã 对äºä¸äºä¸ä¹ æ¯ä½¿ç¨è±è¯ç人æ¥è¯´ï¼è¯è¨å¯è½æ¯ä¸ä¸ªå¼èµ·é®é¢çéç¢ãå¨é®ä»¶å表 ä¸è¦æ£ç¡®å°è¡¨è¾¾æ³æ³å¿ éè¯å¥½å°ææ¡è¯è¨ï¼æä»¥å»ºè®®ä½ å¨åéé®ä»¶ä¹åæ好æ£æ¥ä¸ ä¸è±æåå¾æ¯å¦æ£ç¡®ã æåä¿®æ¹ -------- Linuxå æ ¸ç¤¾åºå¹¶ä¸å欢ä¸ä¸æ¥æ¶å¤§æ®µç代ç ãä¿®æ¹éè¦è¢«æ°å½å°ä»ç»ãè®¨è®ºå¹¶ä¸ æåæç¬ç«çå°æ®µãè¿å ä¹å®å ¨åå ¬å¸ä¸çä¹ æ¯èéèé©°ãä½ çæ³æ³åºè¯¥å¨å¼åæ å¼å§çé¶æ®µå°±è®©å¤§å®¶ç¥éï¼è¿æ ·ä½ å°±å¯ä»¥åæ¶è·å¾å¯¹ä½ æ£å¨è¿è¡çå¼åçåé¦ãè¿ æ ·ä¹ä¼è®©ç¤¾åºè§å¾ä½ æ¯å¨åä»ä»¬åä½ï¼èä¸æ¯ä» ä» æä»ä»¬å½ä½å¾éæ°åè½ç对象ã æ 论å¦ä½ï¼ä½ ä¸è¦ä¸æ¬¡æ§å°åé®ä»¶å表åé50å°ä¿¡ï¼ä½ çè¡¥ä¸åºååºè¯¥æ°¸è¿ç¨ä¸å° è¿ä¹å¤ã å°è¡¥ä¸æå¼çåå å¦ä¸ï¼ 1) å°çè¡¥ä¸æ´æå¯è½è¢«æ¥åï¼å 为å®ä»¬ä¸éè¦å¤ªå¤çæ¶é´åç²¾åå»éªè¯å ¶æ£ç¡®æ§ã ä¸ä¸ª5è¡çè¡¥ä¸ï¼å¯è½å¨ç»´æ¤è çäºä¸ç¼ä»¥åå°±ä¼è¢«æ¥åãè500è¡çè¡¥ä¸å éè¦æ°ä¸ªå°æ¶æ¥å®¡æ¥å ¶æ£ç¡®æ§ï¼æéæ¶é´éè¡¥ä¸å¤§å°å¢å 大约åææ°çº§å¢é¿ï¼ã å½åºäºé®é¢çæ¶åï¼å°çè¡¥ä¸ä¹ä¼è®©è°è¯åå¾é常容æãä¸ä¸ªä¸ä¸ªè¡¥ä¸å°å溯 å°ä¼æ¯ä»ç»åæä¸ä¸ªè¢«æä¸ç大补ä¸ï¼è¿ä¸ªè¡¥ä¸ç ´åäºå ¶ä»ä¸è¥¿ï¼å®¹æå¾å¤ã 2ï¼ä¸å åéå°çè¡¥ä¸å¾éè¦ï¼å¨æ交ä¹åéæ°ç¼æãåç®ï¼æè ä» ä» éæ°æåï¼ è¡¥ä¸ä¹æ¯å¾éè¦çã è¿éæå æ ¸å¼åè Al Viroæçä¸ä¸ªæ¯æ¹ï¼ âæ³è±¡ä¸ä¸ªèå¸æ£å¨ç»å¦çæ¹æ¹æ°å¦ä½ä¸ãèå¸å¹¶ä¸å¸æçå°å¦ç为äºå¾ å°æ£ç¡®è§£æ³æè¿è¡çå°è¯å产ççé误ãä»å¸æçå°çæ¯æå¹²åæä¼é ç 解çã好å¦çäºè§£è¿ç¹ï¼ç»ä¸ä¼ææç»è§£å³ä¹åçä¸é´æ¹æ¡æ交ä¸å»ãâ å æ ¸å¼åä¹æ¯è¿æ ·ãç»´æ¤è åè¯å®¡è ä¸å¸æçå°ä¸ä¸ªäººå¨è§£å³é®é¢æ¶çæ èè¿ç¨ãä»ä»¬åªå¸æçå°ç®ååä¼é ç解å³æ¹æ¡ã ç´æ¥ç»åºä¸æµç解å³æ¹æ¡ï¼å社åºä¸èµ·åä½è®¨è®ºå°æªå®æçå·¥ä½ï¼è¿ä¸¤è ä¹é´ä¼¼ä¹ å¾é¾æ¾å°ä¸ä¸ªå¹³è¡¡ç¹ãæ以æ好尽æ©å¼å§æ¶éæå©äºä½ è¿è¡æ¹è¿çåé¦ï¼åæ¶ä¹è¦ ä¿è¯ä¿®æ¹åæå¾å¤å°åï¼è¿æ ·å¨æ´ä¸ªé¡¹ç®é½åå¤å¥½è¢«å å«è¿å æ ¸ä¹åï¼å ¶ä¸çä¸é¨ åå¯è½ä¼å 被æ¥æ¶ã å¿ é¡»äºè§£è¿æ ·åæ¯ä¸å¯æ¥åçï¼è¯å¾å°æªå®æçå·¥ä½æ交è¿å æ ¸ï¼ç¶ååæ¾æ¶é´ä¿® å¤ã è¯æä¿®æ¹çå¿ è¦æ§ ---------------- é¤äºå°è¡¥ä¸ææå°åï¼å¾éè¦çä¸ç¹æ¯è®©Linux社åºäºè§£ä»ä»¬ä¸ºä»ä¹éè¦è¿æ ·ä¿®æ¹ã ä½ å¿ é¡»è¯ææ°åè½æ¯æ人éè¦ç并ä¸æ¯æç¨çã è®°å½ä¿®æ¹ -------- å½ä½ åéè¡¥ä¸çæ¶åï¼éè¦ç¹å«çæé®ä»¶æ£æçå 容ãå 为è¿éçä¿¡æ¯å°ä¼å为补 ä¸çä¿®æ¹è®°å½(ChangeLog)ï¼ä¼è¢«ä¸ç´ä¿ç以å¤å¤§å®¶æ¥é ãå®éè¦å®å ¨å°æè¿°è¡¥ä¸ï¼ å æ¬ï¼ - 为ä»ä¹éè¦è¿ä¸ªä¿®æ¹ - è¡¥ä¸çæ»ä½è®¾è®¡ - å®ç°ç»è - æµè¯ç»æ æ³äºè§£å®å ·ä½åºè¯¥çèµ·æ¥åä»ä¹ï¼è¯·æ¥é 以ä¸ææ¡£ä¸çâChangeLogâç« èï¼ âThe Perfect Patchâ https://www.ozlabs.org/~akpm/stuff/tpp.txt è¿äºäºæ ææ¶ååèµ·æ¥å¾é¾ãè¦å¨ä»»ä½æ¹é¢é½åå°å®ç¾å¯è½éè¦å¥½å å¹´æ¶é´ãè¿æ¯ ä¸ä¸ªæç»æé«çè¿ç¨ï¼å®éè¦å¤§éçèå¿åå³å¿ãåªè¦ä¸æ¾å¼ï¼ä½ ä¸å®å¯ä»¥åå°ã å¾å¤äººå·²ç»åå°äºï¼èä»ä»¬é½æ¾ç»åç°å¨çä½ ç«å¨åæ ·çèµ·ç¹ä¸ã æè°¢ ---- æè°¢Paolo Ciarrocchiå 许âå¼åæµç¨âé¨ååºäºä»æåçæç« (http://www.kerneltravel.net/newbie/2.6-development_process)ï¼æè°¢Randy DunlapåGerrit Huizengaå®åäºåºè¯¥è¯´åä¸è¯¥è¯´çå表ãæè°¢Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers, Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi Kleen, Vadim Lobanov, Jesper Juhl, Adrian Bunk, Keri Harris, Frans Pop, David A. Wheeler, Junio Hamano, Michael KerriskåAlex Shepardçè¯å®¡ã建议åè´¡ç®ã没æä»ä»¬ç帮å©ï¼è¿ç¯ææ¡£æ¯ä¸å¯ è½å®æçã è±æçç»´æ¤è ï¼ Greg Kroah-Hartman <greg@kroah.com>