iSCSI Intitator auf 7390 ( fast fertig )

Zuallerersteinmal:
Fettes THXS für Deine Mühen, mich da durchzufummel...
HAMMERHART NETT.

Code:
iscsi_sysfs.c: In function 'iscsi_sysfs_get_sid_from_path':
iscsi_sysfs.c:605: error: storage size of 'statb' isn't known
iscsi_sysfs.c: Ind solangsamn function 'iscsi_sysfs_get_blockdev_from_lun':
iscsi_sysfs.c:832: error: storage size of 'statbuf' isn't known
make[2]: *** [iscsi_sysfs.o] Fehler 1
make[2]: *** Warte auf noch nicht beendete Prozesse...

Code:
storage size of 'statb' isn't known
Lass mich raten, das Storage size kann man auch definieren...
Hoffe, anderen hilft es beim Packagebau. Um was ins Wiki zu tippen, schnall ich noch zu wenig.
 
Zuletzt bearbeitet:
Noch mehr von der gleichen Sorte? Bist Du sicher, daß das für Linux gedacht ist?
Das gleiche wie immer: Definition suchen und dafür sorgen, daß sie an der Stelle auch verfügbar ist.
 
ja, ist für Linux gedacht.
-DNETLINK_ISCSI=8
Eventuell? Hat ich beim make auf x86 im configure gesehen...
Ich versuchs morgen mal.
 
Ich kenne das Programm nicht. Es kann sein, daß diese Definition notwendig oder nützlich ist. Ich vermute aber nicht, daß es das Problem in Beitrag #21 behebt.

Allgemein gesprochen, kann und muß man die Speicher-Größe (storage size) einer Struktur definieren. Das passiert aber nicht über Optionen in den CFLAGS.

Im Beispiel oben war "-DLinux" nur deswegen hilfreich, weil dort dieser Abschnitt stand:
Code:
#if defined([B]Linux[/B])
union semun {
	int val;
	struct semid_ds *buf;
	unsigned short int *array;
	struct seminfo *__buf;
};
#endif
Durch die Definition des Symbols "Linux" werden die Zeilen zwischen "#if" und "#endif" aktiviert. Diese Zeilen sind es, mit denen "union semun", und somit indirekt auch die Größe davon, definiert wird.

Die Frage zu den obigen Meldungen ist also:
- Was genau steht in den genannten Zeilen?
- Wie werden die genannten Variablen definiert, was fehlt?
- Was muß man tun, um die fehlenden Teile zu bekommen?

Wenn das Programm tatsächlich für Linux gedacht ist, sollten alle diese Fehler erst gar nicht kommen. Vielleicht ist das Programm auch nicht auf Cross-Compilieren ausgelegt.
 
GANZ, GANZ vielen DANK!!!
Die Patchdatei ist der ausschlaggebende Punkt?
Das compiled sauber durch. Werd mal damit versuchen, zu spielen...
 
Zuletzt bearbeitet:
Hab mal die 3 binary's gebaut.
Iscsistart zeigt.
Code:
iscsistart: Missing or Invalid version from /sys/module/scsi_transport_iscsi/version. Make sure a up to date scsi_transport_iscsi module is loaded and a up todate version of iscsid is running. Exiting...
Nen Versuch eines Discovers:
Code:
iscsiadm -m discovery -t st -p 192.168.0.25
iscsiadm: can not connect to iSCSI daemon (146)!
iscsiadm: Could not scan /sys/class/iscsi_transport.
iscsiadm: Could not scan /sys/class/iscsi_transport.
iscsiadm: Cannot perform discovery. Initiatorname required.
iscsiadm: Discovery process to 192.168.0.25:3260 failed to create a discovery session.
iscsiadm: Could not perform SendTargets discovery.

Habe leider atm Labor-Preview auf der Box, die per kernel-menuconfig "händisch" gebauten Module libiscsi.ko, iscsi_tcp sowie scsi_trnasport_iscsi.ko bauen zwar, laufen aber auf der Labor nicht

Vielleicht versucht es ja mal jemand auf ner aktuellen Release-Firmware???
Erst die Module laden... dann den iscsid zum laufen überreden...

Ach ja, 7270 only wegen kernel 2.6.19.2
 

Anhänge

  • open-iscsi-initiator.tar
    1 MB · Aufrufe: 8
  • openiscsi_module.tar
    340 KB · Aufrufe: 6
Zuletzt bearbeitet:
Bischen weiter bin ich.
Code:
root@fritz:/var/mod/root# cd /lib/modules/2.6.19.2/kernel/drivers/scsi/
root@fritz:/lib/modules/2.6.19.2/kernel/drivers/scsi# ls
iscsi_tcp.ko             scsi_transport_iscsi.ko  sr_mod.ko
libiscsi.ko              sd_mod.ko
scsi_mod.ko              sg.ko
root@fritz:/lib/modules/2.6.19.2/kernel/drivers/scsi# insmod scsi_transport_iscs
i.ko 
root@fritz:/lib/modules/2.6.19.2/kernel/drivers/scsi# insmod libiscsi.ko 
root@fritz:/lib/modules/2.6.19.2/kernel/drivers/scsi# insmod iscsi_tcp.ko 
root@fritz:/lib/modules/2.6.19.2/kernel/drivers/scsi# iscsid
root@fritz:/lib/modules/2.6.19.2/kernel/drivers/scsi# iscsiadm -m discovery -t st -p 192.168.0.23
iscsiadm: config file line 1 has not '=' sepa
192.168.0.23:3260,1 iqn.2010-11.box.fritz.byteeater-ThinkPad-T60:storage.lun1
root@fritz:/lib/modules/2.6.19.2/kernel/drivers/scsi# iscsiadm --mode node -- targetname iqn.2010-11.box.fritz.byteeater-ThinkPad-T60:storage.lun1 --portal 192.168.0.23:3260 --login
Logging in to [iface: default, target: iqn.2010-11.box.fritz.byteeater-ThinkPad-T60:storage.lun1, portal: 192.168.0.24,3260]
Login to [iface: default, target: iqn.2010-11.box.fritz.byeeater-ThinkPad-T60:storage.lun1, portal: 192.168.0.24,3260]: successful
Aber dmesg erzählt mir (noch nix) von ner neuen hdd...
 
Zuletzt bearbeitet:
Das Thema ist für mich immer noch offen... ;)
Damit das von Ralf gebaute Package beim make mit "angefasst" wurde, musste darin noch irgendwas geändert werden. Nur find ich das heute nicht mehr, was das war ...
Es wird auch immer ( wenn der make läuft ) nur 1 binary und nicht alle 3 benötigten gebaut )
Kann da einer von den Geeks nochmal raufsehen und eventuell weiterhelfen???

+ make/Config.in
Code:
menu "Testing"
source make/open-iscsi/Config.in
 
Zuletzt bearbeitet:
Nen Stück weiter... :) 7390 22ziger fw ..
+ kernel/Config.in.modules
Code:
config FREETZ_MODULE_crc32c
	bool "crc32c.ko"
	select FREETZ_MODULE_libcrc32c
	default n

config FREETZ_MODULE_libcrc32c
	bool "libcrcr32c.ko
	default n

config FREETZ_MODULE_libiscsi
	bool "libiscsi.ko"
	default n

config FREETZ_MODULE_iscsi_tcp
	bool "iscsi_tcp.ko"
	default n

config FREETZ_MODULE_scsi_transport_iscsi
	bool "scsi_transport_iscsi.ko"
	default n

Code:
lsmod
Module                  Size  Used by    Tainted: P  
iscsi_tcp              16912  1 
libiscsi               28256  1 iscsi_tcp
scsi_transport_iscsi    25680  3 iscsi_tcp,libiscsi
scsi_mod               97360  3 iscsi_tcp,libiscsi,scsi_transport_iscsi
crc32c                  2304  2 
libcrc32c               1888  1 crc32c

Es wird immer nur 1 binary gebaut

Code:
cat open-iscsi.mk 
$(call PKG_INIT_BIN,2.0-871)
$(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz
$(PKG)_SITE:=http://www.open-iscsi.org/bits/
$(PKG)_BINARY := $($(PKG)_DIR)/usr/iscsid
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/iscsiadm

#$($(PKG)_DIR)/usr/iscsid
#$($(PKG)_DIR)/usr/iscsiadm
#$($(PKG)_DIR)/usr/iscsistart


$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_NOP)

$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
	$(SUBMAKE1) -C $(OPEN_ISCSI_DIR) \
		CC="$(TARGET_CC)" \
		CFLAGS="$(TARGET_CFLAGS)" \
		LDFLAGS="$(TARGET_LDFLAGS)" user

$($(PKG)_TARGET_BINARY): $($(PKG)_BINARY)
	$(INSTALL_BINARY_STRIP)

$(pkg):

$(pkg)-precompiled: $($(PKG)_TARGET_BINARY)

$(pkg)-clean:
	-$(SUBMAKE) -C $(OPEN-ISCSI_DIR) clean

$(pkg)-uninstall:
	$(RM) $(OPEN-SCSI_TARGET_BINARY)

$(PKG_FINISH)

das, was hier steht:

Code:
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/iscsiadm

Ändere ich in iscsid oder iscsistart, bau er das jeweilige. Wie werden alle 3 gebaut?

mini-fo hab ich drinn incl jffs2 support. dann:


Code:
mkdir /etc/iscsi
chmod 0777 /etc/iscsi

in /etc/iscsi/

Code:
cat initiatorname.iscsi 
InitiatorName=iqn.1994-05.com.7390:avm

dirty, aber funktioniert erstmal

Code:
iscsid
iscsiadm -m discovery -t st -p 192.168.10.100:3260
192.168.10.100:3260,1 iqn.2004-04.com.qnap:ts-219pii:iscsi.qnap.c33caf
iscsiadm -m node --targetname iqn.2004-04.com.qnap:ts-219pii:iscsi.qnap.c33caf --portal "192.168.10.10
0:3260" --login
Logging in to [iface: default, target: iqn.2004-04.com.qnap:ts-219pii:iscsi.qnap.c33caf, portal: 192.168.10.100,3260]
Login to [iface: default, target: iqn.2004-04.com.qnap:ts-219pii:iscsi.qnap.c33caf, portal: 192.168.10.100,3260]: successful


dmesg:

Loading iSCSI transport class v2.0-870.
iscsi: registered transport (tcp)
scsi0 : iSCSI Initiator over TCP/IP
scsi 0:0:0:0: Direct-Access     QNAP     iSCSI Storage    3.1  PQ: 0 ANSI: 5

nu mal sehen, wie ich das gemouted bekomme!
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.