Opensuse 13.1 and bcache: Some notes and pointers

The linux kernel included support for bcache with 3.10, and hence it is also available with OS 13.1. Bcache is a block layer caching approach which allows to join a SSD with a regular disk to fast hybrid system ( The speed improvements for daily work are impressive, but using it under OS13.1 is not straightforward.

Here a short summary which may be useful for others.

  1. The Kernel modules works as expected, but is not loaded by default (i.e., you need to do modprobe, and change the initrd module list in sysconfig)

  2. The install script of the bcache tools fail to create symbolic link for bcache-register (to /usr/bin/) so the udev rules fail to register the bcache device

  3. grub2 is not yet bcache aware, so you need to boot from a separate boot partitition

  4. several mkinitrd related scripts do not know about bcache devices (among them boot-storage IIRC), so it is currently not possible to have the root partition on the bcache device

Here is what I ended up doing:

create a 30gig ext4 root directory on the SSD, and use the remainder of the SSD as bache for /home. The result is pure awesomeness (although YMMV).



Concerning 1)
You can load the kernelmodul at boot by using YAST:
Select: System, Editor for /etc/sysconfig, System, Kernel, INIT_RDMODUL
and add bcache.
Should be loaded next boot.

I experience the problem, that after creating a bcache-device the partitioner in Yast crashes (without corrupting)
and the Bootloader modul misses the menu for selection at boot time (but when booting its still there).

If it is the same to you I will write a bugreport


Re 2, the udev rules are supposed to find their scripts (probe-bcache and bcache-register, assuming you have bcache-tools 1.0.3 at least) in /lib/udev.
1 and 4 would be best fixed by an mkinitrd script, I would appreciate it if someone could test that and submit it. Relevant links at

I was able to modify the mkinitrd scripts to make booting from a bcache device possible (with a separate boot partition, however.)

You can find the relevant pointers at

Have fun!