Linux源码下生成并安装内核文档
最近想使用man命令查看Linux内核函数的帮助信息,无奈有如下提示:
xinu@slam:~$ man printk
No manual entry for printk
而在Linux内核源码下,我们执行make help命令后,输出的提示内容有关于内核文档的如下信息: Documentation targets: Linux kernel internal documentation in different formats:
htmldocs - HTML
pdfdocs - PDF
psdocs - Postscript
xmldocs - XML DocBook
mandocs - man pages
installmandocs - install man pages generated by mandocs
cleandocs - clean all generated DocBook files
总共可以生成HTML、PDF、Postscript、XML和man文档这5种格式,其中man文档可以安装到系统里,然后使用man命令来查看相关Linux内核函数(Linux内核API函数)的帮助信息。
由于我们终究要生成man文档,故而进行如下操作:
cd ~/linux-3.13.6 make mandocs
此时会有如下错误提示:
xinu@slam:~/linux-3.13.6$ make mandocs
HOSTCC scripts/docproc DOCPROC
Documentation/DocBook/z8530book.xml
** You need to install xmlto
**make[1]: ** [Documentation/DocBook/z8530book.9]
Error 1 make: ** [mandocs] Error 2
于是使用如下命令安装xmlto:
sudo apt-get install xmlto
安装好后再执行上面的make mandocs命令继续生成Linux内核API帮助文档,生成的文档会放在Kernel源码的Documentation/DocBook目录下。
生成好后,再使用如下命令安装:
sudo make installmandocs
执行该命令时会有如下输出:
xinu@slam:~/linux-3.13.6$ sudo make installmandocs
[sudo] password for xinu:
GEN /home/xinu/linux-3.13.6/Documentation/DocBook//v4l2.xml
mkdir -p /usr/local/man/man9/
install Documentation/DocBook/man/.9.gz /usr/local/man/man9/
从提示可以看出其实际上是将所有.9.gz文件安装到/usr/local/man/man9目录里,那我们可以只编译一遍,然后将这些*.9.gz文件复制到其他机器再执行上面最后一行命令进行安装即可,这样可以省下编译生成文档的1个来小时时间(视机器配置而言)。
至此,我们就可以使用类似man printk语句来查看内核函数的帮助信息了。
xinu@slam:~$ man printk
No manual entry for printk
而在Linux内核源码下,我们执行make help命令后,输出的提示内容有关于内核文档的如下信息: Documentation targets: Linux kernel internal documentation in different formats:
htmldocs - HTML
pdfdocs - PDF
psdocs - Postscript
xmldocs - XML DocBook
mandocs - man pages
installmandocs - install man pages generated by mandocs
cleandocs - clean all generated DocBook files
总共可以生成HTML、PDF、Postscript、XML和man文档这5种格式,其中man文档可以安装到系统里,然后使用man命令来查看相关Linux内核函数(Linux内核API函数)的帮助信息。
由于我们终究要生成man文档,故而进行如下操作:
cd ~/linux-3.13.6 make mandocs
此时会有如下错误提示:
xinu@slam:~/linux-3.13.6$ make mandocs
HOSTCC scripts/docproc DOCPROC
Documentation/DocBook/z8530book.xml
** You need to install xmlto
**make[1]: ** [Documentation/DocBook/z8530book.9]
Error 1 make: ** [mandocs] Error 2
于是使用如下命令安装xmlto:
sudo apt-get install xmlto
安装好后再执行上面的make mandocs命令继续生成Linux内核API帮助文档,生成的文档会放在Kernel源码的Documentation/DocBook目录下。
生成好后,再使用如下命令安装:
sudo make installmandocs
执行该命令时会有如下输出:
xinu@slam:~/linux-3.13.6$ sudo make installmandocs
[sudo] password for xinu:
GEN /home/xinu/linux-3.13.6/Documentation/DocBook//v4l2.xml
mkdir -p /usr/local/man/man9/
install Documentation/DocBook/man/.9.gz /usr/local/man/man9/
从提示可以看出其实际上是将所有.9.gz文件安装到/usr/local/man/man9目录里,那我们可以只编译一遍,然后将这些*.9.gz文件复制到其他机器再执行上面最后一行命令进行安装即可,这样可以省下编译生成文档的1个来小时时间(视机器配置而言)。
至此,我们就可以使用类似man printk语句来查看内核函数的帮助信息了。
评论
发表评论