UNDER CONSTRUCTION

UEFI iSCSI Boot

Temporary notes

CARD: https://cards.linaro.org/browse/CARD-1239

PXE network boot on UEFI: https://wiki.linaro.org/LEG/Engineering/Kernel/UEFI/UEFI_Network_Booting

UEFI Specification:

  • - 15. Protocols - iSCSI Boot
    - 21.6. DHCP options for iSCSI on IPv6

Target setup

MMC image

Download image and hwpack:

$ wget https://releases.linaro.org/13.10/ubuntu/raring-images/nano/linaro-raring-nano-20131021-529.tar.gz
$ wget

Create MMC image using next script:

image=linaro-raring-nano-20131007-516.tar.gz
hwpack=hwpack_linaro-vexpress_20131007-486_armhf_supported.tar.gz
board=vexpress
lmc=linaro-media-create
out=linaro.img
rootfs=ext4
image_size=2000M
parttable=gpt

$lmc                                            \
        --binary $image                         \
        --hwpack $hwpack                        \
        --dev $board                            \
        --rootfs $rootfs                        \
        --image-file $out                       \
        --image_size $image_size                \
        --part-table $parttable

/sbin/parted $out 'print all'

iSCSI configuration

iSCSI target is a server, i.e. it's a place where boot files will be downloaded from. In our case, it's PC machine where MMC image is stored and iSCSI server is running.

Install dependencies:

$ sudo aptitude install iscsitarget

Enable "iscsitarget" by default:

edit next option in "/etc/default/iscsitarget" file:

ISCSITARGET_ENABLE=true

Add next lines to "/etc/iet/ietd.conf" file:

Target iqn.2014-09.com.example:joe-iscsi-server
        IncomingUser joe 111111111111
        OutgoingUser
        Lun 0 Path=/home/joe/work/linaro/images/iscsi.img,Type=fileio
        Alias joe-iscsi-server

Explanation:

iqn.2014-09.com.example:joe-iscsi-server

Target name

2014-09

Date at which domain is valid

IncomingUser

Credentials the initiator has to provide (user and password)

OutgoingUser

User/pass combination the target will provide

Lun

Logical unit definition (block device/image file/RAID/LVM)

Alias

Alias name for this target

In "/etc/iet/initiators.allow" comment out all the text and add next line:

iqn.2014-09.com.example:joe-iscsi-server 192.168.0.0/24

Explanation:

iqn.2014-09.com.example:joe-iscsi-server

Target name

192.168.0.0/24

IP-addresses list of initiators which can connect to iSCSI target (server)

Start iSCSI target service:

$ sudo service iscsitarget restart

[1] http://www.heath-bar.com/blog/?p=184

[2] http://www.howtoforge.com/using-iscsi-on-ubuntu-10.04-initiator-and-target

[3] http://etherboot.org/wiki/sanboot/debian_lenny_iscsi

[4] https://wiki.archlinux.org/index.php/ISCSI_Boot

LEG/ServerArchitecture/UEFI/uefi-iscsi-boot (last modified 2017-08-17 12:12:43)