现在的位置: 首页 > 综合 > 正文

HOWTO_Compile Linux kernel Documentation for manpages

2013年10月07日 ⁄ 综合 ⁄ 共 1671字 ⁄ 字号 评论关闭

对每一个linux内核或者驱动开发者来说,内核自带的Documentation目录无疑是一个权威的参考资料和学习资料.
编写驱动或者修改内核的时候,可能需要用到kernel api,我们也想能够像libc api那样可以通过man手册
查看其使用方法,of course,直接到内核source codes查找到相关的函数定义是一种方法,但是显得比较麻烦。
你可以将内核api安装到man手册,步骤如下:

<1>>>如果你还没有内核源代码:
>>>a:

[Lee] ~ apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches linux-source-2.6.35 - Linux kernel source for version 2.6.35 with Ubuntu patches

>>>b:

   [Lee] ~ sudo apt-get install linux-source-2.6.35

>>>c:

[Lee] ~ cd /usr/src/
[Lee] /usr/src ls
linux-headers-2.6.35-22 linux-headers-2.6.35-22-generic linux-source-2.6.35.tar.bz2

>>>d:

[Lee] /usr/src sudo tar jxvf linux-source-2.6.35.tar.bz2
[Lee] /usr/src ls
linux-headers-2.6.35-22 linux-headers-2.6.35-22-generic linux-source-2.6.35 linux-source-2.6.35.tar.bz2

<2>>>有了源代码可以生成manpage了:
>>>a:

[Lee] ~/Source/linux-source-2.6.35 make mandocs
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/docproc
HOSTCC scripts/basic/hash
DOCPROC Documentation/DocBook/z8530book.xml
*** You need to install xmlto ***
make[1]: *** [Documentation/DocBook/z8530book.9] 错误 1
make: *** [mandocs] 错误 2

>>>b:

[Lee] ~/Source/linux-source-2.6.35 sudo apt-get install xmlto
[sudo] password for minilee: ****
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会安装下列额外的软件包: /***省略***/
建议安装的软件包: /***省略***/
下列【新】软件包将被安装: /***省略***/

升级了 0 个软件包,新安装了 38 个软件包,要卸载 0 个软件包,有 326 个软件包未被升级。
需要下载 444MB 的软件包。
解压缩后会消耗掉 737MB 的额外空间。
您希望继续执行吗?[Y/n]y
         /***
            漫长的等待....
         ***/

>>>c:

[Lee] ~/Source/linux-source-2.6.35 make mandocs
         /***
            漫长的等待....
         ***/

>>>d:

[Lee] ~/Source/linux-source-2.6.35 make installmandocs

<3>>>verbose:
      >>>a:
<2>

       >>a这一步我花了六个小时,要命呀(因为我的平均速度只有8K/s)
       >>>b:

              >虽然这样做很方便,但是这个手册不太完整,只有一些很基本的说明。

              >安装好以后生成的文件在/usr/local/man/man9/或者/usr/share/man目录下,现在我已经打好包(tar.bz2),
              只有2472868b(约2.4MB,晕....),有人要的话email我.

抱歉!评论已关闭.