终于配好了LXR
中午买的书送过来了,《大话存储》《ulk》《ldd》.开始kernel学习正式开始了。
前段时间做了一些准备工作,汇编,微机原理,保护模式等等。感觉对计算机了解得更深入了一些。好像入门了一样。哈哈。
kernel是大工程,先从简单的来。0.11.今天做了个LXR。读代码方便一点。
#yum -y install perl-File-MMagic.noarch
下载glimpse-latest.tar.gz,安装。
下载lxr-0.9.6.tgz解压到/usr/local/lxr
#cd /usr/local/lxr
#mkdir src
#cd src
#vi versions
0.11
#mkdir 0.11
#cd ..
#mv templates/* .
#mv path/to/linux-0.11/* src/0.11/
# which glimpse
/usr/local/bin/glimpse
#mkdir -p /usr/lib/perl5/site_perl/LXR
#mv lib/LXR/* /usr/lib/perl5/site_perl/LXR/
#cp lxr.conf lxr.conf.bak
#vi lxr.conf
'glimpsebin' => '/usr/local/bin/glimpse',
'glimpseindex' => '/usr/local/bin/glimpseindex',
'genericconf' => '/usr/lib/perl5/site_perl/LXR/Lang/generic.conf',
'ectagsconf' => '/usr/lib/perl5/site_perl/LXR/Lang/ectags.conf',
'baseurl' => 'http://127.0.0.1/lxr',
'range' => [ readfile('/usr/local/lxr/src/versions') ],
'default' => '0.11' #0.11为索引目录
'sourceroot' => '/usr/local/lxr/src',
'sourcerootname' => 'Linux',
'glimpsedir' => '/usr/local/lxr/src/$v/' #$v为versions里定义,用于索引内核目录
#其它不改变,因为我用的是glimpse,而没有用swish,所以再将lxr.conf中swish的项注释掉。
#配置完事了,在mysql中建表,建表语句都已经有了。
#cd /usr/local/lxr
#mysql -u root -p
password:
>show databases;
>source ./initdb-mysql
>exit
#接下来用glimpse建立kernel的索引信息。
#cd /usr/local/lxr/src/0.11/
#find . -name "*.[chs]" -follow | glimpseindex -H . -o -F #注意-H后面有一点。
#cd /usr/local/lxr
#./genxref --version=0.11 --url=http://127.0.0.1/lxr
最后修改httpd.conf 加一个Alias
#vi /etc/httpd/conf/httpd.conf
#add Alias
Alias /lxr/ "/usr/local/lxr/"
<Directory "/usr/local/lxr/">
AllowOverride None
Options FollowSymLinks
<Files ~ (search|source|ident|diff|find)$>
SetHandler cgi-script
PerlHandler Apache::Registry
Options +ExecCGI
</Files>
</Directory>
#service mysqld restart
#service httpd restart
查看http://localhost/lxr/source。出现。good
前段时间做了一些准备工作,汇编,微机原理,保护模式等等。感觉对计算机了解得更深入了一些。好像入门了一样。哈哈。
kernel是大工程,先从简单的来。0.11.今天做了个LXR。读代码方便一点。
#yum -y install perl-File-MMagic.noarch
下载glimpse-latest.tar.gz,安装。
下载lxr-0.9.6.tgz解压到/usr/local/lxr
#cd /usr/local/lxr
#mkdir src
#cd src
#vi versions
0.11
#mkdir 0.11
#cd ..
#mv templates/* .
#mv path/to/linux-0.11/* src/0.11/
# which glimpse
/usr/local/bin/glimpse
#mkdir -p /usr/lib/perl5/site_perl/LXR
#mv lib/LXR/* /usr/lib/perl5/site_perl/LXR/
#cp lxr.conf lxr.conf.bak
#vi lxr.conf
'glimpsebin' => '/usr/local/bin/glimpse',
'glimpseindex' => '/usr/local/bin/glimpseindex',
'genericconf' => '/usr/lib/perl5/site_perl/LXR/Lang/generic.conf',
'ectagsconf' => '/usr/lib/perl5/site_perl/LXR/Lang/ectags.conf',
'baseurl' => 'http://127.0.0.1/lxr',
'range' => [ readfile('/usr/local/lxr/src/versions') ],
'default' => '0.11' #0.11为索引目录
'sourceroot' => '/usr/local/lxr/src',
'sourcerootname' => 'Linux',
'glimpsedir' => '/usr/local/lxr/src/$v/' #$v为versions里定义,用于索引内核目录
#其它不改变,因为我用的是glimpse,而没有用swish,所以再将lxr.conf中swish的项注释掉。
#配置完事了,在mysql中建表,建表语句都已经有了。
#cd /usr/local/lxr
#mysql -u root -p
password:
>show databases;
>source ./initdb-mysql
>exit
#接下来用glimpse建立kernel的索引信息。
#cd /usr/local/lxr/src/0.11/
#find . -name "*.[chs]" -follow | glimpseindex -H . -o -F #注意-H后面有一点。
#cd /usr/local/lxr
#./genxref --version=0.11 --url=http://127.0.0.1/lxr
最后修改httpd.conf 加一个Alias
#vi /etc/httpd/conf/httpd.conf
#add Alias
Alias /lxr/ "/usr/local/lxr/"
<Directory "/usr/local/lxr/">
AllowOverride None
Options FollowSymLinks
<Files ~ (search|source|ident|diff|find)$>
SetHandler cgi-script
PerlHandler Apache::Registry
Options +ExecCGI
</Files>
</Directory>
#service mysqld restart
#service httpd restart
查看http://localhost/lxr/source。出现。good