Problem: just extracting with cpio does not do what one expects.

cpio -idv < initrd-4.1.12-1-default
.
kernel
kernel/x86
kernel/x86/microcode
kernel/x86/microcode/GenuineIntel.bin
early_cpio
42 blocks

This is not what one would expect.

Solution:

(tested on openSUSE Tumbleweed, openSUSE Leap 42.1 and SLES 12)

/usr/lib/dracut/skipcpio initrd-4.1.12-1-default > initrd.xz
xz -d initrd.xz

Then cpio -idv < initrd does what one would expect.