以CentOS7.3为例 内核版本
[root@localhost ~]# uname -r
3.10.0-514.el7.x86_64
本文通过重编内核的方法实现,方法找了很久很久
【环境准备】
一台3.10.0-514.el7.x86_64的CentOS7.3机器
安装必备的库文件
sudo yum install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed pesign xmlto
sudo yum install audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel
sudo yum install ncurses-devel newt-devel numactl-devel pciutils-devel python-devel zlib-devel
【下载内核包】
内核源码下载:(注意内核版本的完全匹配, .src.rpm结尾)
https://buildlogs.centos.org/c7.1611.01/kernel/20161117160457/3.10.0-514.el7.x86_64/kernel-3.10.0-514.el7.src.rpm
【解开内核包】
将此rpm包拷贝到CentOS7.3机器中
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
解压此rpm包, root目录下会有rpmbuild文件夹
[root@localhost ~]# rpm -i kernel-3.10.0-514.el7.src.rpm
cd ~/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -m) kernel.spec
最终内核源码位置位于
/root/rpmbuild/BUILD/kernel-3.10.0-514.el7/linux-3.10.0-514.el7.centos.x86_64/
【重编内核】
[root@localhost linux-3.10.0-514.el7.centos.x86_64]# make menuconfig
手动勾选reiserfs的选项,保存退出
执行make
编译内核(大概需要30min+),等待,如有报错可能是缺少库或者从定义之类的,修改下源码即可,最终会有reiserfs.ko文件生成
将此ko文件insmod一下即可完成reiserfs文件系统的挂载