Opened 15 years ago
Closed 14 years ago
#5319 closed enhancement (fixed)
Add iSCSI boot support
Reported by: | andreasf | Owned by: | andreasf |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | System/Boot Loader | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | #5240 | Blocking: | |
Platform: | All |
Description
iSCSI is a TCP-based protocol for accessing Network Attached Storage.
On a Solaris host for instance, a disk image can be set up as iSCSI target by a one-liner:
iscsitadm create target --backing-store path/to/generated/haiku.image haiku-ppc
Discovery sessions allow to list all targets served by a host, such as the TFTP server.
In normal sessions, regular SCSI commands are used to transfer data.
Attachments (2)
Change History (7)
by , 15 years ago
Attachment: | ip_parse_address.diff added |
---|
comment:1 by , 15 years ago
The attached patch moves my parse_ip_address
function around, so that it can be used for iSCSI, beyond Open Firmware.
Please apply this part.
comment:2 by , 15 years ago
Code is Big Endian only for now.
Discovery is implemented, attempting to connect to each IPv4 TargetAddress
, ignoring setups with multiple Target Portal Groups for now.
Basic session login and logout is implemented. The volume size is apparently read correctly.
Reading actual data is not yet working. There is an unexpected (stray?) SCSI response of type CHECK CONDITION
.
Add
ing the discovered disk Node
to the NodeList
didn't work from inside the iSCSI code, so I needed to add a callback for it to link. This may be connected to _BOOT_MODE
not being defined for the boot_net
library, leading to an undefined reference dprintf_no_syslog
.
comment:3 by , 15 years ago
ip_parse_address() patch applied in hrev35522, thanks, and sorry for the long delay!
comment:4 by , 14 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:5 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
patch