boot over iscsi
#1
Posted 10 May 2009 - 04:54 PM
I am new to this forum as a registered user.
For sometime did I want to boot diskless computers.
I happily used BartPE over the network for quite sometimes but this remains an ISO not a production O.S.
I also used ISCSI to mount remote drives but never booted yet directly using that technology.
I use boot on san thru fiber at work but this is not something one can easily setup at home or for developement purposes.
Therefore I decided to write a quick howto where you can learn how to boot on san using ISCSI, a PXE server and gPXE software.
Note that, because I am a windows user (not linux) and because I could not find a proper PXE server (there might be one out there), I wrote my own PXE server.
I have sucessfully booted on SAN the following O.S : XP, Win2003 and Win2008, XP Embedded.
Here a howto : http://erwan.labalec.fr/iscsi/
Plus, I could use the generated disk image files in VmWare and QEMU which gave me even more flexibility (this emulator part could be another tutorial).
This is my first post to that community, be kind
I'll try to answer questions as best as I can.
Regards,
Erwan.
#2
Posted 10 May 2009 - 05:53 PM
This is my first post to that community, be kind
I'll try to answer questions as best as I can.
Well, you cannot expect to change our evil nature only because you are new!
Older members that are regularly , and even won't accept this.
Some questions, just to warm you up, before the "real thing" begins :
- is this possible with the freeware version of Starwind?:
http://www.rocketdiv...d_starwind.html - where is your "own PXE Server"?
( I guess that it is part of these: http://erwan.l.free.fr/body.html but couldn't find a link in the Tutorial ) - is it freeware/Open Source or what?
- there are "broken" links in your tutorial:
http://etherboot.org...oot/winxp_iscsi
jaclaz
#3
Posted 10 May 2009 - 06:30 PM
"is this possible with the freeware version of Starwind?:"
Yes, this is my favorite.
Will work in limited (but plenty enough i.e only one simultaneous connection) mode after the trial period.
"where is your "own PXE Server"?"
I'll update my tutorial.
PXE server is there : http://reboot.pro/to...tiny-pxe-server .
"there are "broken" links in your tutorial:"
I have corrected the broken link.
gPXE is open source.
Starwind is commercial/trial software.
IpTools is freeware, not yet opensource.
Thanks,
Erwan.
#4
Posted 10 May 2009 - 07:14 PM
Now some general questions.
I never understood properly the terms used in iSCSI stuff.
On anything "normal" there is a Server Side and a Client side.
So, your PXE thingy is a Server and the other machine nic/sanboot is the Client. right?
When it comes to iScsi, starwind is a "Target" (which should mean "Server")? (and iScsi "Initiator" means "Client")?
Can we use this on Server 2003?: (since it is Freeware):
http://www.nimbusdat...ducts/mysan.php
Isn't there anything "really" freeware for XP?
jaclaz
#5
Posted 10 May 2009 - 07:27 PM
-on one side you have a server acting as a iscsi target (=server) and also as a PXE server (=dhcp+tftp+gPXE)
-on the other side you have a diskless client computer booting windows (=iscsi initiator)
ISCSI is SCSI over IP (http://en.wikipedia.org/wiki/ISCSI).
The initiator see the device as if it was truly a local scsi device (you can format it, boot it, make raid out of it, etc...).
To my knowledge, nimbus is the only real freeware on windows.
Starwind after the trial is limited (but enough for home usage).
On linux you have plenty (openfiler, freenas, and any linux distro).
I believe nimbus was limiting me somehow (checking right now).
Regards,
Erwan.
edit : I checked mysan nimbus software.
It can "only" share existing (logical) drives which does not fit my purpose : I want to install and boot windows to an image file which I can carry wherever I want (to vmware, qemu, another iscsi target, etc).
PS: I have updated my tutorial with all you remarks and have added other URL's to complete the article.
Thanks for your remarks.
#6
Posted 10 May 2009 - 10:56 PM
Wow - this is great ! Thanks a lot for posting this.
I just managed to boot a ramloading BartPE via iSCSI.
Now I need to learn how to automount the iscsi-disk in BartPE as well ...
In VMware I could use the "vlance" and the "e1000" with the gpxe-git-gpxe.pxe boot-rom
I'm still trying to find the right one for my notebook with a broadcom.
Thanks again
Ulli
some screenshots from my working config
#7
Posted 11 May 2009 - 06:10 AM
Wow - this is great ! Thanks a lot for posting this.
I just managed to boot a ramloading BartPE via iSCSI.
Now I need to learn how to automount the iscsi-disk in BartPE as well ...
In VMware I could use the "vlance" and the "e1000" with the gpxe-git-gpxe.pxe boot-rom
I'm still trying to find the right one for my notebook with a broadcom.
Thanks again
Ulli
some screenshots from my working config
Hi Ulli,
Thanks for the feedback !
I never thought about booting BartPE this way
About your laptop, this loader : gpxe-git-undi.pxe, should work for all nic's (does for me in vmware and also and my lenovo laptop).
If not, you need to generate a rom mathching your nic pci id.
Regards,
Erwan.
PS:your pxe boot image seems big (480 blocks) compared to my undi pxe boot image (108 blocks).
#8
Posted 11 May 2009 - 11:32 AM
Now I just managed to boot a VM with the undi-boot-rom.
But I still do not find a working boot-rom for the notebook.
Maybe you have a suggestion ?
devcon list this HWIDS
PCI\VEN_104C&DEV_803D&SUBSYS_309F103C&REV_00\4&2EC23395&0&34F0 Name: PCI Simple Communications Controller Hardware ID's: PCI\VEN_104C&DEV_803D&SUBSYS_309F103C&REV_00 PCI\VEN_104C&DEV_803D&SUBSYS_309F103C PCI\VEN_104C&DEV_803D&CC_078000 PCI\VEN_104C&DEV_803D&CC_0780 Compatible ID's: PCI\VEN_104C&DEV_803D&REV_00 PCI\VEN_104C&DEV_803D PCI\VEN_104C&CC_078000 PCI\VEN_104C&CC_0780 PCI\VEN_104C PCI\CC_078000 PCI\CC_0780 PCI\VEN_14E4&DEV_16FD&SUBSYS_309F103C&REV_21\4&BF41672&0&00E0 Name: Broadcom NetXtreme Gigabit Ethernet Hardware ID's: PCI\VEN_14E4&DEV_16FD&SUBSYS_309F103C&REV_21 PCI\VEN_14E4&DEV_16FD&SUBSYS_309F103C PCI\VEN_14E4&DEV_16FD&CC_020000 PCI\VEN_14E4&DEV_16FD&CC_0200 Compatible ID's: PCI\VEN_14E4&DEV_16FD&REV_21 PCI\VEN_14E4&DEV_16FD PCI\VEN_14E4&CC_020000 PCI\VEN_14E4&CC_0200 PCI\VEN_14E4 PCI\CC_020000 PCI\CC_0200
Did you ever try to mount a remote iscsi-disk at early boot-time of BartPE ?
Thank you
Ulli
#9
Posted 11 May 2009 - 12:11 PM
may a mail to the dev guys?
but the site says "If you are making any other
kind of image, you only need to match the family (family:rom_name)
part of the identifier. "
so any 14E4:xxxx could do it.
look at b44 nics or tg3 nics.
About iscsi, i use the microsoft iscsi initiator (free).
When I mount a device, i believe it will survive a reboot.
If you meen boot on iscsi, then you need the iscsi initiator boot (free)version.
Regards,
Erwan.
#10
Posted 11 May 2009 - 12:49 PM
Hmm - is that the corresponding error message if the boot-rom does not fit the nic ?
No more network devices
Ulli
#11
Posted 11 May 2009 - 02:02 PM
edit : I checked mysan nimbus software.
It can "only" share existing (logical) drives which does not fit my purpose : I want to install and boot windows to an image file which I can carry wherever I want (to vmware, qemu, another iscsi target, etc).
And what if we use VDK or IMDISK or the MS mounting software:
http://www.boot-land...?...ic=6492&hl=
to create a "virtual" logical disk to feed the nimbus?
jaclaz
#12
Posted 11 May 2009 - 02:39 PM
Jaclaz - the imagefiles used and created by the starwind server can be easily used with vdk.
You just need to write a descriptor for the image-file.
Have you seen the link I posted - there is an example - works like a charm.
Byt he way - anyone ever played with icake ?
#13
Posted 11 May 2009 - 03:48 PM
uhm, i get this message also at the very end of my boot sequence in gpxe during my testings so i am not sure it means a network error as my tests were successful anyway.Thanks for the tip - I had already tried most of the b44 and bnx2 and will now walk through the long list of tg3-boot-roms - the first few didn't work either.
Hmm - is that the corresponding error message if the boot-rom does not fit the nic ?
Ulli
press ctrl b in gpxe.
type dhcp net0 to see if the network layer works fine.
/erwan
#14
Posted 11 May 2009 - 03:51 PM
good idea actuallyAnd what if we use VDK or IMDISK or the MS mounting software:
http://www.boot-land...?...ic=6492&hl=
to create a "virtual" logical disk to feed the nimbus?
jaclaz
i know that imdisk creates a logical disk not physical so i am not sure how nimbus will like it.
have to try with vdk.
/erwan
#15
Posted 11 May 2009 - 03:55 PM
Nimbus Mysan only works with XP-sp2 and 2k3-sp1 - so I could not test it.
Jaclaz - the imagefiles used and created by the starwind server can be easily used with vdk.
You just need to write a descriptor for the image-file.
Have you seen the link I posted - there is an example - works like a charm.
Byt he way - anyone ever played with icake ?
i tried icake : powerful software but not free
vdk will mount an img if indeed you make a descriptor (vmdk).
i do my descriptors with clonedisk (link in my howto) but will check your link!
filedisk (freeware) can also create drive (dont know if physical or logical thus).
#16
Posted 11 May 2009 - 04:07 PM
I tried as you said CTRL + B and entered: dhcp net0
it says something like : no such network : net0
The tool I use to create a descriptor for the img file is home-made - I use it to recreate lost descriptorfiles when i only have the *-flat.vmdk left.
Thats why the tool only eats *.vmdk files but that doesn't matter - just rename the img to vmdk and then it works.
Ulli
#17
Posted 11 May 2009 - 04:22 PM
To use "RAW" or "plain" images in VDK, I use "plain" descriptors, i.e. a separate .pln file.
See here:
http://www.forensicf...m...sc&start=42
If you do not need an exact geometry, you can mount the "RAW" image directly (it will have a nx64x32 geometry).
jaclaz
#18
Posted 11 May 2009 - 04:38 PM
The tool I made just takes the size of a given file eg. "starwind-compatible.img" and computes a descriptor like this for it.
It uses a geometry of n x 255 x 63 - as this is the default used by VMware scsi-disks.
# Disk DescriptorFile version=1 CID=864a0ec5 parentCID=ffffffff createType="monolithicFlat" # Extent description RW 1048576 FLAT "starwind-compatible.img" 0 # The Disk Data Base #DDB ddb.virtualHWVersion = "6" ddb.toolsVersion = "0" ddb.geometry.cylinders = "65" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" ddb.adapterType = "lsilogic"
#19
Posted 11 May 2009 - 05:01 PM
Hi Erwan
I tried as you said CTRL + B and entered: dhcp net0
it says something like : no such network : net0
The tool I use to create a descriptor for the img file is home-made - I use it to recreate lost descriptorfiles when i only have the *-flat.vmdk left.
Thats why the tool only eats *.vmdk files but that doesn't matter - just rename the img to vmdk and then it works.
Ulli
then indeed, you have a network issue
wrong gpxe.
i believe i have a similar broadcom card (2 ethernets ports is not it?) : i'll see how/if I can test it.
#20
Posted 11 May 2009 - 05:08 PM
I am not sure I understand your post Jaclaz ?
The tool I made just takes the size of a given file eg. "starwind-compatible.img" and computes a descriptor like this for it.
It uses a geometry of n x 255 x 63 - as this is the default used by VMware scsi-disks.# Disk DescriptorFile version=1 CID=864a0ec5 parentCID=ffffffff createType="monolithicFlat" # Extent description RW 1048576 FLAT "starwind-compatible.img" 0 # The Disk Data Base #DDB ddb.virtualHWVersion = "6" ddb.toolsVersion = "0" ddb.geometry.cylinders = "65" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" ddb.adapterType = "lsilogic"
I use this (below) and get a similar file as well.
#21
Posted 11 May 2009 - 05:27 PM
Thanks - but do not waste your time - this was just the first test-machine in reach.i believe i have a similar broadcom card (2 ethernets ports is not it?) : i'll see how/if I can test it.
As a rule of thumb you would first try the undi-image ?
#22
Posted 11 May 2009 - 05:32 PM
I am not sure I understand your post Jaclaz ?
The tool I made just takes the size of a given file eg. "starwind-compatible.img" and computes a descriptor like this for it.
It uses a geometry of n x 255 x 63 - as this is the default used by VMware scsi-disks.# Disk DescriptorFile version=1 CID=864a0ec5 parentCID=ffffffff createType="monolithicFlat" # Extent description RW 1048576 FLAT "starwind-compatible.img" 0 # The Disk Data Base #DDB ddb.virtualHWVersion = "6" ddb.toolsVersion = "0" ddb.geometry.cylinders = "65" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" ddb.adapterType = "lsilogic"
I use this :
This is what i like with the iscsi boot method : you can mount you img file in imdisk, vdk, etc, open it with winimage, emulate it in vmware,qemu and server it over iscsi.
#23
Posted 11 May 2009 - 05:41 PM
you can mount you img file in imdisk, vdk, etc, open it with image, emulate it in vmware,qemu and server it over iscsi.
Yep - thats really very convenient
#24
Posted 11 May 2009 - 05:41 PM
Thanks - but do not waste your time - this was just the first test-machine in reach.
As a rule of thumb you would first try the undi-image ?
yep, by default the undi always serve me well with different kind of machines.
only when i want to emulate a vmware nic thru a rom do i use this in my vmx file:
ethernet0.virtualdev="vlance"
nbios.filename="c:\gpxe-pcnet32.rom"
/Erwan
#25
Posted 11 May 2009 - 05:45 PM
I did not need to do that in my tests.
It worked with vlance and e1000 without problem
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users