Browse the Linux Kernel Source with LXR

來源:互聯網
上載者:User

LXR (stands for Linux Cross-Reference), is a great tool which indexes
the source code of the Linux Kernel and allows you browse the source in
your favorite browser (Firefox), with quick references for all
functions/files referenced in that code. (it’s not limited to use in
Linux Kernel though, and can be used to index any large project’s source
code).

Whenever I need to touch the Linux Kernel code, I first open a new
tab with LXR, another with Google ready to work, and a shell terminal
ready for grep queries.

This post will deal with installing LXR on Ubuntu and making it work.


1. First we need to install Apache (http server) and related stuff:

sudo apt-get install apache2 libapache2-mod-perl2

sudo apt-get install libcgi-simple-perl libcgi-ajax-perl libhtml-parser-perl libtemplate-perl

2. Install LXR

sudo apt-get install lxr

3. Now we need to install Glimpse, which is a powerful indexing tool used by LXR:

First we need to download the latest version from Glimpse’s homepage. Click here to download
.

Extract the tarball:

tar xzf glimpse-latest.tar.gz

Now we need to install flex (needed for installing glimpse)

sudo apt-get install flex

In the top directory of glimpse run these:

./configure

make

sudo make install

4. Open /etc/apache2/httpd.conf with your favorite text editor (vim) as root, and add these:

# Linux Cross Reference Stuff
Alias /lxr /usr/share/lxr
<Directory /usr/share/lxr>
Options All
AllowOverride All
</Directory>

5. Open the file /usr/share/lxr/http/.htaccess with your favorite text editor and add these:

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

6. Go to /usr/share/lxr/source/

7. Create a directory with the Kernel version number. For example:

mkdir 2.6.22

8. Download the Kernel Source from kernel.org
into /usr/share/lxr/source/2.6.22

9. untar the source tarball inside the 2.6.22 directory

10. Add the version number to /usr/share/lxr/source/versions:

echo 2.6.22 > /usr/share/lxr/source/versions

11. Create a symbolic link to 2.6.22 to make also the default version displayed:

ln -s /usr/share/lxr/source/2.6.22 /usr/share/lxr/source/defversion

12. Generate the cross-reference (This might take a few minutes):

cd /usr/share/lxr/source/2.6.22/

genxref

glimpseindex -H . .

13. Give permissions to http server to read the files:

chown www-data.www-data .glimpse_*

chown -R www-data.www-data /usr/share/lxr/

chown www-data.www-data fileidx

14. restart apache

/etc/init.d/apache2 restart

15. Open /usr/share/lxr/http/lxr.conf with a text editor.

Change this line:

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

into:

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

16. That’s it, now open firefox, and go to:

http://localhost/lxr/http/blurb.html


- Note: It’s possible to cross-reference multiple source code
projects (or multiple kernel versions). See more information in the
sites linked below.

You should be able to browse the Kernel source files like the screenshot below:


LXR Screenshot


Enjoy


Credits:

Orandespike Blog

Glimpse

Eclectic’s Blog

 

 

from http://www.amirwatad.com/blog/archives/2009/05/12/browse-the-linux-kernel-source-with-lxr/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.