From 75f4a97302c2f1070661e58936bba75250c9e445 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 26 Nov 2010 19:51:25 +0100 Subject: add preliminary DRBD support for OpenADK --- mk/modules.mk | 5 ++++ package/drbd/Makefile | 32 +++++++++++++++++++++++++ package/drbd/patches/patch-Makefile_in | 11 +++++++++ package/drbd/patches/patch-drbd_Makefile | 11 +++++++++ package/drbd/patches/patch-drbd_drbd_buildtag_c | 9 +++++++ target/linux/config/Config.in.block | 20 ++++++++++++---- 6 files changed, 83 insertions(+), 5 deletions(-) create mode 100644 package/drbd/Makefile create mode 100644 package/drbd/patches/patch-Makefile_in create mode 100644 package/drbd/patches/patch-drbd_Makefile create mode 100644 package/drbd/patches/patch-drbd_drbd_buildtag_c diff --git a/mk/modules.mk b/mk/modules.mk index ecec26b94..496b47503 100644 --- a/mk/modules.mk +++ b/mk/modules.mk @@ -678,6 +678,11 @@ $(eval $(call KMOD_template,IP_VS_FTP,ip-vs-ftp,\ # Block devices # +$(eval $(call KMOD_template,BLK_DEV_DRBD,blk-dev-drbd,\ + $(MODULES_DIR)/kernel/lib/lru_cache \ + $(MODULES_DIR)/kernel/drivers/block/drbd/drbd \ +,20)) + $(eval $(call KMOD_template,BLK_DEV_LOOP,blk-dev-loop,\ $(MODULES_DIR)/kernel/drivers/block/loop \ ,20)) diff --git a/package/drbd/Makefile b/package/drbd/Makefile new file mode 100644 index 000000000..c8d69e2a0 --- /dev/null +++ b/package/drbd/Makefile @@ -0,0 +1,32 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk + +PKG_NAME:= drbd +PKG_VERSION:= 8.3.8.1 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 551dae488006af86a33eab1eba407f48 +PKG_DESCR:= DRBD admin tools +PKG_SECTION:= fs +PKG_URL:= http://www.drbd.org/ +PKG_SITES:= http://oss.linbit.com/drbd/8.3/ + +include $(TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,DRBD,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +CONFIGURE_ARGS+= --with-distro=generic \ + --without-km \ + --without-xen \ + --without-udev + +post-install: + $(INSTALL_DIR) $(IDIR_DRBD)/usr/lib/drbd + $(INSTALL_DIR) $(IDIR_DRBD)/usr/sbin + $(CP) $(WRKINST)/usr/lib/drbd/* \ + $(IDIR_DRBD)/usr/lib/drbd/ + $(INSTALL_BIN) $(WRKINST)/sbin/drbd* \ + $(IDIR_DRBD)/usr/sbin + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/drbd/patches/patch-Makefile_in b/package/drbd/patches/patch-Makefile_in new file mode 100644 index 000000000..bce8496a1 --- /dev/null +++ b/package/drbd/patches/patch-Makefile_in @@ -0,0 +1,11 @@ +--- drbd-8.3.8.1.orig/Makefile.in 2010-07-09 10:13:59.000000000 +0200 ++++ drbd-8.3.8.1/Makefile.in 2010-11-26 19:00:49.000000000 +0100 +@@ -47,7 +47,7 @@ WITH_BASHCOMPLETION = @WITH_BASHCOMPLETI + # and not in e.g. dash. I'm too lazy to fix it to be compatible. + SHELL=/bin/bash + +-SUBDIRS = user scripts documentation drbd ++SUBDIRS = user scripts drbd + + REL_VERSION := $(shell $(SED) -ne '/^\#define REL_VERSION/{s/^[^"]*"\([^ "]*\).*/\1/;p;q;}' drbd/linux/drbd_config.h) + ifdef FORCE diff --git a/package/drbd/patches/patch-drbd_Makefile b/package/drbd/patches/patch-drbd_Makefile new file mode 100644 index 000000000..809caca26 --- /dev/null +++ b/package/drbd/patches/patch-drbd_Makefile @@ -0,0 +1,11 @@ +--- drbd-8.3.8.1.orig/drbd/Makefile 2010-07-06 09:47:59.000000000 +0200 ++++ drbd-8.3.8.1/drbd/Makefile 2010-11-26 18:59:47.000000000 +0100 +@@ -132,7 +132,7 @@ else + echo -e "\treturn \"GIT-hash: $$GITHEAD$$GITDIFF\""; \ + fi ; \ + echo -e "\t\t\" build by $$USER@$$HOSTNAME, `date "+%F %T"`\";\n}"; \ +- mv --force $@.new $@ ++ mv -f $@.new $@ + + kbuild: drbd_buildtag.c + @rm -f .drbd_kernelrelease* diff --git a/package/drbd/patches/patch-drbd_drbd_buildtag_c b/package/drbd/patches/patch-drbd_drbd_buildtag_c new file mode 100644 index 000000000..7a8358ea7 --- /dev/null +++ b/package/drbd/patches/patch-drbd_drbd_buildtag_c @@ -0,0 +1,9 @@ +--- drbd-8.3.8.1.orig/drbd/drbd_buildtag.c 2010-07-09 10:19:05.000000000 +0200 ++++ drbd-8.3.8.1/drbd/drbd_buildtag.c 2010-11-26 18:59:58.000000000 +0100 +@@ -3,5 +3,5 @@ + const char *drbd_buildtag(void) + { + return "GIT-hash: 0d8589fcc32c874df57c930ca1691399b55ec893" +- " build by lars@soda, 2010-07-09 10:19:24"; ++ " build by wbx@neon.lan, 2010-11-26 18:59:58"; + } diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block index 3209dca1c..20e778314 100644 --- a/target/linux/config/Config.in.block +++ b/target/linux/config/Config.in.block @@ -47,6 +47,9 @@ config ADK_KERNEL_ATA config ADK_KERNEL_ATA_SFF boolean +config ADK_KERNEL_CONNECTOR + boolean + config ADK_KERNEL_ATA_PIIX boolean select ADK_KERNEL_BLOCK @@ -78,7 +81,7 @@ config ADK_KPACKAGE_KMOD_SATA_AHCI Enables support for AHCI Serial ATA. config ADK_KPACKAGE_KMOD_BLK_DEV_LOOP - prompt "kmod-loop......................... Loop mount support" + prompt "kmod-blk-dev-loop................. Loop mount support" tristate default n help @@ -118,7 +121,7 @@ config ADK_KPACKAGE_KMOD_BLK_DEV_LOOP device used for network connections from the machine to itself. config ADK_KPACKAGE_KMOD_BLK_DEV_NBD - prompt "kmod-nbd.......................... Network Block Device" + prompt "kmod-blk-dev-nbd.................. Network Block Device" tristate default n help @@ -241,7 +244,7 @@ config ADK_KPACKAGE_KMOD_BLK_DEV_DM Higher level volume managers such as LVM2 use this driver. config ADK_KPACKAGE_KMOD_DM_CRYPT - prompt "kmod-dm-crypt................... Crypt target support" + prompt "kmod-dm-crypt..................... Crypt target support" depends on !(ADK_KERNEL_DM_CRYPT || ADK_LINUX_CRIS_FOXBOARD) select ADK_KPACKAGE_KMOD_BLK_DEV_DM select ADK_KERNEL_MD @@ -259,7 +262,7 @@ config ADK_KPACKAGE_KMOD_DM_CRYPT config ADK_KPACKAGE_KMOD_DM_SNAPSHOT - prompt "kmod-dm-snapshot................ Snapshot target" + prompt "kmod-dm-snapshot.................. Snapshot target" select ADK_KPACKAGE_KMOD_BLK_DEV_DM depends on !ADK_LINUX_CRIS_FOXBOARD tristate @@ -267,7 +270,7 @@ config ADK_KPACKAGE_KMOD_DM_SNAPSHOT Allow volume managers to take writable snapshots of a device. config ADK_KPACKAGE_KMOD_DM_MIRROR - prompt "kmod-dm-mirror.................. Mirror target" + prompt "kmod-dm-mirror.................... Mirror target" select ADK_KPACKAGE_KMOD_BLK_DEV_DM depends on !ADK_LINUX_CRIS_FOXBOARD tristate @@ -275,4 +278,11 @@ config ADK_KPACKAGE_KMOD_DM_MIRROR Allow volume managers to mirror logical volumes, also needed for live data migration tools such as 'pvmove'. +config ADK_KPACKAGE_KMOD_BLK_DEV_DRBD + prompt "kmod-blk-dev-drbd................. DRBD support (Network RAID 1)" + tristate + select ADK_KERNEL_CONNECTOR + help + DRBD - http://www.drbd.org + endmenu -- cgit v1.2.3