Bcache编译与安装
- 获取Bcache源码放到“/home”。
- 解压源码。
unzip openeuler-kernel-openEuler-1.0-LTS.zip
- 临时替换系统头文件。
mv /usr/src/kernels/$(uname -r)/include/trace/events/bcache.h /usr/src/kernels/$(uname -r)/include/trace/events/bcache.h.bak cp /home/kernel/include/trace/events/bcache.h /usr/src/kernels/$(uname -r)/include/trace/events/bcache.h
- 编译得到Bcache驱动模块。
1 2
cd /home/kernel/drivers/md/bcache make -C /lib/modules/$(uname -r)/build M=$(pwd)
make时请根据实际运行环境,选择需要运行bcache.ko的内核build目录进行编译。
- 替换回原文件。
mv /usr/src/kernels/$(uname -r)/include/trace/events/bcache.h.bak /usr/src/kernels/$(uname -r)/include/trace/events/bcache.h
- 查看Bcache模块的引用计数。
lsmod | grep -w bcache
确保Bcache模块的引用计数为0。
bcache 458752 0
- 确保当前环境没有加载bcache.ko。
modprobe -r bcache
- 删除安装目录。
rm -rf /lib/modules/$(uname -r)/kernel/drivers/md/bcache
- 创建安装目录。
mkdir -p /lib/modules/$(uname -r)/kernel/drivers/md/bcache
- 拷贝bcache.ko目标文件到安装目录。
cp bcache.ko /lib/modules/$(uname -r)/kernel/drivers/md/bcache
- 压缩目标文件。
xz -z /lib/modules/$(uname -r)/kernel/drivers/md/bcache/bcache.ko
- 更新bcache.ko模块依赖性。
depmod -a
- 更新initramfs。
dracut --add-drivers bcache -f /boot/initramfs-$(uname -r).img
- 确认bcache.ko是否安装成功。
lsinitrd /boot/initramfs-$(uname -r).img | grep bcache.ko.xz -rw-r--r-- 1 root root 997136 Nov 30 11:45usr/lib/modules/4.19.90-2012.4.0.0053.oe1.aarch64/kernel/drivers/md/bcache/bcache.ko.xz ls -l /lib/modules/$(uname -r)/kernel/drivers/md/bcache/bcache.ko.xz -rw-r--r-- 1 root root 997136 Nov 30 11:45/lib/modules/4.19.90-2012.4.0.0053.oe1.aarch64/kernel/drivers/md/bcache/bcache.ko.xz
- 加载bcache.ko。
modprobe bcache
父主题: 安装Bcache