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

编译安装Bcache

编译安装内核编译安装Bcache是作用相同,是并列关系,按需选择其中一个执行即可。

CentOS 7.6

  1. 获取Bcache源码放到“/home”

    下载链接:https://gitee.com/kunpengcompute/bcache/repository/archive/smart-write-cache.zip

  2. 解压源码。
    1
    2
    cd /home
    unzip bcache-smart-write-cache.zip
    
  3. 编译得到Bcache驱动模块。
    1
    2
    cd /home/bcache-smart-write-cache/drivers/md/bcache
    make -C /lib/modules/$(uname -r)/build M=$(pwd)
    

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

  4. 查看Bcache模块的引用计数,如果未打印任何信息,则跳过步骤5
    lsmod | grep -w bcache

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

    bcache                458752  0
  5. 确保当前环境没有加载bcache.ko。
    modprobe -r bcache
  6. (可选)删除安装目录。
    如果未安装Bcache则请跳过此步骤。
    rm -rf /lib/modules/$(uname -r)/kernel/drivers/md/bcache
  7. 创建安装目录。
    mkdir -p /lib/modules/$(uname -r)/kernel/drivers/md/bcache
  8. 拷贝bcache.ko目标文件到安装目录。
    cp bcache.ko /lib/modules/$(uname -r)/kernel/drivers/md/bcache
  9. 压缩目标文件。
    xz -z /lib/modules/$(uname -r)/kernel/drivers/md/bcache/bcache.ko
  10. 更新bcache.ko模块依赖性。
    depmod -a
  11. 更新initramfs。
    dracut --add-drivers bcache -f /boot/initramfs-$(uname -r).img
  12. 确认bcache.ko是否安装成功。

    以下两条命令执行后,显示的文件信息如下,使用命令3可以看出/lib与/usr/lib是同一个路径,所以意味着命令1和命令2回显的内容是一致的。

    • 命令1:
      lsinitrd /boot/initramfs-$(uname -r).img | grep bcache.ko.xz

      回显如下所示。

      -rw-r--r-- 1 root root 997136 Nov 30 11:45 usr/lib/modules/4.14.0-115.el7a.0.1.aarch64/kernel/drivers/md/bcache/bcache.ko.xz
    • 命令2:
      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.14.0-115.el7a.0.1.aarch64/kernel/drivers/md/bcache/bcache.ko.xz

      命令3:

      ll /lib

      回显如下所示。

      lrwxrwxrwx. 1 root root 7 Feb 27 11:45 /lib -> usr/lib
  13. 加载bcache.ko。
    modprobe bcache

openEuler 20.03

  1. 获取Bcache源码放到“/home”

    下载链接:https://gitee.com/openeuler/kernel/tree/openEuler-1.0-LTS/kernel

  2. 解压源码。
    unzip 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-openEuler-1.0-LTS/include/trace/events/bcache.h /usr/src/kernels/$(uname -r)/include/trace/events/bcache.h

    /home/kernel-openEuler-1.0-LTS文件夹是解压bcache源码得到的。

  4. 编译得到Bcache驱动模块。
    1
    2
    cd /home/kernel-openEuler-1.0-LTS/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模块的引用计数,如果未打印任何信息,则跳过步骤7
    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是否安装成功。

    以下两条命令执行后,显示的文件信息完全一致则表示安装成功。

    • 命令1:
      lsinitrd /boot/initramfs-$(uname -r).img | grep bcache.ko.xz

      回显如下所示。

      -rw-r--r-- 1 root root 997136 Nov 30 11:45 usr/lib/modules/4.14.0-115.el7a.0.1.aarch64/kernel/drivers/md/bcache/bcache.ko.xz
    • 命令2:
      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.14.0-115.el7a.0.1.aarch64/kernel/drivers/md/bcache/bcache.ko.xz
  15. 加载bcache.ko。
    modprobe bcache
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词