Remote boot server feedback

D

Desi

All,

I would like to use Remote Boot server to boot my targets to a
lightweight image in RAM, connect to a network share, and use SDIMGR to
write a new image to the target's CF module.

What is missing is a way to let the remote boot server program know
that the image download/write operation is completed and the "start
program" for the device should be reset to "abortpxe.com" in remote
boot server, so that the targets boot to their local compact flash
drives.

Has anyone come up with a creative way to do this that minimizes user
interaction at the server?

Desi
 
K

KM

Desi,

I thought about the same problem a while ago. Although I never had time to come up with a final solution.

Some possible solutions:
- Some BIOS allow you to modify the "boot" option to switch from LAN boot to HDD boot, etc. through CMOS posts.
If you can't find a BIOS with the option available, you always have a choice to buy a custom BIOS (like GeneralSoftware,
Phoenix, etc.)

- You can choose to run PXe client off a boot floppy (search Google for ready solutions). Then you can make it to run only once
or the number of times you need (just make sure the floppy is writtable to store your flags :) ).
This may not be a good solution because having PXe option in BIOS is so cheep and popular now.

- From the booted XPe image you can have access to the RBS server and change the "rbsprov.ini" file (normally under Program
Files\Windows Embedded\Remote Boot Service\) and change particular client setting to start abortpxe.com boot program for it. Mostly
you don't even have to re-start the RBS service on the server.
This is really not hard to implement but obvious disadvantages: hardcoded path to a server share on your network; write access
to the rbsprov.ini from XPe clients (not really secure).
The security problem, though, could be fixed if you have access to the server share only on the XPe client boot from
Administrator account with a particular required password. Then you can change the password, clean up everything and reboot the
client.
Or you can create your own client-server application(s) to work on the server with the "rbsprov.ini" file. Then you are going
to be responsible on how you implement that client-server communication the most secure way.

- From XPE image you can have access to the DHCP server (through DHCP server API or netsh dhcp) and change some DHCP option
(e.g., 067) to break the PXe scheme for all the clients. Again, easy to implement with "netsh dhcp" but not really secure to do that
from a client so you would also want a clean-up on first boot.

- Request RBS server API documentation from Microsoft and create your own client-sever way to change the RBS settings.
 
D

Desi

Konstantin,

Thanks for the reply. As usual, many good suggestions.

My target device is already using a General Software BIOS, but I have
the boot order set to PXe boot, then boot from CF, then CDROM (Not
always there, since it's USB). This works fine if I can change the PXe
boot option in RBS to "AbortPXe" instead of Startrom.n12. I know of no
way to adjust the BIOS settings programmatically, short of hacking
something. Do you have more info?

The target has no floppy drive, just USB ports. So booting from floppy
(Or even CDROM) is questionable.

I like the idea of changing the rbsprov.ini file. When you say that
"Mostly you don't even have to re-start the RBS service on the server"
, what do you mean exactly? Do you know of cases where the RBS service
must be restarted?

Who should I request RBS API information from at Microsoft? Jon
Fincher?

Thanks,
Desi
 
K

KM

Desi,
My target device is already using a General Software BIOS, but I have
the boot order set to PXe boot, then boot from CF, then CDROM (Not
always there, since it's USB). This works fine if I can change the PXe
boot option in RBS to "AbortPXe" instead of Startrom.n12. I know of no
way to adjust the BIOS settings programmatically, short of hacking
something. Do you have more info?

Well.. General Software will be more helpful to you here. They are usually very open for any techincal discussions.
Anf, of course, google is your friend here as well. Search for BIOS, CMOS ports, etc.
The target has no floppy drive, just USB ports. So booting from floppy
(Or even CDROM) is questionable.

You can make it boot from USB after all. tehre are some PXe client on verious OS (DOS, QNX, ETC).
Even XPe RAM boot from USB would work but I just don't know a 3rd party PXe client for XP (you may want to search again).
I like the idea of changing the rbsprov.ini file. When you say that
"Mostly you don't even have to re-start the RBS service on the server"
, what do you mean exactly? Do you know of cases where the RBS service
must be restarted?

Well. You have to restart the RBS only when you change the DHCP port (067) global setting of the RBS, which you unlikely be changing
in your scenerio.
Who should I request RBS API information from at Microsoft? Jon Fincher?

I am not MS employee so I can't tell you that for sure. However, I may guess that Jon [developer] wouldn't be able to send you this
publicly not available API docs. You would better off contacting Ravi [XPe PM].

Regards,
Konstantin
 

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

Top