commit:     3764e9c41cf80d2ba3a391bb7ea014241ab34170
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 14 10:48:01 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Jul 14 11:58:18 2019 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3764e9c4

Add bcache support

Kernel command-line argument only, adds "dobcache".

Bug: https://bugs.gentoo.org/605094
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 arch/alpha/modules_load    |  2 +-
 arch/arm/modules_load      |  2 +-
 arch/ia64/modules_load     |  2 +-
 arch/mips/modules_load     |  2 +-
 arch/parisc/modules_load   |  2 +-
 arch/parisc64/modules_load |  2 +-
 arch/ppc/modules_load      |  2 +-
 arch/ppc64/modules_load    |  2 +-
 arch/ppc64le/modules_load  |  2 +-
 arch/s390/modules_load     |  2 +-
 arch/sparc/modules_load    |  2 +-
 arch/sparc64/modules_load  |  2 +-
 arch/um/modules_load       |  2 +-
 arch/x86/modules_load      |  2 +-
 arch/x86_64/modules_load   |  2 +-
 defaults/initrd.defaults   |  4 ++--
 defaults/initrd.scripts    | 21 +++++++++++++++++++++
 defaults/linuxrc           |  3 +++
 defaults/modules_load      |  2 +-
 doc/genkernel.8.txt        |  4 ++++
 gen_cmdline.sh             |  6 ++++++
 gen_configkernel.sh        |  9 +++++++++
 gen_determineargs.sh       |  1 +
 genkernel                  |  1 +
 genkernel.conf             |  3 +++
 25 files changed, 66 insertions(+), 18 deletions(-)

diff --git a/arch/alpha/modules_load b/arch/alpha/modules_load
index 5bcd5d9..0ee8173 100644
--- a/arch/alpha/modules_load
+++ b/arch/alpha/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32 crc32_generic 
aes_generic xts"

diff --git a/arch/arm/modules_load b/arch/arm/modules_load
index 5bcd5d9..0ee8173 100644
--- a/arch/arm/modules_load
+++ b/arch/arm/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32 crc32_generic 
aes_generic xts"

diff --git a/arch/ia64/modules_load b/arch/ia64/modules_load
index 6cbc6a9..b9ccaf2 100644
--- a/arch/ia64/modules_load
+++ b/arch/ia64/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32 crc32_generic 
aes_generic xts"

diff --git a/arch/mips/modules_load b/arch/mips/modules_load
index dcdef55..cbc6774 100644
--- a/arch/mips/modules_load
+++ b/arch/mips/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32 crc32_generic 
crc32-mips aes_generic xts"

diff --git a/arch/parisc/modules_load b/arch/parisc/modules_load
index 5bcd5d9..0ee8173 100644
--- a/arch/parisc/modules_load
+++ b/arch/parisc/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32 crc32_generic 
aes_generic xts"

diff --git a/arch/parisc64/modules_load b/arch/parisc64/modules_load
index d874370..46c8d16 100644
--- a/arch/parisc64/modules_load
+++ b/arch/parisc64/modules_load
@@ -26,7 +26,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32 crc32_generic 
aes_generic xts"

diff --git a/arch/ppc/modules_load b/arch/ppc/modules_load
index 5bcd5d9..0ee8173 100644
--- a/arch/ppc/modules_load
+++ b/arch/ppc/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32 crc32_generic 
aes_generic xts"

diff --git a/arch/ppc64/modules_load b/arch/ppc64/modules_load
index d988b7d..024de41 100644
--- a/arch/ppc64/modules_load
+++ b/arch/ppc64/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32c-vpmsum crc32 
crc32_generic aes_generic xts"

diff --git a/arch/ppc64le/modules_load b/arch/ppc64le/modules_load
index d988b7d..024de41 100644
--- a/arch/ppc64le/modules_load
+++ b/arch/ppc64le/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32c-vpmsum crc32 
crc32_generic aes_generic xts"

diff --git a/arch/s390/modules_load b/arch/s390/modules_load
index 5bcd5d9..0ee8173 100644
--- a/arch/s390/modules_load
+++ b/arch/s390/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32 crc32_generic 
aes_generic xts"

diff --git a/arch/sparc/modules_load b/arch/sparc/modules_load
index 5bcd5d9..0ee8173 100644
--- a/arch/sparc/modules_load
+++ b/arch/sparc/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32 crc32_generic 
aes_generic xts"

diff --git a/arch/sparc64/modules_load b/arch/sparc64/modules_load
index a03f40c..6c7777a 100644
--- a/arch/sparc64/modules_load
+++ b/arch/sparc64/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32c-sparc64 crc32 
crc32_generic aes_generic xts"

diff --git a/arch/um/modules_load b/arch/um/modules_load
index bc0010a..1ed0e41 100644
--- a/arch/um/modules_load
+++ b/arch/um/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32 crc32_generic 
aes_generic xts"

diff --git a/arch/x86/modules_load b/arch/x86/modules_load
index b8f355b..a545a81 100644
--- a/arch/x86/modules_load
+++ b/arch/x86/modules_load
@@ -28,7 +28,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32c-intel crc32 
crc32_generic crc32-pclmul aes_generic aes_586 aesni-intel xts"

diff --git a/arch/x86_64/modules_load b/arch/x86_64/modules_load
index 07a4acd..990f675 100644
--- a/arch/x86_64/modules_load
+++ b/arch/x86_64/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c crc32c_generic crc32c-intel crc32 
crc32_generic crc32-pclmul aes_generic aes-x86_64 aesni-intel xts"

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 6c6abec..7d941d5 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -119,8 +119,8 @@ DEFAULT_NFSOPTIONS="ro,nolock"
 # - modules
 HWOPTS_BLK='nvme pata sata scsi usb firewire waitscan'
 HWOPTS_OBSOLETE='pcmcia ataraid' # Obsolete stuff that might be useful on old 
hardware, do$X only.
-HWOPTS="keymap cache modules virtio hyperv ${HWOPTS_BLK} lvm dmraid multipath 
mdadm zfs fs net iscsi crypto"
+HWOPTS="keymap cache modules virtio hyperv ${HWOPTS_BLK} bcache lvm dmraid 
multipath mdadm zfs fs net iscsi crypto"
 
 # This is the set of default HWOPTS, in the order that they are loaded.
 # This is whitespace aligned with HWOPTS above.
-MY_HWOPTS="          modules virtio hyperv ${HWOPTS_BLK} lvm dmraid           
mdadm     fs net       crypto"
+MY_HWOPTS="          modules virtio hyperv ${HWOPTS_BLK} bcache lvm dmraid     
      mdadm     fs net       crypto"

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index fc9045d..87a861d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1316,6 +1316,27 @@ start_volumes() {
                        fi
                fi
        fi
+
+       if [ "${USE_BCACHE}" = '1' ]
+       then
+               if [ ! -e /sys/fs/bcache/register_quiet ]
+               then
+                       warn_msg "'/sys/fs/bcache/register_quiet' does not 
exist. Missing kernel driver? Skipping dobcache ..."
+               else
+                       local i=
+                       for i in $(awk '$4 !~ /^(name$|$)/ { print $4 }' 
/proc/partitions)
+                       do
+                               if [ -e "/dev/${i}" ]
+                               then
+                                       # Push all the block devices to 
register_quiet
+                                       # If its bcache, it will bring it up, 
if not, it will simply ignore it.
+                                       echo "/dev/${i}" 
>/sys/fs/bcache/register_quiet 2>/dev/null
+                               else
+                                       warn_msg "'/dev/${i}' should exist but 
is missing; Ignoring ..."
+                               fi
+                       done
+               fi
+       fi
 }
 
 start_iscsi() {

diff --git a/defaults/linuxrc b/defaults/linuxrc
index e0a4115..7be673b 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -136,6 +136,9 @@ do
                                ;;
                        esac
                ;;
+               dobcache)
+                       USE_BCACHE=1
+               ;;
                dobtrfs)
                        USE_BTRFS=1
                ;;

diff --git a/defaults/modules_load b/defaults/modules_load
index b4caf50..f55fab3 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat usbhid hid-generic sl811-hcd hid-a4tech 
hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey 
hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c_generic crc32c-intel crc32_generic 
aes_generic xts"

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 68f6f92..14b5edb 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -107,6 +107,10 @@ KERNEL CONFIGURATION
     Saves, or does not save the kernel configuration to '/etc/kernels'
     if the kernel is successfully compiled.
 
+*--*[*no-*]*bcache*::
+    Adds, or skip adding block layer cache (bcache) support to kernel
+    configuration.
+
 *--*[*no-*]*hyperv*::
     Adds, or skip adding Microsoft Hyper-V support to kernel configuration.
 

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index e740087..098e3d4 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -35,6 +35,8 @@ longusage() {
   echo "       --no-xconfig            Don't run xconfig after oldconfig"
   echo "       --save-config           Save the configuration to /etc/kernels"
   echo "       --no-save-config        Don't save the configuration to 
/etc/kernels"
+  echo "       --bcache                Enable block layer cache (bcache) 
support in kernel"
+  echo "       --no-bcache             Don't enable block layer cache (bcache) 
support in kernel"
   echo "       --hyperv                Enable Microsoft Hyper-V kernel options 
in kernel"
   echo "       --no-hyperv             Don't enable Microsoft Hyper-V kernel 
options in kernel"
   echo "       --microcode=(all,amd,intel)"
@@ -322,6 +324,10 @@ parse_cmdline() {
                        CMD_KEYMAP=$(parse_optbool "$*")
                        print_info 2 "CMD_KEYMAP: ${CMD_KEYMAP}"
                        ;;
+               --bcache|--no-bcache)
+                       CMD_BCACHE=$(parse_optbool "$*")
+                       print_info 2 "CMD_BCACHE: ${CMD_BCACHE}"
+                       ;;
                --lvm|--no-lvm)
                        CMD_LVM=$(parse_optbool "$*")
                        print_info 2 "CMD_LVM: ${CMD_LVM}"

diff --git a/gen_configkernel.sh b/gen_configkernel.sh
index 5ab0d43..6860f1a 100755
--- a/gen_configkernel.sh
+++ b/gen_configkernel.sh
@@ -246,6 +246,15 @@ config_kernel() {
                *) cfg_CONFIG_BLK_DEV_DM=${newcfg_setting}
        esac
 
+       # Make sure all modules required bcache are enabled in the kernel, if 
--bcache
+       if isTrue "${CMD_BCACHE}"
+       then
+               print_info 2 "$(get_indent 1)>> Ensure that required kernel 
options for bcache support are set ..."
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_MD" "y"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_BCACHE" 
"${newcfg_setting}" &&
+                       required_kernel_options+=( 'CONFIG_BCACHE' )
+       fi
+
        # Make sure lvm modules are enabled in the kernel, if --lvm
        if isTrue "${CMD_LVM}"
        then

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index b5052eb..a42cd44 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -147,6 +147,7 @@ determine_real_args() {
        set_config_with_override STRING SSH_AUTHORIZED_KEYS_FILE 
CMD_SSH_AUTHORIZED_KEYS_FILE "/etc/dropbear/authorized_keys"
        set_config_with_override STRING SSH_HOST_KEYS            
CMD_SSH_HOST_KEYS            "create"
        set_config_with_override BOOL   STRACE                   CMD_STRACE     
              "no"
+       set_config_with_override BOOL   BCACHE                   CMD_BCACHE     
              "no"
        set_config_with_override BOOL   LVM                      CMD_LVM        
              "no"
        set_config_with_override BOOL   DMRAID                   CMD_DMRAID     
              "no"
        set_config_with_override BOOL   ISCSI                    CMD_ISCSI      
              "no"

diff --git a/genkernel b/genkernel
index 25dc7f5..d3ba388 100755
--- a/genkernel
+++ b/genkernel
@@ -388,6 +388,7 @@ then
        print_warning 1 "${BOLD}WARNING... WARNING... WARNING...${NORMAL}"
        print_warning 1 'Additional kernel parameters that *may* be required to 
boot properly:'
        isTrue "${SPLASH}"    && print_warning 1 "- Add \"vga=791 
splash=silent,theme:${SPLASH_THEME} console=tty1 quiet\" if you use a splash 
framebuffer ]"
+       isTrue "${BCACHE}"    && print_warning 1 '- Add "dobcache" for bcache 
support'
        isTrue "${BTRFS}"     && print_warning 1 '- Add "dobtrfs" for Btrfs 
device scanning support'
        isTrue "${MULTIPATH}" && print_warning 1 '- Add "domultipath" for 
multipath support'
        isTrue "${ISCSI}"     && print_warning 1 '- For iSCSI support, add at 
least:'

diff --git a/genkernel.conf b/genkernel.conf
index eaf4c08..c07cd74 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -65,6 +65,9 @@ NOCOLOR="false"
 # Run the kernel make at the following NICE level
 #NICE=10
 
+# Add bcache support
+#BCACHE="no"
+
 # Add LVM support
 #LVM="no"
 

Reply via email to