2013-01-17, 15:26
Hello everybody, I am unable to install win7 to iscsi target, I manage to get to windows setup but
no drive is detected. I tried several approaches (on real machine and in virtualbox).
Notes:
I used info found on these links to get where I am now with regards to ipxe:
http://ipxe.org/howto/winpe
FAQ on this forum
http://etherboot.org/wiki/sanboot/win2k8_iscsi_install
Any help/suggestion would be appreciated ..
Cheers,
Dorijan
1. SAN only with iscsi target attached - this would be ideal, but it doesn't work for me
Screenshot 1 - ipxe happily boots with iscsi target attached and all seems fine
Screenshot 2 - windows boot cd dies with error
2. SAN with winpe - sanhook command, I guess it should work, I manage to get to setup but no drive offered for installation
Screenshot 3 - ipxe happily boots winpe
Screenshot 4 - winpe boot completed and pinging server with iscsi target
http://dorijan.com/ipxe/ss4.jpg
screenshot 5 - starting w7 setup
http://dorijan.com/ipxe/ss5.jpg
Screenshot 6 - no drive offered for installation
Screenshot 7 - got to console with SHIFT-F10 in w7 setup to confirm network works
3. SAN with winpe - sanboot command, same output as in example 2. (except ipxe part)
("patched" iscsi target on server with script "#!/bin/bash printf "\xCD\x18" | dd of=$1 conv=notrunc" as suggested in FAQ)
Screenshot 8 - ipxe happily boots winpe
http://dorijan.com/ipxe/ss8.jpg
After that same thing happens as in example 2.
Any ideas?
dhcpd.conf ipxe sections:
no drive is detected. I tried several approaches (on real machine and in virtualbox).
Notes:
- I am using isc-dhcp-server (ipxe config is on the bottom of this post), tftpd-hpa, apache2, ietd
- iscsi target is accessible and works fine (connected to it through normal w7 machine)
- tried all examples with both virtualbox and real machine
I used info found on these links to get where I am now with regards to ipxe:
http://ipxe.org/howto/winpe
FAQ on this forum
http://etherboot.org/wiki/sanboot/win2k8_iscsi_install
Any help/suggestion would be appreciated ..
Cheers,
Dorijan
1. SAN only with iscsi target attached - this would be ideal, but it doesn't work for me
Code:
#!ipxe
dhcp
set boot-url http://diskless.voyager.fast
set base-iqn iqn.2013-01.fast.voyager.kira:sedmica
set base-iscsi iscsi:192.168.200.128::::${base-iqn}
# Set initiator-iqn to either hostname or mac
isset ${hostname} && set initiator-iqn ${base-iqn}:${hostname} || set initiator-iqn ${base-iqn}:${mac}
set keep-san 1
set root-path ${base-iscsi}
sanhook --drive 0x80 ${root-path} || echo sanhook failed for ${root-path}
#Start Windows 7 installer DVD
sanboot --no-describe --drive 0x81 ${boot-url}/w7/w7.iso
Screenshot 1 - ipxe happily boots with iscsi target attached and all seems fine
Screenshot 2 - windows boot cd dies with error
2. SAN with winpe - sanhook command, I guess it should work, I manage to get to setup but no drive offered for installation
Code:
#!ipxe
dhcp
set boot-url http://diskless.voyager.fast
set base-iqn iqn.2013-01.fast.voyager.kira:sedmica
set base-iscsi iscsi:192.168.200.128::::${base-iqn}
# Set initiator-iqn to either hostname or mac
isset ${hostname} && set initiator-iqn ${base-iqn}:${hostname} || set initiator-iqn ${base-iqn}:${mac}
set keep-san 1
set root-path ${base-iscsi}
sanhook --drive 0x80 ${root-path} || echo sanhook failed for ${root-path}
cpuid --ext 29 && set arch amd64 || set arch x86
echo found ${arch}
kernel ${boot-url}/winpe/wimboot
initrd ${boot-url}/winpe/${arch}/ISO/bootmgr bootmgr
initrd ${boot-url}/winpe/${arch}/ISO/boot/bcd BCD
initrd ${boot-url}/winpe/${arch}/ISO/boot/boot.sdi boot.sdi
initrd ${boot-url}/winpe/${arch}/winpe.wim boot.wim
sleep 3
boot
Screenshot 3 - ipxe happily boots winpe
Screenshot 4 - winpe boot completed and pinging server with iscsi target
http://dorijan.com/ipxe/ss4.jpg
screenshot 5 - starting w7 setup
http://dorijan.com/ipxe/ss5.jpg
Screenshot 6 - no drive offered for installation
Screenshot 7 - got to console with SHIFT-F10 in w7 setup to confirm network works
3. SAN with winpe - sanboot command, same output as in example 2. (except ipxe part)
("patched" iscsi target on server with script "#!/bin/bash printf "\xCD\x18" | dd of=$1 conv=notrunc" as suggested in FAQ)
Code:
#!ipxe
dhcp
set boot-url http://diskless.voyager.fast
set base-iqn iqn.2013-01.fast.voyager.kira:sedmica
set base-iscsi iscsi:192.168.200.128::::${base-iqn}
# Set initiator-iqn to either hostname or mac
isset ${hostname} && set initiator-iqn ${base-iqn}:${hostname} || set initiator-iqn ${base-iqn}:${mac}
set keep-san 1
set root-path ${base-iscsi}
sanboot --drive 0x80 --keep ${root-path} || echo sanboot failed for ${root-path}
cpuid --ext 29 && set arch amd64 || set arch x86
echo found ${arch}
kernel ${boot-url}/winpe/wimboot
initrd ${boot-url}/winpe/${arch}/ISO/bootmgr bootmgr
initrd ${boot-url}/winpe/${arch}/ISO/boot/bcd BCD
initrd ${boot-url}/winpe/${arch}/ISO/boot/boot.sdi boot.sdi
initrd ${boot-url}/winpe/${arch}/winpe.wim boot.wim
sleep 3
boot
Screenshot 8 - ipxe happily boots winpe
http://dorijan.com/ipxe/ss8.jpg
After that same thing happens as in example 2.
Any ideas?
dhcpd.conf ipxe sections:
Code:
option space ipxe;
option ipxe-encap-opts code 175 = encapsulate ipxe;
option ipxe.priority code 1 = signed integer 8;
option ipxe.keep-san code 8 = unsigned integer 8;
option ipxe.skip-san-boot code 9 = unsigned integer 8;
option ipxe.syslogs code 85 = string;
option ipxe.cert code 91 = string;
option ipxe.privkey code 92 = string;
option ipxe.crosscert code 93 = string;
option ipxe.no-pxedhcp code 176 = unsigned integer 8;
option ipxe.bus-id code 177 = string;
option ipxe.bios-drive code 189 = unsigned integer 8;
option ipxe.username code 190 = string;
option ipxe.password code 191 = string;
option ipxe.reverse-username code 192 = string;
option ipxe.reverse-password code 193 = string;
option ipxe.version code 235 = string;
option iscsi-initiator-iqn code 203 = string;
# Feature indicators
option ipxe.pxeext code 16 = unsigned integer 8;
option ipxe.iscsi code 17 = unsigned integer 8;
option ipxe.aoe code 18 = unsigned integer 8;
option ipxe.http code 19 = unsigned integer 8;
option ipxe.https code 20 = unsigned integer 8;
option ipxe.tftp code 21 = unsigned integer 8;
option ipxe.ftp code 22 = unsigned integer 8;
option ipxe.dns code 23 = unsigned integer 8;
option ipxe.bzimage code 24 = unsigned integer 8;
option ipxe.multiboot code 25 = unsigned integer 8;
option ipxe.slam code 26 = unsigned integer 8;
option ipxe.srp code 27 = unsigned integer 8;
option ipxe.nbi code 32 = unsigned integer 8;
option ipxe.pxe code 33 = unsigned integer 8;
option ipxe.elf code 34 = unsigned integer 8;
option ipxe.comboot code 35 = unsigned integer 8;
option ipxe.efi code 36 = unsigned integer 8;
option ipxe.fcoe code 37 = unsigned integer 8;
option ipxe.no-pxedhcp 1;
host diskless {
hardware ethernet 08:00:27:BA:3B:E2; #virtualbox
fixed-address 192.168.200.11;
next-server 192.168.200.128; # tftp server
if exists user-class and option user-class = "iPXE" {
filename "http://diskless.voyager.fast/default.ipxe";
} else {
filename "undionly.kpxe";
}
}