summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-11-23 17:12:14 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-11-23 17:12:14 +0100
commit937473821b259ed94969e62daa2ec60f5f2a9ffc (patch)
treee65a8238d6a68bc6aea4717a683a6b882143e957
parent28adc48e65f44c7be5a007568ffaf7cf12df2833 (diff)
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
-rw-r--r--package/open-iscsi/Makefile33
-rw-r--r--package/open-iscsi/patches/patch-usr_Makefile19
-rw-r--r--package/open-iscsi/patches/patch-usr_iscsi_sysfs_c10
-rw-r--r--package/open-iscsi/patches/patch-usr_log_h17
-rw-r--r--package/open-iscsi/patches/patch-usr_mgmt_ipc_c35
-rw-r--r--target/Config.in.x861
-rw-r--r--target/Config.in.x86_6411
-rw-r--r--target/linux/Config.in1
-rw-r--r--target/linux/config/Config.in.block3
-rw-r--r--target/linux/config/Config.in.cpu5
-rw-r--r--target/linux/config/Config.in.netdevice3
11 files changed, 134 insertions, 4 deletions
diff --git a/package/open-iscsi/Makefile b/package/open-iscsi/Makefile
new file mode 100644
index 000000000..0194c1d3a
--- /dev/null
+++ b/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
diff --git a/package/open-iscsi/patches/patch-usr_Makefile b/package/open-iscsi/patches/patch-usr_Makefile
new file mode 100644
index 000000000..af7106fd8
--- /dev/null
+++ b/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)
+
diff --git a/package/open-iscsi/patches/patch-usr_iscsi_sysfs_c b/package/open-iscsi/patches/patch-usr_iscsi_sysfs_c
new file mode 100644
index 000000000..42f5d0330
--- /dev/null
+++ b/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"
diff --git a/package/open-iscsi/patches/patch-usr_log_h b/package/open-iscsi/patches/patch-usr_log_h
new file mode 100644
index 000000000..f4a5f9431
--- /dev/null
+++ b/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
diff --git a/package/open-iscsi/patches/patch-usr_mgmt_ipc_c b/package/open-iscsi/patches/patch-usr_mgmt_ipc_c
new file mode 100644
index 000000000..bc29bd21b
--- /dev/null
+++ b/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
diff --git a/target/Config.in.x86 b/target/Config.in.x86
index 8230e68c4..fd461cb7d 100644
--- a/target/Config.in.x86
+++ b/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
diff --git a/target/Config.in.x86_64 b/target/Config.in.x86_64
index d88ebe785..1a7dac302 100644
--- a/target/Config.in.x86_64
+++ b/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
diff --git a/target/linux/Config.in b/target/linux/Config.in
index 2d7157885..65fc7fbbb 100644
--- a/target/linux/Config.in
+++ b/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
diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block
index ac8267663..766684f16 100644
--- a/target/linux/config/Config.in.block
+++ b/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
diff --git a/target/linux/config/Config.in.cpu b/target/linux/config/Config.in.cpu
new file mode 100644
index 000000000..f34cb5238
--- /dev/null
+++ b/target/linux/config/Config.in.cpu
@@ -0,0 +1,5 @@
+config ADK_KERNEL_MATOM
+ boolean
+
+config ADK_KERNEL_MPENTIUMM
+ boolean
diff --git a/target/linux/config/Config.in.netdevice b/target/linux/config/Config.in.netdevice
index 1492ebd5b..0836e224d 100644
--- a/target/linux/config/Config.in.netdevice
+++ b/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