Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1416161
  • 博文数量: 264
  • 博客积分: 5810
  • 博客等级: 大校
  • 技术积分: 3528
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 17:15
文章分类

全部博文(264)

文章存档

2011年(264)

分类: 服务器与存储

2011-07-08 21:54:41

的安装在其和已经有一个很详细的说明了,但是实际操作并不是很顺利,而且有些同事表示在编译过程中,这里详细的记录一下自己的编译、安装过程。

1. 环境说明

使用的是RHEL5.4的系统:

$cat /etc/issue
Red Hat Enterprise Linux Server release 5.4 (Tikanga)
$uname -a
Linux myhost 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

2. 需要的RPM包

安装基本工具包:rpm-build redhat-rpm-config unifdef。一般情况这三个包都是安装过的,检查一下即可。

$sudo yum install rpm-build
Package rpm-build-4.4.2.3-18.el5.x86_64 already installed and latest version
$sudo yum install redhat-rpm-config
Package redhat-rpm-config-8.0.45-32.el5.noarch already installed and latest version
$sudo yum install unifdef
Package unifdef-1.171-5.fc6.x86_64 already installed and latest version
3. 下载并安装源码包

现在的RHEL发行版中,已经不再带源码包,所以需要单独下载,供Flashcache编译使用。

3.1 准备目录
[supu@host]$ cd ~  《到家目录/home/supu/》
[supu@host]$ mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
[supu@host]$ echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros
3.2 下载源码包

可以在下载到对应的源码包。这里的内核版本号是:

$uname -r
2.6.18-164.el5

所以需要下载的是kernel-2.6.18-164.el5.src.rpm,完整的URL是:

ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/kernel-2.6.18-164.el5.src.rpm

注:最好的镜像下载,速度会差很多的。

3.3 安装源码包

有了前面的目录准备,现在可以安装源码包了

sudo rpm -i kernel-2.6.18-164.el5.src.rpm
cd ~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m` kernel-2.6.spec 2> prep-err.log | tee prep-out.log

OK,这时候源码包就安装到了如下目录:/home/supu/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64

3.4 准备模块编译

在源码目录执行如下命令,主备Flashcache模块编译

cd ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64
make oldconfig
make prepare
make modules_prepare
4. 编译Flashcache

可以在上下载Flashcache的源代码,和Linux源码一起编译,编译完成后会生成三个可执行程序和一个可动态加载的内核模块:

flashcache_create
flashcache_load
flashcache_destroy
flashcache.ko
4.1 下载并准备编译

在在上可以下载到Flashcache最新的源码。这里下载的是flashcache-1.0.11,解压后,有如下目录:

[supu@host facebook-flashcache-15adea8]$ ls
doc flashcache-wt LICENSE Makefile README README-CentOS5.4 README-DKMS src

其中src包含了普通的Flashcache(这里的普通指的是Write-back版本的Flashcache),flashcache-wt包含了Write-Through版本的源码;文件README-CentOS5.4中包含了在RHEL5.4下编译的注意事项,本文主要参考该文件。

按照README-CentOS5.4中的说明,修改文件src/Makefile,将行EXTRA_CFLAGS(第一行),用如下内容替换:

EXTRA_CFLAGS=-I$(KERNEL_TREE)/drivers/md -I$(KERNEL_TREE)/include/linux -I./
注意:这里没有换行。
4.2 编译之
make KERNEL_TREE=/home/supu/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64/
4.3 动态加载模块

最后需要将模块flashcache.ko加载到内核,这里可以将flashcache.ko拷贝到相应目录:

sudo cp flashcache.ko /lib/modules/2.6.18-164.el5/kernel/drivers/block

或者使用insmod命令,动态加载之:

sudo insmod flashcache.ko

Job Done! Enjoy!

阅读(5276) | 评论(1) | 转发(1) |
0

上一篇:SSD培训摘要

下一篇:技术点研究列表

给主人留下些什么吧!~~

send_linux2011-07-09 23:08:39

老大很给力了啊,文章都很棒啊!