ok. I have a sdi file so whats next?

J

john f. davis

Hello

I have created a .sdi file using the sdi loader tool. It
is pretty uninituitive to click a button labeled "OPEN"
when you are creating a new file but I did do it.
Basically, I created the file with the specified size and
then close the SDI tool.

Then, I used control panel->admin tools->computr
management->storage->disk management to partition and
format the .sdi file into a disk. Then I copied the
contents to my d:/windows embedded images folder to this
new disk implemented via file.

Next, I assumed I would copy this file to my C:\Program
Files\Windows Embedded\Remote Boot Service\Downloads
folder. However, explorer will not allow me to copy this
file. It says their is a sharing violation. I tried to
unmount the file using the disk management tool but it
does not have a unmount option. How do I copy this file
to the tftp download directory.

I'll worry about trying to get linux dhcp server to point
to this computer tomorrow.

JD
 
S

Slobodan Brcin

Some people just never listen.

Creating SDI image is the LAST STEP to do, NOT THE FIRST ONE.

Image that you have created will reboot infinitely, if it starts at all.


Regards,
Slobodan
 
G

Guest

Hello

Ok. I have answered my own question. I had to use the
system tray to stop the f drive. This is equivalent to
unmounting the filesystem. Then, I did not get a sharing
violatoin when I copied the .sdi file to my tftp downloads
directory.

How do I specify the remote boot server entry? This is
what I have so far:

Remote Boot Manager screen
Client mac address: i put the mac address of my target
machine here.

Description: I put MS ***** here.

Action: boot

Boot server: I put the ip address of my developement
machine here.

Boot program: I put startrom.n12 here. BTW that is a very
intuitive name.

Boot image: myimage2.sdi. That is the name of the .sdi
file I refer to above.

Boot parameters: blank.

Is this correct?

JD
 
S

Saad Syed [MS]

JD,
The remote boot documentation is available on
http://msdn.microsoft.com/library/d...pconpreparingremotebootimagefordeployment.asp

To prepare a Remote Boot image for deployment
1.. In the BIOS setup utility of the client computer, configure the
network boot attempt to occur first.
2.. Install the SDI Driver on your development system.
For more information, see the SDI documentation in the Windows XP Embedded
Help documentation.

3.. Create an SDI disk of the appropriate size using the SDI loader
utility.
4.. Format the SDI virtual drive using Disk Management Console,
Diskmgmt.msc. When prompted, do not choose to create the volume as a dynamic
disk.
5.. Copy your run-time image to the SDI volume. It is not necessary to
copy the Ntdetect.com, Ntldr.exe, or Boot.ini files to the SDI volume
because they are automatically downloaded from the server during an early
phase of Remote Boot.
6.. Create another SDI image that will contain the partition for the SDI
disk created in Step 2. This will be the final SDI image that will reside on
the Remote Boot server. The following command line example shows how to
create the new SDI image using the SDI manager command line utility.
sdimgr /new c:\ramdisk.sdi
sdimgr c:\ramdisk.sdi /readpart:f:7.. Copy the SDI image to the \Program
Files\Windows Embedded\Remote Boot Service\Downloads folder of the server.

Steps 6 and 7 are the ones you need to perform after you've copied all the
files to an SDI disk partition. Yes, you've to create another SDI this time
using sdimgr (step 6). SDIMGR should be under the \Program Files\Windows
Embedded\Utilities folder.

Why another SDI? The second SDI is supposed to contain just the
volume/partition. You cannot ram boot a DISK, it has to be a volume, so you
use sdimgr to extract the partition into another SDI file. The first SDI
gives us a disk with a small enough partition. If you've a physical disk
with a small enough partition you should be able to use steps 6 with that
disk.

You should be able to use the linux DHCP server, since it'll be on a
different machine I don't see any problems. Remember to check the use port
67 checkbox in Remote Boot Manager.

Rest looks fine to me.

HTH
Thanks,

- Saad Syed

This posting is provided "AS IS" with no warranties, and confers no rights.
 
G

Guest

Hello

I don't know why M$ can't give a clear response.
See below.
-----Original Message-----
JD,
The remote boot documentation is available on
http://msdn.microsoft.com/library/default.asp? url=/library/en-
us/remboot/html/xpconpreparingremotebootimagefordeployment.
asp

To prepare a Remote Boot image for deployment
1.. In the BIOS setup utility of the client computer, configure the
network boot attempt to occur first.
Done.

2.. Install the SDI Driver on your development system.
For more information, see the SDI documentation in the Windows XP Embedded
Help documentation.
Done.


3.. Create an SDI disk of the appropriate size using the SDI loader
utility.
Done.

4.. Format the SDI virtual drive using Disk Management Console,
Diskmgmt.msc. When prompted, do not choose to create the volume as a dynamic
disk.
Done.

5.. Copy your run-time image to the SDI volume. It is not necessary to
copy the Ntdetect.com, Ntldr.exe, or Boot.ini files to the SDI volume
because they are automatically downloaded from the server during an early
phase of Remote Boot.
Ok.

6.. Create another SDI image that will contain the partition for the SDI
disk created in Step 2.

In step 2 you told me to install the tool and not create a
disk. What are you talking about?
This will be the final SDI image that will reside on
the Remote Boot server. The following command line example shows how to
create the new SDI image using the SDI manager command line utility.
sdimgr /new c:\ramdisk.sdi
sdimgr c:\ramdisk.sdi /readpart:f:7..

Your first command fails.
C:\tmp>c:\"program files"\"windows
embedded"\utilities\sdimgr /new ramdisk.sdi
results in a dialog box which pops up and says:
This script must be run using the CSCRIPT WSH host.
Either explicaity invoke CSCRIPT or
use "CSCRIPT //H:cscript: //S" to select the host as the
default.

the trailing .. on the second command look like you are
trying to guess a command or something. I didn't even try
that.
Copy the SDI image to the \Program
Files\Windows Embedded\Remote Boot Service\Downloads
folder of the server.



Steps 6 and 7 are the ones you need to perform after you've copied all the
files to an SDI disk partition. Yes, you've to create another SDI this time
using sdimgr (step 6). SDIMGR should be under the \Program Files\Windows
Embedded\Utilities folder.

Where is step 7?

Why another SDI? The second SDI is supposed to contain just the
volume/partition. You cannot ram boot a DISK, it has to be a volume, so you
use sdimgr to extract the partition into another SDI file. The first SDI
gives us a disk with a small enough partition. If you've a physical disk
with a small enough partition you should be able to use steps 6 with that
disk.

You should be able to use the linux DHCP server, since it'll be on a
different machine I don't see any problems. Remember to check the use port
67 checkbox in Remote Boot Manager.

What would the DHCP stanza look like? So far I have this:

subnet 192.168.0.09 netmask 255.255.255.0 {
allow bootp;
<stuff deleted>
group {
host windev {
hardware ethernet 00:90:27:df:ca:48;
fixed-address 192.168.0.6;
option routers 192.168.0.1;
option domain-name-server 192.168.0.1;
# option domain-name-server 9.44.5.76; M$ can't handle DNS
outside subnet?
}
host wintarget {
hardware ethernet 00:90:27:31:95:9e;
fixed-address 192.168.0.7;
# what option goes here to tell target machine to use
# the above computer as its PXE boot server?
}
}
}
 
P

Pieter

This NG is not a helpdesk where you can drop your problem and expect
other people to solve it. We all had to learn.

Everything you need to know about remote boot is in the URL's you get.


1) Get a dev machine.
2) Get a target machine with HD
3) Create a image with TD include the RAM Disk component
4) Deploy your image to the target machine.
5) After FBA copy the image to a Disk created with SDI loader.
6) create the second sdi file with this commands:
cscript sdimgr.wsf /new c:\ramdisk.sdi
cscript sdimgr.wsf c:\ramdisk.sdi /readpart:e:

e: is my SDI disk.
7) Copy the second SDI file to the download directory of yout TFTP
server.
8) remove the HD from your target machine
9) Boot your target machine with the PXE client.

All this is in the help files, this newsgroup and MSDN url's.
You have to some things yourself.

Pieter
 
S

Saad Syed [MS]

JD,

I forgot to mention; before you try to prepare the SDI, you've to take the
XPE image through a phase known as Online Configuration or FBA (First Boot
Agent). When the image boots for the first time it goes through a set of
configurations which cannot happen offline (meaning through target
designer). The job of the online configuration is to install device drivers,
set up network bindings, install PnP devices, etc. etc. etc.

That is why it is necessary to copy the image to the hard disk of a test
machine, if you're set up with multiple partition and your drive 'C:' is
available you can use that too. The reason we cannot do this during remote
boot should be obvious, this phase requires a reboot after its done, and if
the underlying volume isn't persistent (e.g. ramdisk) you'll keep going
through FBA again and again.

Once the image has gone though FBA you can then run the steps mentioned
below. You'll have to copy the image from the C: drive. The answer of your
questions are inline.

Thanks,
- Saad Syed

This posting is provided "AS IS" with no warranties, and confers no rights.

Hello

I don't know why M$ can't give a clear response.
See below.


In step 2 you told me to install the tool and not create a
disk. What are you talking about?

[Saad Syed] If you read below, I've explained the first SDI is created with
SDILoader to mount a DISK which you'll copy files into. The *SECOND* SDI is
created with SDIMGR.WSF to create an SDI file with a PARTITION or VOLUME. Do
not confuse the two SDIs. If you follow the steps correctly you'll figure
out what I'm talking about.
Your first command fails.
C:\tmp>c:\"program files"\"windows
embedded"\utilities\sdimgr /new ramdisk.sdi
results in a dialog box which pops up and says:
This script must be run using the CSCRIPT WSH host.
Either explicaity invoke CSCRIPT or
use "CSCRIPT //H:cscript: //S" to select the host as the
default.

the trailing .. on the second command look like you are
trying to guess a command or something. I didn't even try
that.

[Saad Syed] As the dialog indicates run "CSCRIPT //H:cscript" and retry.
This is what you should be running at the command prompt.

c:\tmp>cscript //h:cscript

c:\tmp>\Program Files\Windows Embedded\Utilities\sdimgr /new ramdisk.sdi

c:\tmp>\Program Files\Windows Embedded\Utilities\sdimgr ramdisk.sdi
/readpart:F:


where 'F:' is the drive letter where the runtime was copied in steps 5. If
its G: use G:, etc.

This will give you ramdisk.sdi with just the volume, copy this to the
"\Program Files\Windows Embedded\Remote Boot Service\Downloads" folder. Use
Remote Boot Manager to specify this file in the image.
folder of the server.





Where is step 7?

[Saad Syed] Step 7 was the one where you had to copy the ramdisk.sdi into
the downloads folder, it got messed up due to bad copy pasting on my part.
What would the DHCP stanza look like? So far I have this:

subnet 192.168.0.09 netmask 255.255.255.0 {
allow bootp;
<stuff deleted>
group {
host windev {
hardware ethernet 00:90:27:df:ca:48;
fixed-address 192.168.0.6;
option routers 192.168.0.1;
option domain-name-server 192.168.0.1;
# option domain-name-server 9.44.5.76; M$ can't handle DNS
outside subnet?
}
host wintarget {
hardware ethernet 00:90:27:31:95:9e;
fixed-address 192.168.0.7;
# what option goes here to tell target machine to use
# the above computer as its PXE boot server?
}
}
}

[Saad Syed] Unfortunately I'm not that familiar with a linux DHCP server.
But if I'm guessing correctly you'll need to remove the 'allow bootp;' line,
as this'll tell the PXE client that the PXE server is on the DHCP machine
which it is not. You can do a simple quick check to determine if the
configuration is working. Use reboot.com or abortpxe.com as the boot program
from Remote Boot Manager, yes don't need an image to test this. If the
client boots off pxe and reboots or aborts PXE, then the configuration
should work. If that doesn't work run a network sniffer or network monitor
to determine if the DHCP packet sent by the DHCP server to the client
contains an option tag '60' or not.
 
S

Slobodan Brcin

Can you give us a straight answer on two things:

1. Do you know what FBA is?
2. Have you used it ever?

If both answers are negative, then you should consider leaving computer
business in whole.

Regards,
Slobodan
 
G

Guest

-----Original Message-----
Can you give us a straight answer on two things:

1. Do you know what FBA is?

Fscking bullsh#t artist?
2. Have you used it ever?

Possibly. I'm using you now. Are you an FBA?
If both answers are negative, then you should consider leaving computer
business in whole.

Thanks for letting me keep my job.
 
S

Slobodan Brcin

FBA (First boot agent)

Without it you can't even start doing your image.

Sorry, I wont answer any more to your questions.


Slobodan Out.
 
G

Guest

Ok. I have the linux dhcp server setup. One of the
problems is that I am running debian unstable and by
default it was using version 2 dhcp server. I upgraded to
dhcp3 and used the config options which allow me
to obtain an ip address but not tftpboot the image.
(I realize I am going to have to dork with the image per
previous notes. I am not impressed with this copy image
to disk thing first. Especially since I am already going
to have to tftp a 70 MB image instead of a 5 MB linux
kernel.) Anyway, the error message received is :
"tftp to many packages". I don't know if this is becuase
the image has not been prepared correctly ie. FBA, swap
physical disks mojo, or the MS tftp is just broken and can
not handle a 70MB file.

Anyway, for the curious this is what it looks like. I got
this from the great google.

option space PXE;
option PXE.mtftp-ip code 1 = ip-
address;
option PXE.mtftp-cport code 2 = unsigned
integer 16;
option PXE.mtftp-sport code 3 = unsigned
integer 16;
option PXE.mtftp-tmout code 4 = unsigned
integer 8;
option PXE.mtftp-delay code 5 = unsigned
integer 8;
option PXE.discovery-control code 6 = unsigned integer
8;
option PXE.discovery-mcast-addr code 7 = ip-address;


Then further down in the file:
}
host wintarget {
hardware ethernet
00:90:27:31:95:9e;
fixed-address 192.168.0.7;
option routers 192.168.0.1;
option domain-name-servers
192.168.0.1;

option vendor-class-
identifier "PXEClient";
vendor-option-space PXE;

option PXE.mtftp-ip 0.0.0.0;
filename "myimage2.sdi";
next-server 192.168.0.6;

}

The bootp option was for the entire group. It didn't cause
a problem.
 
G

Guest

Ok. So how do you propose to do this copy of the image to
the target machine? Remove the target harddisk, insert
the disk in the dev computer, fdisk and format the target
hard disk, and then copy the contents of d:/windows
embedded images/ to the drive, shutdown the host computer,
remove the target driver, insert the target drive in the
target machine, boot and then the target disk can be
removed, reinserted into the host machine again, then
copied to a SDI disk... Am I going to have to do this
everytime I tweak the boot image?


JD
-----Original Message-----
JD,

I forgot to mention; before you try to prepare the SDI, you've to take the
XPE image through a phase known as Online Configuration or FBA (First Boot
Agent). When the image boots for the first time it goes through a set of
configurations which cannot happen offline (meaning through target
designer). The job of the online configuration is to install device drivers,
set up network bindings, install PnP devices, etc. etc. etc.

That is why it is necessary to copy the image to the hard disk of a test
machine, if you're set up with multiple partition and your drive 'C:' is
available you can use that too. The reason we cannot do this during remote
boot should be obvious, this phase requires a reboot after its done, and if
the underlying volume isn't persistent (e.g. ramdisk) you'll keep going
through FBA again and again.

Once the image has gone though FBA you can then run the steps mentioned
below. You'll have to copy the image from the C: drive. The answer of your
questions are inline.

Thanks,
- Saad Syed

This posting is provided "AS IS" with no warranties, and confers no rights.

Hello

I don't know why M$ can't give a clear response.
See below.

url=/library/en-
us/remboot/html/xpconpreparingremotebootimagefordeployment.
asp the
Windows XP Embedded Management
Console, the
volume as a dynamic server
during an early

In step 2 you told me to install the tool and not create a
disk. What are you talking about?

[Saad Syed] If you read below, I've explained the first SDI is created with
SDILoader to mount a DISK which you'll copy files into. The *SECOND* SDI is
created with SDIMGR.WSF to create an SDI file with a PARTITION or VOLUME. Do
not confuse the two SDIs. If you follow the steps correctly you'll figure
out what I'm talking about.
Your first command fails.
C:\tmp>c:\"program files"\"windows
embedded"\utilities\sdimgr /new ramdisk.sdi
results in a dialog box which pops up and says:
This script must be run using the CSCRIPT WSH host.
Either explicaity invoke CSCRIPT or
use "CSCRIPT //H:cscript: //S" to select the host as the
default.

the trailing .. on the second command look like you are
trying to guess a command or something. I didn't even try
that.

[Saad Syed] As the dialog indicates
run "CSCRIPT //H:cscript" and retry.
This is what you should be running at the command prompt.

c:\tmp>cscript //h:cscript

c:\tmp>\Program Files\Windows
Embedded\Utilities\sdimgr /new ramdisk.sdi
c:\tmp>\Program Files\Windows Embedded\Utilities\sdimgr ramdisk.sdi
/readpart:F:


where 'F:' is the drive letter where the runtime was copied in steps 5. If
its G: use G:, etc.

This will give you ramdisk.sdi with just the volume, copy this to the
"\Program Files\Windows Embedded\Remote Boot Service\Downloads" folder. Use
Remote Boot Manager to specify this file in the image.
folder of the server.





Where is step 7?

[Saad Syed] Step 7 was the one where you had to copy the ramdisk.sdi into
the downloads folder, it got messed up due to bad copy pasting on my part.
you've
a physical disk

What would the DHCP stanza look like? So far I have this:

subnet 192.168.0.09 netmask 255.255.255.0 {
allow bootp;
<stuff deleted>
group {
host windev {
hardware ethernet 00:90:27:df:ca:48;
fixed-address 192.168.0.6;
option routers 192.168.0.1;
option domain-name-server 192.168.0.1;
# option domain-name-server 9.44.5.76; M$ can't handle DNS
outside subnet?
}
host wintarget {
hardware ethernet 00:90:27:31:95:9e;
fixed-address 192.168.0.7;
# what option goes here to tell target machine to use
# the above computer as its PXE boot server?
}
}
}

[Saad Syed] Unfortunately I'm not that familiar with a linux DHCP server.
But if I'm guessing correctly you'll need to remove the 'allow bootp;' line,
as this'll tell the PXE client that the PXE server is on the DHCP machine
which it is not. You can do a simple quick check to determine if the
configuration is working. Use reboot.com or abortpxe.com as the boot program
from Remote Boot Manager, yes don't need an image to test this. If the
client boots off pxe and reboots or aborts PXE, then the configuration
should work. If that doesn't work run a network sniffer or network monitor
to determine if the DHCP packet sent by the DHCP server to the client
contains an option tag '60' or not.
and
confers no rights. tool.
It size
and tried
to


.
 
K

KM

You may want to mess up with SDI only when your image is ready for
deployment. That means you may now work only on your image and forget about
SDI until you are done with the image changes.
Sometimes (depends on how hard it is to copy an XPe image on a target
device) it might be useful to use Remote Boot Manager and SDI tools just to
deploy (should read - copy) your image to the target. In case of using hard
drive on the target it would potentially be more time-saving to just plug
the hard drive into your dev machine and copy the image on it. Then you plug
the drive back into your target machine and see how XPe image runs (FBA will
be preparing the image first).

And again, XPe/XP Pro is very different from linux so you may not want to
even try to compare their remote booting. XPe image does require some
pre-setup things on target (registry, PnP, drivers, etc.). It is
inconvenient for development phase but we all have to live with that until
Microsoft (with or without help of this NG) think of another approach.
I believe one of the good advantages of XPe is that it's based on XP Pro
binaries. That allows to run many applications written for XP Pro on XPe
images but it also applies many restrictions to building XPe images and
brings many problems and discomfort to the development process under XPe.
That can't be changed (at least in short time frames) unless you want to
have a new embedded OS with different structure than XP Pro.

I (and probably some other folks here) am realy wondering why you put so
many efforts getting into such a new area for you as XPe? You don't seem to
be very familiar with Windows (XP/XPe) and definitely prefer linux. You also
don't seem to like exploring of new software. Your posts are full of
complains about Microsoft product and that might stop many knowledgeable
people from helping you out. I would suggest you to either drop the
development under XPe or dig deeply into it and read as much XPe
documentation as you can before posting your questions.

If you have constractive questions, please try to asnwer them from reading
the docs first. If you can't find answers yourself, please compile your
questions and post it here without complains.

Thanks,
KM

PS. Personally, since I have gone through the remote boot process myself, I
believe that Saad's emails posted recently to this thread should certainly
answer almost all of questions. So, please read them carefully.

a> Ok. So how do you propose to do this copy of the image to the target
a> machine? Remove the target harddisk, insert the disk in the dev
a> computer, fdisk and format the target hard disk, and then copy the
a> contents of d:/windows embedded images/ to the drive, shutdown the
a> host computer, remove the target driver, insert the target drive in
a> the target machine, boot and then the target disk can be removed,
a> reinserted into the host machine again, then copied to a SDI disk...
a> Am I going to have to do this everytime I tweak the boot image?


a> JDa> etc.
a> confers no rights.

a> us/remboot/html/xpconpreparingremotebootimagefordeployment.
3.. Create an SDI disk of the appropriate size using
the SDI loader
utility.
Done.
4.. Format the SDI virtual drive using Disk a> Management
Console,
Diskmgmt.msc. When prompted, do not choose to create a> the
volume as a dynamic
disk.
Done.
5.. Copy your run-time image to the SDI volume. It is
not necessary to
copy the Ntdetect.com, Ntldr.exe, or Boot.ini files to
the SDI volume
because they are automatically downloaded from the a> server
during an early
phase of Remote Boot.
Ok.
6.. Create another SDI image that will contain the
partition for the SDI
disk created in Step 2.
In step 2 you told me to install the tool and not a> create a
disk. What are you talking about?
[Saad Syed] If you read below, I've explained the first a> SDI is created with
SDILoader to mount a DISK which you'll copy files into. a> The *SECOND* SDI is
created with SDIMGR.WSF to create an SDI file with a a> PARTITION or VOLUME. Do
not confuse the two SDIs. If you follow the steps a> correctly you'll figure
out what I'm talking about.
This will be the final SDI image that will reside on the Remote
Boot server. The following command line
example shows how to
create the new SDI image using the SDI manager command
line utility.
sdimgr /new c:\ramdisk.sdi sdimgr c:\ramdisk.sdi /readpart:f:
Your first command fails.
C:\tmp>c:\"program files"\"windows embedded"\utilities\sdimgr /new
ramdisk.sdi results in a dialog box which pops up and says:
This script must be run using the CSCRIPT WSH host.
Either explicaity invoke CSCRIPT or use "CSCRIPT //H:cscript: //S"
to select the host as the default.
the trailing .. on the second command look like you are trying to
guess a command or something. I didn't even a> try
that.
[Saad Syed] As the dialog indicates a> run "CSCRIPT //H:cscript" and retry.
This is what you should be running at the command prompt.
c:\tmp>cscript //h:cscript
c:\tmp>\Program Files\Windows
a> Embedded\Utilities\sdimgr /new ramdisk.sdi
c:\tmp>\Program Files\Windows Embedded\Utilities\sdimgr a> ramdisk.sdi
/readpart:F:
where 'F:' is the drive letter where the runtime was a> copied in steps 5. If
its G: use G:, etc.
This will give you ramdisk.sdi with just the volume, copy a> this to the
"\Program Files\Windows Embedded\Remote Boot a> Service\Downloads" folder. Use
Remote Boot Manager to specify this file in the image.



Where is step 7?
[Saad Syed] Step 7 was the one where you had to copy the a> ramdisk.sdi into
the downloads folder, it got messed up due to bad copy
a> pasting on my part.


a> this:
subnet 192.168.0.09 netmask 255.255.255.0 {
allow bootp;
<stuff deleted>
group {
host windev {
hardware ethernet 00:90:27:df:ca:48;
fixed-address 192.168.0.6;
option routers 192.168.0.1;
option domain-name-server 192.168.0.1;
# option domain-name-server 9.44.5.76; M$ can't handle a> DNS
outside subnet?
}
host wintarget {
hardware ethernet 00:90:27:31:95:9e;
fixed-address 192.168.0.7;
# what option goes here to tell target machine to use # the above
computer as its PXE boot server?
}
}
}
[Saad Syed] Unfortunately I'm not that familiar with a a> linux DHCP server.
But if I'm guessing correctly you'll need to remove a> the 'allow bootp;' line,
as this'll tell the PXE client that the PXE server is on a> the DHCP machine
which it is not. You can do a simple quick check to a> determine if the
configuration is working. Use reboot.com or abortpxe.com a> as the boot program
from Remote Boot Manager, yes don't need an image to test a> this. If the
client boots off pxe and reboots or aborts PXE, then the a> configuration
should work. If that doesn't work run a network sniffer a> or network monitor
to determine if the DHCP packet sent by the DHCP server a> to the client
contains an option tag '60' or not.





With best regards, KM. E-mail: (e-mail address removed)
 
J

John F. Davis

You may want to mess up with SDI only when your image is ready for
deployment. That means you may now work only on your image and forget about
SDI until you are done with the image changes.
Sometimes (depends on how hard it is to copy an XPe image on a target
device) it might be useful to use Remote Boot Manager and SDI tools just to
deploy (should read - copy) your image to the target. In case of using hard
drive on the target it would potentially be more time-saving to just plug
the hard drive into your dev machine and copy the image on it. Then you plug
the drive back into your target machine and see how XPe image runs (FBA will
be preparing the image first).

Yes, I have given up on that part. I initially thought netbooting
would be the simpler method. Since its not, I am doing the physical
disk method.
And again, XPe/XP Pro is very different from linux so you may not want to
even try to compare their remote booting. XPe image does require some

Yes. It is very different from Linux. Yes, it is very different from
VxWorks. Yes, it is very different from QNX. Yes, it is more a
system admin customizable os. Embedded is a misnomer.
pre-setup things on target (registry, PnP, drivers, etc.). It is
inconvenient for development phase but we all have to live with that until
Microsoft (with or without help of this NG) think of another approach.
I believe one of the good advantages of XPe is that it's based on XP Pro
binaries. That allows to run many applications written for XP Pro on XPe
images but it also applies many restrictions to building XPe images and
brings many problems and discomfort to the development process under XPe.
That can't be changed (at least in short time frames) unless you want to
have a new embedded OS with different structure than XP Pro.

I (and probably some other folks here) am realy wondering why you put so
many efforts getting into such a new area for you as XPe? You don't seem to
be very familiar with Windows (XP/XPe) and definitely prefer linux. You also
don't seem to like exploring of new software. Your posts are full of
complains about Microsoft product and that might stop many knowledgeable
people from helping you out. I would suggest you to either drop the
development under XPe or dig deeply into it and read as much XPe
documentation as you can before posting your questions.

Your opinion has been noted.
If you have constractive questions, please try to asnwer them from reading
the docs first. If you can't find answers yourself, please compile your
questions and post it here without complains.

Read what docs?
Thanks,
KM

PS. Personally, since I have gone through the remote boot process myself, I
believe that Saad's emails posted recently to this thread should certainly
answer almost all of questions. So, please read them carefully.

Yes they don't answer all questions. You said it yourself.
a> Ok. So how do you propose to do this copy of the image to the target
a> machine? Remove the target harddisk, insert the disk in the dev
a> computer, fdisk and format the target hard disk, and then copy the
a> contents of d:/windows embedded images/ to the drive, shutdown the
a> host computer, remove the target driver, insert the target drive in
a> the target machine, boot and then the target disk can be removed,
a> reinserted into the host machine again, then copied to a SDI disk...
a> Am I going to have to do this everytime I tweak the boot image?


a> JDa> etc.
a> confers no rights.

a> us/remboot/html/xpconpreparingremotebootimagefordeployment.
asp
To prepare a Remote Boot image for deployment
1.. In the BIOS setup utility of the client computer,
configure the
network boot attempt to occur first.
Done.
2.. Install the SDI Driver on your development a> system.
For more information, see the SDI documentation in a> the
Windows XP Embedded
Help documentation.
Done.
3.. Create an SDI disk of the appropriate size using
the SDI loader
utility.
Done.
4.. Format the SDI virtual drive using Disk a> Management
Console,
Diskmgmt.msc. When prompted, do not choose to create a> the
volume as a dynamic
disk.
Done.
5.. Copy your run-time image to the SDI volume. It is
not necessary to
copy the Ntdetect.com, Ntldr.exe, or Boot.ini files to
the SDI volume
because they are automatically downloaded from the a> server
during an early
phase of Remote Boot.
Ok.
6.. Create another SDI image that will contain the
partition for the SDI
disk created in Step 2.
In step 2 you told me to install the tool and not a> create a
disk. What are you talking about?
[Saad Syed] If you read below, I've explained the first a> SDI is created with
SDILoader to mount a DISK which you'll copy files into. a> The *SECOND* SDI is
created with SDIMGR.WSF to create an SDI file with a a> PARTITION or VOLUME. Do
not confuse the two SDIs. If you follow the steps a> correctly you'll figure
out what I'm talking about.
This will be the final SDI image that will reside on the Remote
Boot server. The following command line
example shows how to
create the new SDI image using the SDI manager command
line utility.
sdimgr /new c:\ramdisk.sdi sdimgr c:\ramdisk.sdi /readpart:f:
Your first command fails.
C:\tmp>c:\"program files"\"windows embedded"\utilities\sdimgr /new
ramdisk.sdi results in a dialog box which pops up and says:
This script must be run using the CSCRIPT WSH host.
Either explicaity invoke CSCRIPT or use "CSCRIPT //H:cscript: //S"
to select the host as the default.
the trailing .. on the second command look like you are trying to
guess a command or something. I didn't even a> try
that.
[Saad Syed] As the dialog indicates a> run "CSCRIPT //H:cscript" and retry.
This is what you should be running at the command prompt.
c:\tmp>cscript //h:cscript
c:\tmp>\Program Files\Windows
a> Embedded\Utilities\sdimgr /new ramdisk.sdi
c:\tmp>\Program Files\Windows Embedded\Utilities\sdimgr a> ramdisk.sdi
/readpart:F:
where 'F:' is the drive letter where the runtime was a> copied in steps 5. If
its G: use G:, etc.
This will give you ramdisk.sdi with just the volume, copy a> this to the
"\Program Files\Windows Embedded\Remote Boot a> Service\Downloads" folder. Use
Remote Boot Manager to specify this file in the image.
7. Copy the SDI image to the \Program
Files\Windows Embedded\Remote Boot Service\Downloads
folder of the server.



Steps 6 and 7 are the ones you need to perform after
you've copied all the
files to an SDI disk partition. Yes, you've to create
another SDI this time
using sdimgr (step 6). SDIMGR should be under the
\Program Files\Windows
Embedded\Utilities folder.
Where is step 7?
[Saad Syed] Step 7 was the one where you had to copy the a> ramdisk.sdi into
the downloads folder, it got messed up due to bad copy
a> pasting on my part.


a> this:
subnet 192.168.0.09 netmask 255.255.255.0 {
allow bootp;
<stuff deleted>
group {
host windev {
hardware ethernet 00:90:27:df:ca:48;
fixed-address 192.168.0.6;
option routers 192.168.0.1;
option domain-name-server 192.168.0.1;
# option domain-name-server 9.44.5.76; M$ can't handle a> DNS
outside subnet?
}
host wintarget {
hardware ethernet 00:90:27:31:95:9e;
fixed-address 192.168.0.7;
# what option goes here to tell target machine to use # the above
computer as its PXE boot server?
}
}
}
[Saad Syed] Unfortunately I'm not that familiar with a a> linux DHCP server.
But if I'm guessing correctly you'll need to remove a> the 'allow bootp;' line,
as this'll tell the PXE client that the PXE server is on a> the DHCP machine
which it is not. You can do a simple quick check to a> determine if the
configuration is working. Use reboot.com or abortpxe.com a> as the boot program
from Remote Boot Manager, yes don't need an image to test a> this. If the
client boots off pxe and reboots or aborts PXE, then the a> configuration
should work. If that doesn't work run a network sniffer a> or network monitor
to determine if the DHCP packet sent by the DHCP server a> to the client
contains an option tag '60' or not.

Rest looks fine to me.
HTH
Thanks,
- Saad Syed
This posting is provided "AS IS" with no warranties, a> and
confers no rights.
Hello
Ok. I have answered my own question. I had to use a> the
system tray to stop the f drive. This is equivalent a> to
unmounting the filesystem. Then, I did not get a
sharing
violatoin when I copied the .sdi file to my tftp
downloads
directory.
How do I specify the remote boot server entry? This a> is
what I have so far:
Remote Boot Manager screen
Client mac address: i put the mac address of my a> target
machine here.
Description: I put MS ***** here.
Action: boot
Boot server: I put the ip address of my developement machine here.
Boot program: I put startrom.n12 here. BTW that is a
very
intuitive name.
Boot image: myimage2.sdi. That is the name of a> the .sdi
file I refer to above.
Boot parameters: blank.
Is this correct?
JD
-----Original Message-----
Hello
I have created a .sdi file using the sdi loader a> tool.
It
is pretty uninituitive to click a button a> labeled "OPEN"
when you are creating a new file but I did do it.
Basically, I created the file with the specified a> size
and
then close the SDI tool.
Then, I used control panel->admin tools->computr
management->storage->disk management to partition a> and
format the .sdi file into a disk. Then I copied the contents to
my d:/windows embedded images folder to
this
new disk implemented via file.
Next, I assumed I would copy this file to my a> C:\Program
Files\Windows Embedded\Remote Boot Service\Downloads folder.
However, explorer will not allow me to copy
this
file. It says their is a sharing violation. I a> tried
to
unmount the file using the disk management tool but a> it
does not have a unmount option. How do I copy this
file
to the tftp download directory.
I'll worry about trying to get linux dhcp server to
point
to this computer tomorrow.
JD .




With best regards, KM. E-mail: (e-mail address removed)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top