Просмотр исходного кода

add preliminary DRBD support for OpenADK

Waldemar Brodkorb 13 лет назад
Родитель
Сommit
75f4a97302

+ 5 - 0
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))

+ 32 - 0
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

+ 11 - 0
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

+ 11 - 0
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*

+ 9 - 0
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";
+ }

+ 15 - 5
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
 	  <http://www.saout.de/misc/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