Jump to content











Photo
- - - - -

boot over iscsi


  • Please log in to reply
85 replies to this topic

#1 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

Posted 10 May 2009 - 04:54 PM

Hello Gents,
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 :D
I'll try to answer questions as best as I can.

Regards,
Erwan.

#2 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7,100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 10 May 2009 - 05:53 PM

This is my first post to that community, be kind :D
I'll try to answer questions as best as I can.


Well, you cannot expect to change our evil nature :D 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 ;):

;)

jaclaz

#3 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

Posted 10 May 2009 - 06:30 PM

Hi Jaclaz,

"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 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7,100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 10 May 2009 - 07:14 PM

Good. :D

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")? :D (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 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

Posted 10 May 2009 - 07:27 PM

Indeed:
-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 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 10 May 2009 - 10:56 PM

:D :D

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 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

Posted 11 May 2009 - 06:10 AM

:D ;)

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 :D

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 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 11 May 2009 - 11:32 AM

Hi Erwan - the boot image is so large because I generated the gpxe-image.
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 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

Posted 11 May 2009 - 12:11 PM

your pci id 14E4:16FD does not seem to be in the gpxe db :D
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 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 11 May 2009 - 12:49 PM

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 ?

No more network devices


Ulli

#11 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7,100 posts
  • Location:Gone in the mist
  •  
    Italy

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? :D

:D

jaclaz

#12 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 11 May 2009 - 02:39 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 ?

#13 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

Posted 11 May 2009 - 03:48 PM

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

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.

press ctrl b in gpxe.
type dhcp net0 to see if the network layer works fine.

/erwan

#14 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

Posted 11 May 2009 - 03:51 PM

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? :D

:D

jaclaz

good idea actually ;)
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 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

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 :D

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 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 11 May 2009 - 04:07 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

#17 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7,100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 11 May 2009 - 04:22 PM

I am not sure to have understood the last two posts. :D

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).

:D

jaclaz

#18 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 11 May 2009 - 04:38 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"


#19 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

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 :D
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 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

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.

Posted Image

#21 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 11 May 2009 - 05:27 PM

i believe i have a similar broadcom card (2 ethernets ports is not it?) : i'll see how/if I can test it.

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 ?

#22 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

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 :

Posted Image

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 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

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 erwan.l

erwan.l

    Gold Member

  • Developer
  • 1,004 posts
  • Location:Nantes - France
  •  
    France

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 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 11 May 2009 - 05:45 PM

do you specify the boot-rom filename in the vmx to improve performance or why ?
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