Quellcode durchsuchen

add preliminary support for a new hardware profile for OVH.net iscsi server

- add open-iscsi package
- add a hardware profile for x86_64 target architecture
- add CPU support for x86/x86_64 targets for hardware profiles
Waldemar Brodkorb vor 14 Jahren
Ursprung
Commit
937473821b

+ 33 - 0
package/open-iscsi/Makefile

@@ -0,0 +1,33 @@
+# 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:=		open-iscsi
+PKG_VERSION:=		2.0
+PKG_EXTRAVER:=		871
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		0c403e8c9ad41607571ba0e6e8ff196e
+PKG_DESCR:=		iSCSI utilities
+PKG_SECTION:=		fs
+PKG_URL:=		http://www.open-iscsi.org/
+PKG_SITES:=		http://www.open-iscsi.org/bits/
+
+DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION)-$(PKG_EXTRAVER).tar.gz
+WRKDIST=		${WRKDIR}/${PKG_NAME}-${PKG_VERSION}-${PKG_EXTRAVER}
+
+include $(TOPDIR)/mk/package.mk
+
+ALL_TARGET:=		user
+INSTALL_TARGET:=	install_user
+
+$(eval $(call PKG_template,OPEN_ISCSI,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIG_STYLE:=		manual
+
+do-install:
+	$(INSTALL_DIR) $(IDIR_OPEN_ISCSI)/sbin $(IDIR_OPEN_ISCSI)/etc/iscsi
+	$(INSTALL_BIN) $(WRKINST)/sbin/* $(IDIR_OPEN_ISCSI)/sbin
+	$(CP) $(WRKINST)/etc/iscsi/* $(IDIR_OPEN_ISCSI)/etc/iscsi
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 19 - 0
package/open-iscsi/patches/patch-usr_Makefile

@@ -0,0 +1,19 @@
+--- open-iscsi-2.0-871.orig/usr/Makefile	2009-07-11 05:55:58.000000000 +0200
++++ open-iscsi-2.0-871/usr/Makefile	2010-11-22 23:23:09.000000000 +0100
+@@ -1,6 +1,6 @@
+ # This Makefile will work only with GNU make.
+ 
+-OSNAME=$(shell uname -s)
++OSNAME=Linux
+ 
+ # allow users to override these
+ # eg to compile for a kernel that you aren't currently running
+@@ -55,7 +55,7 @@ iscsiadm: $(COMMON_SRCS) $(FW_BOOT_SRCS)
+ 
+ iscsistart: $(IPC_OBJ) $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(FW_BOOT_SRCS) \
+ 		iscsistart.o statics.o
+-	$(CC) $(CFLAGS) -static $^ -o $@
++	$(CC) $(CFLAGS) $^ -o $@
+ clean:
+ 	rm -f *.o $(PROGRAMS) .depend $(LIBSYS)
+ 

+ 10 - 0
package/open-iscsi/patches/patch-usr_iscsi_sysfs_c

@@ -0,0 +1,10 @@
+--- open-iscsi-2.0-871.orig/usr/iscsi_sysfs.c	2009-07-11 05:55:58.000000000 +0200
++++ open-iscsi-2.0-871/usr/iscsi_sysfs.c	2010-11-22 23:16:35.000000000 +0100
+@@ -22,6 +22,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <dirent.h>
++#include <sys/stat.h>
+ 
+ #include "log.h"
+ #include "initiator.h"

+ 17 - 0
package/open-iscsi/patches/patch-usr_log_h

@@ -0,0 +1,17 @@
+--- open-iscsi-2.0-871.orig/usr/log.h	2009-07-11 05:55:58.000000000 +0200
++++ open-iscsi-2.0-871/usr/log.h	2010-11-22 22:45:22.000000000 +0100
+@@ -28,14 +28,12 @@
+ 
+ #include "iscsid.h"
+ 
+-#if defined(Linux)
+ union semun {
+ 	int val;
+ 	struct semid_ds *buf;
+ 	unsigned short int *array;
+ 	struct seminfo *__buf;
+ };
+-#endif
+ #include <sys/sem.h>
+ 
+ #define DEFAULT_AREA_SIZE 16384

+ 35 - 0
package/open-iscsi/patches/patch-usr_mgmt_ipc_c

@@ -0,0 +1,35 @@
+--- open-iscsi-2.0-871.orig/usr/mgmt_ipc.c	2009-07-11 05:55:58.000000000 +0200
++++ open-iscsi-2.0-871/usr/mgmt_ipc.c	2010-11-22 22:47:25.000000000 +0100
+@@ -341,31 +341,7 @@ mgmt_ipc_notify_del_portal(queue_task_t 
+ static int
+ mgmt_peeruser(int sock, char *user)
+ {
+-#if defined(SO_PEERCRED)
+-	/* Linux style: use getsockopt(SO_PEERCRED) */
+-	struct ucred peercred;
+-	socklen_t so_len = sizeof(peercred);
+-	struct passwd *pass;
+-
+-	errno = 0;
+-	if (getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &peercred,
+-		&so_len) != 0 || so_len != sizeof(peercred)) {
+-		/* We didn't get a valid credentials struct. */
+-		log_error("peeruser_unux: error receiving credentials: %m");
+-		return 0;
+-	}
+-
+-	pass = getpwuid(peercred.uid);
+-	if (pass == NULL) {
+-		log_error("peeruser_unix: unknown local user with uid %d",
+-				(int) peercred.uid);
+-		return 0;
+-	}
+-
+-	strlcpy(user, pass->pw_name, PEERUSER_MAX);
+-	return 1;
+-
+-#elif defined(SCM_CREDS)
++#if defined(SCM_CREDS)
+ 	struct msghdr msg;
+ 	typedef struct cmsgcred Cred;
+ #define cruid cmcred_uid

+ 1 - 0
target/Config.in.x86

@@ -14,6 +14,7 @@ config ADK_HARDWARE_IBMX40
 	bool "IBM X40 laptop"
 	select ADK_ibmx40
 	select ADK_CPU_PENTIUM_M
+	select ADK_KERNEL_MPENTIUMM
 	select ADK_TARGET_WITH_USB
 	select ADK_TARGET_WITH_PCI
 	select ADK_TARGET_WITH_VGA

+ 8 - 3
target/Config.in.x86_64

@@ -9,6 +9,14 @@ config ADK_HARDWARE_GENERIC_X86_64
 	help
 	  Generic x86_64/amd64 system.
 
+config ADK_HARDWARE_OVH_RPS
+	bool "RPS iSCSI server from OVH"
+	select ADK_ovh_rps
+	select ADK_KERNEL_MATOM
+	select ADK_TARGET_WITH_PCI
+	select ADK_KERNEL_SCSI
+	select ADK_KERNEL_ISCSI_TCP
+
 config ADK_HARDWARE_SHUTTLE
 	bool "Shuttle PC"
 	select ADK_shuttle
@@ -21,9 +29,6 @@ config ADK_HARDWARE_SHUTTLE
 	select ADK_TARGET_WITH_PP
 	select ADK_KERNEL_INPUT_KEYBOARD
 	select ADK_KERNEL_SCSI
-	select ADK_KERNEL_NETDEVICES
-	select ADK_KERNEL_NET_PCI
-	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_SATA_AHCI
 	select ADK_KERNEL_BLK_DEV_SD
 	select ADK_KERNEL_BLK_DEV_MD

+ 1 - 0
target/linux/Config.in

@@ -1,3 +1,4 @@
+source target/linux/config/Config.in.cpu
 source target/linux/config/Config.in.block
 source target/linux/config/Config.in.fs
 source target/linux/config/Config.in.netdevice

+ 3 - 0
target/linux/config/Config.in.block

@@ -30,6 +30,9 @@ config ADK_KERNEL_SCSI
 config ADK_KERNEL_BLK_DEV_SD
 	boolean
 
+config ADK_KERNEL_ISCSI_TCP
+	boolean
+
 config ADK_KERNEL_DM_CRYPT
 	boolean
 

+ 5 - 0
target/linux/config/Config.in.cpu

@@ -0,0 +1,5 @@
+config ADK_KERNEL_MATOM
+	boolean
+
+config ADK_KERNEL_MPENTIUMM
+	boolean

+ 2 - 1
target/linux/config/Config.in.netdevice

@@ -100,11 +100,12 @@ config ADK_KPACKAGE_KMOD_SKY2
 	help
 
 config ADK_KPACKAGE_KMOD_R8169
-	prompt "kmod-net-r8169................. RTL8169 driver"
+	prompt "kmod-net-r8169................ RTL8169 driver"
 	tristate
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NETDEV_1000
+	default y if ADK_HARDWARE_OVH_RPS
 	default n
 	help