Rate This Document
Findability
Accuracy
Completeness
Readability

Compiling and Installing the Bcache

  1. Obtain the bcache source code and save it to /home.
  2. Decompress the source code.
    unzip openeuler-kernel-openEuler-1.0-LTS.zip
  3. Replace the system header file temporarily.
    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. Compile and obtain the bcache driver module.
    1
    2
    cd /home/kernel/drivers/md/bcache
    make -C /lib/modules/$(uname -r)/build M=$(pwd)
    

    When running the make command, select the build directory of the kernel where bcache.ko needs to be run for compilation based on the site environment.

  5. Replace it with the original file.
    mv /usr/src/kernels/$(uname -r)/include/trace/events/bcache.h.bak /usr/src/kernels/$(uname -r)/include/trace/events/bcache.h
  6. View the reference count of the bcache module.
    lsmod | grep -w bcache

    Check that the reference count is 0.

    bcache                458752  0
  7. Check that bcache.ko is not loaded in the current environment.
    modprobe -r bcache
  8. Delete the installation directory.
    rm -rf /lib/modules/$(uname -r)/kernel/drivers/md/bcache
  9. Create an installation directory.
    mkdir -p /lib/modules/$(uname -r)/kernel/drivers/md/bcache
  10. Copy bcache.ko to the installation directory.
    cp bcache.ko /lib/modules/$(uname -r)/kernel/drivers/md/bcache
  11. Compress bcache.ko.
    xz -z /lib/modules/$(uname -r)/kernel/drivers/md/bcache/bcache.ko
  12. Update the dependency of bcache.ko.
    depmod -a
  13. Update initramfs.
    dracut --add-drivers bcache -f /boot/initramfs-$(uname -r).img
  14. Check whether bcache.ko is successfully installed.
    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. Load bcache.ko.
    modprobe bcache