Linuxã«ãŒãã«ã¯ããããŸã§ã§æããã€ãããã¯ã§è€éãªå€§èŠæš¡ãªãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãã 圌ã®ããã¥ã¡ã³ãã¯ã©ãã§ããïŒ çŽæ¥çãªãªã³ã¯ããããŸãããããžã§ã¯ãã®ããã¥ã¡ã³ãã«ã¢ã¯ã»ã¹ãããããªãã»ã©ãéšå€è
ãã±ãŒã¹ã®åºæ¬ãåŠã³ãå¿«é©ã«ãªããå®å
šãªã¡ã³ããŒã«ãªãããšã容æã«ãªããŸãã

Kernel Recipiesã¯ãŒã¯ã·ã§ããã§ã Linuxããã¥ã¡ã³ãã«ãŒãã«ã¡ã³ããã®Jonathan Corbetããããã¥ã¡ã³ãã®çŸåšã®ç¶æ
ãšãç¡ç§©åºãã秩åºãžã®ç§»è¡ãã©ã®ããã«è¡ããããã«ã€ããŠè©±ããŸããã ãã®åªåã®æåã®æåã¯ãã§ã«ããã«ãããŸãã æè¿ãPython Sphinxã䜿çšããŠäžéšã®ããã¥ã¡ã³ããReStructuredText
å€æãããŸããã å
éšã§ã©ã®ããã«äŒãããããã«ã€ããŠã
Documentationãã©ã«ããŒã«ã¯äœãå«ãŸããŠããŸããïŒ
Documentation
ã¯å€§æåã®ãã£ã¬ã¯ããªã§å§ãŸãå¯äžã®Linuxãã£ã¬ã¯ããªã§ããããã¯ãã®ç¹å¥ãªåœ¹å²ãšäœçœ®ã匷調ããŠããŸãããæ°ã®æ¯ãªèã®äžã§ã¯å£ããŸãã
- 2264ãã¡ã€ã«
- 228ãã£ã¬ã¯ããª
Documentation/devicetree
ãå«ãŸãªã23 MBã®ããã¥ã¡ã³ããŒã·ã§ã³
ããã¥ã¡ã³ããŒã·ã§ã³/ *ã¯å·šå€§ãªæ··ä¹±ã§ãããçŸåšãã©ã³ãã ãªéè¡äººãç©äºãæåŸã«çœ®ãå Žæã«åºã¥ããŠç·šæãããŠããŸãã
-ããã»ã©ã³ããªãŒã2007幎7æã
ããã¯ãã¹ãŠã2ã€ã®æ¹æ³ã§ååšããŸããéåžžã®txtãã¡ã€ã«ãšDocBookãã³ãã¬ãŒãã§ãã åçŽãªtxtãã¡ã€ã«ã¯çžäºã«æ¥ç¶ãããŠããããããŸããŸãªäººã«ãã£ãŠããŸããŸãªæç¹ã§æžã蟌ãŸãããã¹ãŠãåãããã«åœ¹ç«ã€ããã§ã¯ãããŸããã ãããã®ããã€ãã¯ããã¹ãŠã®ã«ãŒãã«éçºè
ã«ç¥ãããŠããŸãã ãããã¯ãLinusãŸãã¯CodingStyle
ã«ãã£ãŠäœæãããManagementStyle
ããã¹ãŠã®ãã©ã³ãã£ã¢ãéå§ããŸãã ãããã®ããã¥ã¡ã³ãã¯ããã¹ãŠã®éçºè
ãLinuxoidãããã³ã·ã³ããµã€ã¶ãŒã«èªãŸããã¹ãã ãšæããŸãã
ãšããã§ããã«ãŒãã«ãããŒãžã£ãŒãã«ã€ããŠè©±ããšããããã¯ãã¹ãŠãäŒæ¥å
ã§åŸæ¥ã®ç®¡çãè¡ã人ã§ã¯ãªããæè¡çãªãªãŒããŒã§ãã çºæ³šæžã«çœ²åããããã°ã«ãŒãã®äºç®ã«ã€ããŠäœãææãããæã£ãŠããå Žåãããªãã¯ã»ãŒç¢ºå®ã«ã«ãŒãã«ãããŒãžã£ãŒã§ã¯ãããŸããã ãããã®ææ¡ã¯ãã客æ§ã«é©çšãããå Žåãšé©çšãããªãå ŽåããããŸãã
çµè²»è«æ±æžã«çœ²åããäºç®ç·šæãç解ããŠããå Žåãããªãã¯ééããªãäžçŽã«ãŒãã«éçºè
ã§ã¯ãããŸããã
å€åãã«çŽå€±ããããã¯ã¯ãæããã«ä»ã®ããã¯ãšéãã¯ãããŸããã ããšãã°ã Documentation/applying-patches.txt
ã¯ã ftp
ãä»ããŠããããããŠã³ããŒããã patch
ã³ãã³ãã䜿çšããŠé©çšããæ¹æ³ãæ瀺ããŸãã ä»æ¥ã誰ããããããŠããªãããšã¯æããã§ãã
çºæ調æ»ã«ãããé©ãã¹ãçµæãåŸãããããšããããŸãã 1996幎以æ¥ãLinuxã¯ã¯ãªã³ãŽã³èªã®èšè¿°ããµããŒãããŠããããšãããããŸãã ã Documentation/unicode.txt
ãŸãã
U+F8D0 KLINGON LETTER A U+F8D1 KLINGON LETTER B U+F8D2 KLINGON LETTER CH U+F8D3 KLINGON LETTER D U+F8D4 KLINGON LETTER E U+F8D5 KLINGON LETTER GH U+F8D6 KLINGON LETTER H U+F8D7 KLINGON LETTER I U+F8D8 KLINGON LETTER J U+F8D9 KLINGON LETTER L U+F8DA KLINGON LETTER M U+F8DB KLINGON LETTER N U+F8DC KLINGON LETTER NG U+F8DD KLINGON LETTER O U+F8DE KLINGON LETTER P U+F8DF KLINGON LETTER Q
Documentation/zorro.txt
ã¯ãAmiga PCçšã®ããã°ã©ãã³ã°ãã©ã€ããŒã®ç§å¯ãå«ãŸããŠããŸãã 2003幎ã«ããã¯ãæåŸã«çµ±æ²»ãããã®ã¯é©ãããšã§ã¯ãããŸããã
äžéšã®ããã¹ãã¯éåžžã«æ¿æããŠãããããã»ãšãã©ã®äººã¯ç解ã§ããŸããã ãããã«ã¯ãJonathan Documentation/memory-barriers.txt
å«ãŸããŠããŸããã 圌ã«ãããšãããã§è°è«ãããŠããããšãç解ãã人ã¯ã圌ãä»ã®å€ãã®äººãããããèããã
äžäœã¬ãã«ã®ã«ã¿ãã°ã«ãå€ãã®ãžã£ã³ã¯ããããŸãããã®ããã¥ã¡ã³ãã¯ããããæãå¯åºŠã®é«ããã®ã®1ã€ã§ãã é¢çœãããšã§ãã100幎åã«usa.netã«ãã¡ãŒã«ããããŸããããDotComåžå Žã§ã®ã¯ã©ãã·ã¥ã®åŸãææã«ãªããYahooã«ç§»ããŸããã
(5:521)$ less Documentation/sound/oss/MultiSound #! /bin/sh # # Turtle Beach MultiSound Driver Notes # -- Andrew Veliath <andrewtv@usa.net> # # Last update: September 10, 1998 # Corresponding msnd driver: 0.8.3
ã«ãŒãã«ããã®ãµãŠã³ããµãã·ã¹ãã OSSãã»ãŒå®å
šã«åãåãããŠããããšã¯æ³šç®ã«å€ããŸãããããã¥ã¡ã³ãã¯ãŸã ããã«ãããŸãã
次ã«ããã¬ãŒã³ããã¹ããã¡ã€ã«ã®çŽç²ãªç¡ç§©åºãããã«ãŒãã«ããã¥ã¡ã³ãã®ããè€éãª2çªç®ã®æ··ä¹±ãžãšç§»ããŸãããã
DocBookãšã¿ããª
ãã¹ãŠã®åŠçã€ã³ãã©ã¹ãã©ã¯ãã£ãåãããããã®34ã®XMLãã³ãã¬ãŒãã¯DocBookã§ãã ãã¬ãŒã³ããã¹ããšã¯ç°ãªããDocBookãã©ãŒãããã§ã¯ãAPIãé¢æ°ã®èª¬æãæ§é åããã¯ãã¹ãªã³ã¯ã§ãªã³ã¯ãããhtmlãpdfããŸãã¯manããŒãžãååŸã§ããŸãã
(5:522)$ ll Documentation/DocBook/*.tmpl |wc -l 34
ãœãŒã¹ã³ãŒãã«ã¯ãç¹å¥ãªkerneldoc comments
- kerneldoc comments
ãå«ãŸããŠãkerneldoc comments
ã ã³ãŒãã«ã¯ã55,000以äžã®ãã®ãããªæ¿å
¥ããããŸãã
/** * list_add - add a new entry * @new: new entry to be added * @head: list head to add it after * * Insert a new entry after the specified head. * This is good for implementing stacks. */
DocBookãã³ãã¬ãŒãã«ã¯ããœãŒã¹ããããã¥ã¡ã³ããããŠã³ããŒãããæ¹æ³ã«é¢ããæ瀺ãå«ãŸããŠããŸã ã
/* * Parse file, calling action specific functions for: * 1) Lines containing !E * 2) Lines containing !I * 3) Lines containing !D * 4) Lines containing !F * 5) Lines containing !P * 6) Lines containing !C * 7) Default lines - lines not matching the above */
Documentation/DocBook/networking.tmpl
ã
<sect1><title>Socket Buffer Functions</title> !Iinclude/linux/skbuff.h !Iinclude/net/sock.h !Enet/socket.c !Enet/core/skbuff.c !Enet/core/sock.c !Enet/core/datagram.c !Enet/core/stream.c </sect1>
ãŠãŒã¶ãŒãmake htmldocs
ã scripts/docproc
ããã³ãã¬ãŒãå
ã®ããã¥ã¡ã³ããšã¯ã¹ããŒãåœä»€ã解æããååœä»€ã«å¯ŸããŠæ¬¡ã®ã¢ã¯ã·ã§ã³ãå®è¡ããŸãã
- æå®ããããã¡ã€ã«å
ã®
EXPORT_SYMBOL()
åœä»€ãèŠã€ããŠè§£æãããšã¯ã¹ããŒããããã·ã³ãã«ã®ãªã¹ãã«é¢æ°åãè¿œå ããŸãã - Perlã¹ã¯ãªãã
scripts/kernel-doc
åŒã³åºããŸããããã¯ãå¿
èŠãªå®çŸ©ãååŸããããã«ãCã³ãŒãã§èŠã€ãã£ãé¢æ°ãæ§é ããã®ä»ãã¹ãŠãå®è¡ããŸãã - 2åç®ã®ã©ãŠã³ãã§
scripts/kernel-doc
ãåããã¡ã€ã«ãå床èªã¿åããŸãããä»åã¯ãããã®é¢æ°ã®ããã¥ã¡ã³ããäœæããçµæãDocBookã¹ããããã«ããã¯ããŸãã
次ã«ã docproc
ã¯ãäœæããããã¡ã€ã«ãDocBookãã©ãŒãããã§ãã³ãã¬ãŒãã«ããã·ã¥ããŸãã HTMLã®å Žåã scripts/kernel-doc-xml-ref
ã¹ã¯ãªãããåŒã³åºãããŸããããã¯çžäºåç
§ãäœæããŸãããåå¥ã®ãã³ãã¬ãŒãã«å¯ŸããŠã®ã¿ã§ãã æåŸã«ã xmlto
ã¯æå®ããã圢åŒã§ããã¥ã¡ã³ããäœæããŸããã Makefile
代æ¿ããã°ã©ã ãæå®ã§ããŸãã
ã¹ã¯ãªãããéå±ãªXMLãã³ãã¬ãŒããå°çã®åžžé£ã®ãã®ããã¯ã¹ [1]ä¿¡é Œæ§ãäœããæå¶ãããŠãã [2] ããããŠæãéèŠãªããš-ç®ã楜ããŸããéŠå°Ÿäžè²«ããææžãäœæããŸããã§ããã
ããŒã¯ããŠã³ãã¢ã·ãã€ããã¹ãã£ã³ã¯ã¹
ãã®ç¶æ³ã誰ã«ãé©ããŠããªãããšã¯æããã§ããããžã§ããµã³ãšåœŒã®ååã¯ç¶æ³ããæãåºãæ¹æ³ãæ¢ããŠããŸããã ããã€ãã®ãªãã·ã§ã³ã調ã¹ãŠè©Šããçµæãæçµçã«ReStructuredTtext
ãšSphinx
æã«èœã¡çããŸããã
æåã«ãååãçå®ãããŸããã æ°ããææžã·ã¹ãã ã¯èŠä»¶ãæºãããŠããå¿
èŠããããŸãã
- æ··ä¹±ãæé€ããŸãã
- ãã©ãŒããããšå¯èªæ§ãæ¹åããŸãã
- å¹³æã
- åççã«ç·šæãããããŒã«ã
軜éããŒã¯ã¢ããèšèªã®äœ¿çšã¯èªæã§ãããæåã®è©Šã¿ã¯Markdown
ã§ããã ããã«ãããè€æ°ã®åé¡ãäžåºŠã«è§£æ±ºããããšãã§ããŸããã ãŸã ãããã°ã©ã èªäœã«æžãããã³ã¡ã³ããæŽæ°ãããŸãã 楜芳çã§ã¯ãããŸãããå
šäœãšããŠã®èãã¯çå®ã§ãã 第äºã« ãããã¹ãããŒã¹ã®MarkDown
ã¯DocBook-XML
ãããã¯ããã«äœãå
¥åãããå€ãæã£ãŠãããããç°¡åã«äœæã§ããããã¥ã¡ã³ãã¯èšè¿°ãããå¯èœæ§ãé«ããªãDocBook-XML
ã

ãããããã«ã MarkDown
ã¯åç¬ã§ã¯äœ¿çšã§ãããçŸåšã®ããã°ã©ã ã»ããã®ã¢ããªã³ãšããŠã®ã¿äœ¿çšã§ããããšãæããã«ãªããŸããã kernel-doc
MarkDown
ã®ã³ã¬ã¯ã·ã§ã³ã«MarkDown
ã®ãµããŒããè¿œå ããå¿
èŠããããŸãããããã«ã¯ãè¿œå ã®pandoc
å€æpandoc
ïŒããã³asciidoc
ïŒã®äœ¿çšãå¿
èŠã§ããã è³éã¯æããã«å¯Ÿç«ããŠãããããŒã¯ã¢ããã¯å€åãããããã°ã¯è€éã§ããã ããå€ãã®ãã¬ãŒãããããããŒã«ã¯ããã«äžæ©å«ã«ãªããŸããã
ãããããžã§ããµã³ã¯ãç¶æ³ããæãåºãæ¹æ³ãæ¢ããªããã°ãªããªãããšã«æ°ã¥ããå察æ¹åã«åããã ãã©ãŒããããšçžäºå€æã®ãã§ãŒã³ãè€éã«ãã代ããã«ãããããäœåãªãã®ãåãåºããŠæšãŠãã¹ãã§ãã DocBookãšåœŒã®åšãã®ãã¹ãŠãäžèŠã§ããããšãå€æããŸããã ãã¹ãŠãAsciiDoc
転éããDocBookã€ã³ãã©ã¹ãã©ã¯ãã£ããã€ãã¹ããŠãããããå¿
èŠãªhtmlãpdfãããã³manããŒãžãçŽæ¥äœæãããšã©ããªããŸããïŒ
èšãã®ã¯ç°¡åãå®è£
ã¯é£ããã AsciiDoc
ã¯Rubyã®äŸåé¢ä¿ãåŒãåºãã xmlto
ãšã®ãªã³ã¯ãxmlto
ããšã«ããDocBookã眮ãæãããããè£è¶³ããããã¥ã¡ã³ãã®ãªã³ã¯ã¯ãŸã äžç·ã«æé·ããŸããã§ããã ããã«ãããããããäžå¯è§£ãªçç±ãåŸ
ã€ã®ã§ã¯ãªããåé²ããããšã決å®ãããŸããã æåŸã®ç¬éãJonathanã¯çãã¿ã€ã ã¢ãŠããåãã é·æãšçæãæ¯èŒæ€èšãã軜éã®RestructuredText
ããŒã¯ã¢ããã«åºã¥ããSphinx pythonããã¥ã¡ã³ããŒã·ã§ã³ã·ã¹ãã ã®æ¡çšãææ¡ããŸãã ã
ãªãã¹ãã£ã³ã¯ã¹ãªã®ãïŒ
- ãœãããŠã§ã¢ãææžåããããã«èšèšãããŠããŸãã ããšãã°ãé¢æ°ãšã¯äœããç¥ã£ãŠããŸãã
- å€ãã®ãã¡ã€ã«ã«æ£ãã°ã倧ããªããã¥ã¡ã³ãã«é©ããŠããŸãã
- ãã䜿çšãããè¯å¥œãªãµããŒãããããŸãã [3] ã
- ããã¥ã¡ã³ãã¯æçµçã«æ¥ç¶ãããŸãã
- ããŒã«ãã§ãŒã³ãç°¡çŽ åãããã¢ã»ã³ããªãé«éåãããŸããã
ååã説åŸããããã«ããžã§ããµã³ã¯æ²ãã£ãæŠå¿µå®èšŒãèã®äžã«æžãããããããžã£ãã»ãã¯ã©ã¯ããã磚ãããããæãèµ·ããããã ããã¥ã¡ã³ã¿ãªãŒã®éã§ã¯ããã®åé¡ã«ã€ããŠã³ã³ã»ã³ãµã¹ãæ¥éã«çãããã¹ãŠãå§ãŸããŸããã ãšããã§ã PoCããªãã¯ã¯ã mm
ã«ãŒãã«ãã©ã³ãã®ã¡ã³ãããŒã§ããAndrew Mortonã«ããã°åžžã«æ©èœããŸãã ãããLinuxã®èªçæ¹æ³ã§ãããã²ã©ã解決çãçæ³çã§ãªã解決çã«çœ®ãæããå¿
èŠãããå Žåãå€ãã®å Žåãè«äºã®ããåé¡ã¯è§£æ±ºãããŸãã
äœãè¡ãããäœãè¡ãããã¹ãã
å€æŽã¯ãã§ã«éšåçã«è¡šç€ºããã Sphinxã®èšå®ã¯Documentation/Makefile.sphinx
ããã³Documentation/conf.py
ä¿åãããŠããŸãã ã€ã³ããã¯ã¹ãã¡ã€ã«index.rst
ãškernel-documentation.rst
ã gpu
ãšmedia
éçºè
ã¯ä»ã®å
ãè¡ã£ãŠããããã¹ãŠã®Documentation/gpu/
documentationããã§ã«Sphinxã«ç¿»èš³ããŠããŸãã
Sphinxã«åãæ¿ããããã»ã¹ã¯ãã·ã§ãã¯çæ³ãªãã§è¡ãããŸããã€ãŸãããã¬ãŒã³ããã¹ããã¡ã€ã«ãšDocBookãã³ãã¬ãŒãã¯ãä»ã®ã¡ã³ãããŒãšåæããŠãåŸã
ã«æ°ãã圢åŒã«å€æãããŸãã ãã®ãããDocBookã®éã¯ã©ãã«ãdocproc
ãŸããããæ°ããæåã®ããã¥ã¡ã³ãã«docproc
å¿
èŠdocproc
ãŸããã
ããŒãžã§ã³4.8ã¯ãæ°ããããã¥ã¡ã³ãã·ã¹ãã ãåããæåã®å®å®ããLinuxã«ãŒãã«ã§ãã Linusã¯ãããã®å€æŽã«ã€ããŠæçŽã§ã³ã¡ã³ããããããã®20ïŒ
ãããã¥ã¡ã³ãã§ãããšé©ããã
ãããèªäœã¯ããã¶ãå€ãã£ãŠããããã«èŠããŸãããããŒãžãŠã£ã³ããŠã¯ããªãæ£åžžã§ãããããã®20ïŒ
以äžã¯ãdocbookããSphinx doc圢åŒãžã®drmããã³ã¡ãã£ã¢ããã¥ã¡ã³ãã®å€æã«ããããã¥ã¡ã³ãã®æŽæ°ã§ãã
Linux TorvaldsïŒ4.8-rc1ãªãªãŒã¹ïŒ
è¯ãäŸã¯ãHSIããã¥ã¡ã³ãã§ãã ãããŸã§ããã¬ãŒã³ããã¹ããšDocBookã®2ã€ã®åœ¢ã§ååšããŠããŸããã ããã¥ã¡ã³ãã¯çžäºã«æ¥ç¶ãããŠããŸããã
Documentation/hsi.txt
Documentation/DocBook/device-drivers.tmpl
Linux 4.9以éãããã¯1ã€ã®Documentation/drivers-api/hsi.rst
ã ãããŠãããã¯é·ãæ
ã®å§ãŸãã«éããŸããïŒ
å€ãã®äœæ¥ãå
ã«ãããŸãã é·æçãªç®æšã¯ãDocBookãš20幎åã®Perl kernel-doc
ããžãã¯ãå®å
šã«åãé€ãããšã§ãã ã«ãŒãã«ãœãŒã¹ã®ã¹ããŒã¹ãšåãé åºã«ãªãããã«ã2,000ãè¶
ããããã¹ããã¡ã€ã«ãReStructuredText
ã«å€æãã Documentation
ã§ãã¡ã€ã«ã·ã¹ãã ã®å³å¯ã§ããããããéå±€ãèšå®ããå¿
èŠããããŸãã
åå ãããå Žå ãªãŒãžã§anèã®æž
æ Linuxã«ãŒãã«ã®ããã¥ã¡ã³ãã®æ¹é©ãããã®ããã«è¡ã;ãã¡ã€ã³ã®ç¥èã¯ããã¡ãããäœåãªãã®ã§ã¯ãããŸããããããã«ã¯ç¹å¥ãªç¥èã¯å¿
èŠãããŸããã æ°ããããšãåŠã³ããã¹ãŠã®å©å®³é¢ä¿è
ãšå¯Ÿè©±ããå¥å
šãªä¿å®äž»çŸ©ãšæŒžé²äž»çŸ©ã®ååãé å®ããããšãåæ§ã«éèŠã§ãã
䜿çšææ
- â å°çããã® kernel-doc bunch of regular expressionãšããååã®ã¹ããŒã«ãŒã
- âç§ã®make htmldocs㯠8ååŸã«å®æããŸããã æ¯èŒã®ããã«ã cpuinfoã¯bogomipsïŒ4988.37ã瀺ããŠããŸãã
- â ãããŠç¹ã«çŽ æŽãããã®ã¯ã圌ããµããŒãããŠããªãããšã§ã