ubuntu 阅读内核源代码 lxr

 

      利用lxr查看内核源代码,其实就是搭建一个本地的网站,在ubuntu上,我们可以快速的完成这些工作。先大体的了解下需要的工具,apache2,glimpse,lxr。下面就正式开始搭建我们自己的lxr.

 

一、安装apache2:

sudo apt-get install apache2

 

二、安装glimpse:

在编译之前,首先看看你的机器上是否已经安装了flex,因为编译glimpse的时候需要这个软件。如果没有的话,那么进行安装:

sudo apt-get install flex

 

先去网站下载最新的源代码glimpse-latest.tar.gz,下载网址:http://webglimpse.net/download.php,然后解压到当前目录下

tar -xvzf glimpse-latest.tar.gz

 

再接着进入解压后的目录下,比如我的是:

cd glimpse-4.XX/

 

 

接着进行编译:

./config

make

sudo make install

 

 

三、安装lxr

sudo apt-get install lxr

 

新建/usr/share/lxr/http/.htaccess文件

在里面增加如下内容:

 

<Files ~ (search|source|ident|diff|find)$>
SetHandler cgi-script
</Files>

 

四、创建/usr/share/lxr/source/XX目录 (XX为版本号)

mkdir /usr/share/lxr/source/2.6.38.4

然后在/usr/share/lxr/source/2.6.38.4 下创建linux符号连接

ln -s /usr/src/linux-source-2.6.38.4  /usr/share/lxr/source/2.6.38.4/linux

 

五、创建/usr/share/lxr/source/versions文件,这里记录所有要看的版本,内容是

2.6.38.4

创建/usr/share/lxr/source/defversion文件,这里记录缺省要看的版本,内容是

2.6.38.4

之所以是这两个文件,见/usr/share/lxr/http/lxr.conf里的相关设置

 

六. 建立索引

cd /usr/share/lxr/source/2.6.38.4/

sudo genxref linux  //这样会在当前目录生成fileidx和xref

sudo glimpseindex -H /usr/share/lxr/source/2.6.38.4/   /usr/share/lxr/source/2.6.38.4/linux

需要等待一段时间

之所以是这个目录(/usr/share/lxr/source/2.6.38.4/),见/usr/share/lxr/http/lxr.conf里的相关设置(database项)

 

七.修改属性

sudo chmod +r -R /usr/share/lxr/source/2.6.38.4/*

 

八、阅读源代码

打开浏览器,输入http://localhost/lxr/http/source就能浏览本地的内核代码了

还有一点 要在/etc/apache2/sites-enabled/000-default中加入
Alias /lxr /usr/share/lxr
<Directory /usr/share/lxr>
Options All
AllowOverride All
</Directory>

重新启动apache2

sudo /etc/init.d/apache2 restart

 

阅读的时候可以看到页面顶部有

~ [ source navigation ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

source navigation是用户查看页面的界面

identifier search是查找某个变量名、结构名、函数名的界面

freetext search是查找任何字符串的界面

file search查找某个文件

本方法在ubuntu11.04 等测试过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值