drbd: Add recipe

DRBD is a block device which is designed to build high availability
clusters. This is done by mirroring a whole block device via (a dedicated)
network. You could see it as a "network RAID-1".

This recipe provides DRBD9 kernel modules drbd.ko and
drbd_transport_tcp.ko.

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
Jagadeesh Krishnanjanappa 2017-07-28 01:01:15 +05:30 committed by Joe MacDonald
parent 64e1ba5bf7
commit 4437e03095
2 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,24 @@
If CONFIG_BLK_DEV_DRBD kernel config is enabled, then DRBD
does not build drbd.ko here. Under this circumstance do_install
task is going to fail with a below error:
-- snip --
| install: cannot stat drbd.ko: No such file or directory
| make[1]: *** [install] Error 1
-- snip --
So, check for kernel module existence before installing.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
--- drbd-9.0.1-1/drbd/Makefile 2016-07-03 06:54:19.421538690 -0700
+++ drbd-9.0.1-1/drbd/Makefile_mod 2016-07-03 06:53:18.938801628 -0700
@@ -158,7 +158,7 @@ else
fi
install -d $(DESTDIR)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR)
set -e ; for ko in $(MODOBJS); do \
- install -m 644 $$ko $(DESTDIR)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR); \
+ [ -e $$ko ] && install -m 644 $$ko $(DESTDIR)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR); \
done
ifeq ($(DESTDIR),/)
ifeq ($(shell uname -r),$(KERNELRELEASE))

View File

@ -0,0 +1,22 @@
SUMMARY = "Distributed block device driver for Linux"
DESCRIPTION = "DRBD is a block device which is designed to build high \
availability clusters. This is done by mirroring a whole \
block device via (a dedicated) network. You could see \
it as a network raid-1."
HOMEPAGE = "http://oss.linbit.com/drbd/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
DEPENDS = "virtual/kernel"
SRC_URI = "http://www.linbit.com/downloads/drbd/9.0/drbd-${PV}.tar.gz \
file://check_existence_of_modules_before_installing.patch"
SRC_URI[md5sum] = "c1dd58043f46e9926b579aa65d4ea980"
SRC_URI[sha256sum] = "87f72d46db9bad926415b3ab9f5f1397de8c581d2e2ec1addbdd5ce2604e6123"
inherit module
EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'"
do_install () {
oe_runmake install DESTDIR="${D}"
}