搭建本机使用的LXR来阅读Linux Kernel,跳板机的搭建及使用

笔者一直是使用Source Insight来阅读内核代码,无奈只有windows版,而且SI存在很多解析不清楚的问题,越来越难用。

LXR http://lxr.linux.no/  这里可以在线浏览源码,而且解析代码的效果很好,就是需要联网才能用,本文讨论把LXR做成本地的一个应用,这样在没联网的情况下也可以使用。

(一)系统环境ubuntu,需要的软件apache lxr  glimpse http://webglimpse.net/   

apt-get install apache2 lxr wget http://webglimpse.net/trial/glimpse-latest.tar.gz

(二)安装之后配置LXR

在/usr/share/lxr/http/目录下建立文件 .htaccess,文件内容只有三行(注意第一行“~”和“(”之间有一个空格)

$ vim .htaccess

<Files ~ (source|search|ident|diff|find)$>

SetHandler cgi-script

</Files>

(三)配置Apache

sudo vim /etc/apache2/site-enable/000-default增加:

     Alias /lxr /usr/share/lxr

     <Directory /usr/share/lxr/>

         Options All

         AllowOverride All

     </Directory>

(四)复制linux源代码

去linux官方网站下载最近的内核代码(当然,以前的也可以)

复制linux源代码到/usr/share/lxr/source

sudo cp /home/***/Download/linux-3.0.4.tar.bz2 /usr/share/lxr/source

解压:

tar xvjf linux-3.0.4.tar.bz2

重命名解压后的文件夹

sudo mv linux-3.0.4 3.0.4

(五)生成数据文件

cd /usr/share/lxr/source

生成关键字交叉索引数据库

sudo genxref 3.0.4/

接下来要等待一段比较长的时间,因为它要扫描文件。

接下来,生成freetext交叉索引数据库:

glimpseindex -H . 3.0.4/

更改权限,使任何人都可以读取此目录的文件

sudo chmod +r -R ./*

(六)修改lxr配置文件

原文:

sourceroot: /usr/share/lxr/source/$v/linux/

dbdir: /usr/share/lxr/source/dbdir


改成 :

sourceroot: /usr/share/lxr/source/3.0.4 #刚刚生成的fileidx 和xref 的地址

dbdir: /usr/share/lxr/source #生成的.glimpse_filenames这些文件的位置

(七)阅读源代码

重新启动apache2

sudo /etc/init.d/apache2 restart

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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注