EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

Bcache编译与安装

  1. 获取Bcache源码放到“/home”
  2. 解压源码。
    unzip openeuler-kernel-openEuler-1.0-LTS.zip
  3. 临时替换系统头文件。
    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
  4. 编译得到Bcache驱动模块。
    1
    2
    cd /home/kernel/drivers/md/bcache
    make -C /lib/modules/$(uname -r)/build M=$(pwd)
    

    make时请根据实际运行环境,选择需要运行bcache.ko的内核build目录进行编译。

  5. 替换回原文件。
    mv /usr/src/kernels/$(uname -r)/include/trace/events/bcache.h.bak /usr/src/kernels/$(uname -r)/include/trace/events/bcache.h
  6. 查看Bcache模块的引用计数。
    lsmod | grep -w bcache

    确保Bcache模块的引用计数为0。

    bcache                458752  0
  7. 确保当前环境没有加载bcache.ko。
    modprobe -r bcache
  8. 删除安装目录。
    rm -rf /lib/modules/$(uname -r)/kernel/drivers/md/bcache
  9. 创建安装目录。
    mkdir -p /lib/modules/$(uname -r)/kernel/drivers/md/bcache
  10. 拷贝bcache.ko目标文件到安装目录。
    cp bcache.ko /lib/modules/$(uname -r)/kernel/drivers/md/bcache
  11. 压缩目标文件。
    xz -z /lib/modules/$(uname -r)/kernel/drivers/md/bcache/bcache.ko
  12. 更新bcache.ko模块依赖性。
    depmod -a
  13. 更新initramfs。
    dracut --add-drivers bcache -f /boot/initramfs-$(uname -r).img
  14. 确认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
  15. 加载bcache.ko。
    modprobe bcache