BOOTING SDI WITH SYSLINUX

D

Dietmar

HI all,
which is correkt?
BOOT blob, LOAD blob, Partition blob

or BOOT blob, Partition blob, LOAD blob?

hihi...

Dietmar
 
K

KM

Dietmar,

What exactly you are asking about?
You don't import the blobs in any particular order. You specify which blob type you load using /import switch of the sdimgr.
Don't forget to pack the SDI file after the imports.

Please read this artcile ("Preparing the SDI" section):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxpesp1/html/ram_sdi.asp

Btw, how you are planning to use that SDI file? Why do you need BOOT and LOAD blobs?
I suspect that you are going to use some pxe linux server with linux tftp (don't know much about syslinux) and you don't want to
have to download anything beyond the SDI file. Is it true?

KM
 
?

=?iso-8859-1?q?R=E9mi_Lef=E8vre?=

On Wed, 29 Dec 2004 21:29:38 -0800, KM wrote:

Hi Dietmar,

Do you have problems with syslinux and the SDI patch ?

KM, you seem to confound Linux & syslinux. There is "linux" in syslinux
because it was initially a bootloader to boot linux. But a lot of formats
have been added with time (boot sectors, com & com32 images, disk images,
....) and with the patch, SDI. It is just a quite complete boot loader.
Actually it can be used without anything linux related (a windows tftp
server to boot a xpe client). With the patch, it is just an alternative to
startrom.n12 (/.com).

I initially made the patch to profit of the
many DHCP options that are supported by the syslinux derivative PXElinux.

regards,
R. Lefèvre
 
S

Slobodan Brcin \(eMVP\)

Hi Rémi,

Could you explain to us why do you or Dietmar need syslinux loader?
startrom you can have in sdi file and ntldr can do the rest, so what is in there for XPe worlds that we should consider it for use?

I'm interested in load speed of that loader, is it faster that ntldr. Do you use some custom load procedures instead of BIOS int 13
functions for image read from medium.
ntldr has only a flaw that if BIOS read speed is bad that whole image load or hibernation resume is bad.

Regards,
Slobodan
 
?

=?iso-8859-1?q?R=E9mi_Lef=E8vre?=

Hi Slobodan,


Hi Rémi,

Could you explain to us why do you or Dietmar need syslinux loader?
startrom you can have in sdi file and ntldr can do the rest, so what is in there for XPe worlds that we should consider it for use?

I'm interested in load speed of that loader, is it faster that ntldr. Do you use some custom load procedures instead of BIOS int 13
functions for image read from medium.
ntldr has only a flaw that if BIOS read speed is bad that whole image load or hibernation resume is bad.

Regards,
Slobodan

There are several reasons for which you would want to use syslinux with
SDI. Here are some unrelated ones that I am thinking of:

- This loader effectively doesn't use BIOS int to load the image in
memory, it uses the syslinux standard function "bcopy" which switches to
protected mode to make the copy in a 32 bits flat environment. I
have not done benchs when loading from a hard disk or a CD/DVD, but it is
faster in my case when loading the image by PXE.
- You can use the many DHCP options of pxelinux. For example, because you
can assign different config files to different subnetworks, you can boot
different SDI images depending of the subnetwork (it is more a standard
DHCP feature, but because startrom.* always download boot.ini from the
tftp root, I don't how you can do this with the standard method). You can
also set a reset timeout (reboot the computer if the sdi download fails),
etc...
- From the same code base (the patch is about 180 lines with
headers & comments), you get SDI support for PXE, hard disks, usb disks,
CDROMS and DVDROMS isos. It is quite an homegenous solution, and a good
start for further modifications. Moreover, syslinux is actively developed
and supported. - You can add a custom bitmap at image selection menu
and/or easily customize the image loading part to put custom logos,
messages or progress bars...

That's it for now, but there are certainly other useful cases.

I don't know however why Dietmar wants to use it.

Best regards,

Rémi

P.S: but don't forget that syslinux is in GPL, so no proprietary
modifications possible without publishing them, except for custom com or
com32 programs that syslinux is able to handle (a nice library is in
development at the moment).
 
S

Slobodan Brcin \(eMVP\)

Hi Rémi

Thanks for info it sound interesting.
I would like to know and you probably know the answer to following:

How USB disk load support is implemented?
Trough switching to user mode for BIOS access or you have internal "driver" support for EHCI, USB Storages, and other mediums in
loader itself?

Thanks,
Slobodan
 
D

Dietmar

Hi all,
Syslinux works with an SDI image of 501971968 Byte.
Now I am trying to load an image of 1Gb to Ram with syslinux.
There seems to be an error in the Tutorial from Saad Syed "RAM Boot Using
SDI in Windows XP Embedded with Service Pack 1" or he uses something other
we dont have.
So I dont know how Remi succeed, because he copied in his Tutorial most of
that and also the error?!
There seems also to be different LOAD blobs, Saad is

Type Offset Size Base Address Attr
---- ------------------- ------------------- -------------------
----------
BOOT 0x00000000.00001000 0x00000000.00005FF0 0x00000000.00000000
0x00000000
LOAD 0x00000000.00007000 0x00000000.00034A00 0x00000000.00000000
0x00000000
PART 0x00000000.0003C000 0x00000000.01780800 0x00000000.00000007
0x00000000

an mine is

Type Offset Size Base Address Attr
---- ------------------- ------------------- -------------------
----------
BOOT 0x00000000.00001000 0x00000000.00005EC2 0x00000000.00000000
0x00000000
LOAD 0x00000000.00007000 0x00000000.00038400 0x00000000.00000000
0x00000000
PART 0x00000000.00040000 0x00000000.1DE77C00 0x00000000.00000007
0x00000000

Boottime is 30 seconds from USB harddrive!

Dietmar
 
S

Slobodan Brcin \(eMVP\)

Hi Dietmar,

Tutorial from Saad? In my opinion Tutorial would be something that is meant for beginners. What Saad wrote is definitely not for
beginners and it is not a working example either. This is just a guide lines of how you can start doing custom RAM boot. For some of
us this is enough of info to keep us going and fighting with problems when they occur (And they occur believe me).
I wish that there were even less info than Saad gave us on some other topics that we have to reverse engineer to see how to use some
other features of XP.


I just wonder how it is possible that after all info that Konstantin, Rémi and I gave you, you still don't know what you need to do
:-(
Your whole approach is wrong.

For testing first part of solution:
Forget everything that Rémi said and wrote.
Also forget all info that Saad wrote they are of no concern to you.

Use default approach for booting SDI from HDD trough ntldr.

Like we all said million times till now LOADING 1GB to memory is not an issue here, it can be done easily if you can make other
things to work.

YOU MUST REPLACE MS RAMDISK DRIVER WITH THIRD PARTY DRIVER. (!!!!!!!! YOUR DRIVER !!!!!!! Not a single ramdisk third party driver
will help you with this particular problem.)

So your goal is to make small minlogon image let say 40 MB with your RAMDISK driver instead of MS ramdisk driver that can boot and
work. Konstantin and I gave you more than enough info how to make it. But YOU MUST DO THAT YOURSELF.
If you somehow manage to pull this off then you will have an epiphany and every other piece of puzzle will be revealed to you. (If
not just reread all answers that you got so far from us).

Please know that we all want you to succeed with this. (Konstantin and I for sure, and I guess that this goes for Rémi as well).
But unfortunately your development approach is completely wrong. You must do following.

1. Make at least one successful SDI boot on any image size without MS RAMDISK driver (You must use your driver instead).
2. Use my bootloader of Rémi's or your own it is irrelevant to load SDI to memory.
3. Cross your fingers boot and it should work if steps 1 and 2 are correct.

So I dont know how Remi succeed, because he copied in his Tutorial most of
that and also the error?!
There seems also to be different LOAD blobs, Saad is

I do not know what Rémi succeeded? He never said that he can boot more than 500 MB SDI file.
There seems also to be different LOAD blobs, Saad is
Of course and this is ok since files used by Saad at the time when article was written were different in size.

Regards,
Slobodan
 
?

=?iso-8859-1?q?R=E9mi_Lef=E8vre?=

Slobodan, I'm quite sure that there is no internal driver for usb in
syslinux. It works only if the BIOS is able to consider the USB disk/key
as a normal hard disk and is able to boot on it.

Dietmar, I am glad that syslinux with the patch is working for you. I'm
not sure about the errors that you are reporting. I noticed (and it made
me headaches) that only one version of NTLDR works with my patch but I
don't know why. However, apparently we don't use the same one, so I could
do a list of working ones.

You seem to consider that there are several errors, could
you please details the flaws in my doc so that I can improve it ?

My blobs are:

BOOT 0x00000000.00001000 0x00000000.00005EC2 0x00000000.00000000
0x00000000
PART 0x00000000.00007000 0x00000000.0BC3B200 0x00000000.00000006
0x00000000
LOAD 0x00000000.0BC43000 0x00000000.00034400 0x00000000.00000000
0x00000000

Thank you very much for the feedback.

Rémi
 
S

Slobodan Brcin \(eMVP\)

Rémi,
Slobodan, I'm quite sure that there is no internal driver for usb in
syslinux. It works only if the BIOS is able to consider the USB disk/key
as a normal hard disk and is able to boot on it.
Too bad :-( Then it won't solve problems with certain slow BIOS implementations.

What do you store in BOOT BLOB? Since you said something like:
Actually it can be used without anything linux related (a windows tftp
server to boot a xpe client). With the patch, it is just an alternative to
startrom.n12 (/.com).

I can't remember if there is limitation for custom RAM boot so that only certain version can be used from special XPe folder. Or it
is limitation of startrom.* to use only specific ntldr trough some hacky way.

Regards,
Slobodan
 
D

Dietmar

Hi all,
I still dont have until now the deep understanding of what is going on on
Boottime with ntldr.
Slobodan, thanks for your comments. Because I am not able
to write my own Ramdiskdriver until now (You never know what is in
future)I have to use those from others.

Remi, could you please send me THAT ntldr You use from

C:\Program Files\Windows Embedded\Remote Boot Service\Downloads\ntldr)

that works for You? I think there is a problem with /pack.

Saad wrotes, /pack is because all has to arrive at the right place. I
think that is exactly the problem with newer
builds of Windows Embedded.

Remi, my Email adress is

(e-mail address removed)

Perhaps I can then give you the answer, why this works and
most others not, I am thinking it is not a problem of ntldr.

Nice to hear from you,
with so much powerfull users we can do nearly all.

Dietmar
 
D

Dietmar

Hi Slobodan and Remi,
that might be true what Slobodan says.

It could be startrom.com , because I changed it.

Can you please send me also THAT startrom.com ,

which works for you Remi?

Thanks
Dietmar
 
S

Slobodan Brcin \(eMVP\)

Dietmar,
Hi all,
I still dont have until now the deep understanding of what is going on on
Boottime with ntldr.
Slobodan, thanks for your comments.

I'm trying to tell you that this is a last problem that you will have to consider.
Because I am not able
to write my own Ramdiskdriver until now (You never know what is in
future)I have to use those from others.

Please cool off for a day, do a meditation or some other relaxing thing and clear your minds of your current plan.
Then please try to understand my following sentence that I'm trying to tell you since the beginning.
1. You can't use MS ramdisk driver to support ram disk larger than ~500MB.
2. Not a single one third-party ramdisk driver (that I know of) is not written with support for RAM boot.

This leave you with only one forces choice. And that is to write your own driver.

If you don't want to take my word on this. Then please do simple test that I mentioned over and over.
Make small XPe image that you can boot with MS ramdisk driver. Then try to replace that driver with any third-party driver. If you
can find one that can work and let you boot, please let us know. Because this means that you have a remote chance for making this
work without your own driver.

Regards,
Slobodan

PS:
I'm unclear to what you are saying to Rémi.
Are you saying that you was never able to boot XPe by using his method?
 
?

=?iso-8859-1?q?R=E9mi_Lef=E8vre?=

On Thu, 30 Dec 2004 08:23:30 -0500, Dietmar wrote:

Hi Dietmar,

I'm sorry but I'm not sure that I can send to you my versions of NTLDR and
startrom.com without breaking the licences terms (Slobodan ?). My patch,
because it is a modification of syslinux, is in GPL, and if I want others
to respect this licence, I have to respect others licence too.

Moreover, I'm in holidays (I'm not so sorry for that ;) ) and I only have
them at work.

I will see if I can find links to them but I doubt I can.

In any cases, here are the exact sizes of my files (they were in hexa in
my blobs) :

startrom.com : 24258 bytes
NTLDR: 214016 bytes

They are from the initial release of XPe (SP1), look carefully if you can
find them. If you have a XPE licence, I'm sure you can obtain them legally.

regards,

Rémi
 
S

Slobodan Brcin \(eMVP\)

Rémi,
I'm sorry but I'm not sure that I can send to you my versions of NTLDR and
startrom.com without breaking the licences terms (Slobodan ?).

If it is not available for download then you can't send it. But it should be installed and there if he did installation for remote
boot support.
These files are from year 2002 which is in between of original files.

Regards,
Slobodan
 
D

Dietmar

Hi Slobodan,

I think, that only the image crashes after 120 days?

Why should Remi not send me those ntldr and startrom.com?
I think he wants an answer why other builds crash?

I will build an SDI image with the same startrom.com I used and another
build of ntldr to test whether you, Slobodan, are right.

Dietmar
 
S

Slobodan Brcin \(eMVP\)

Hi Dietmar,
Why should Remi not send me those ntldr and startrom.com?
I think he wants an answer why other builds crash?

Because of those awful legal mumbo/jumbo stuff :-(
At the end even if you make this all work if you plan to go commercial you will have to check with your legal department if your
usage purpose is in order regarding the legal stuff.

This is far beyond my understanding to help you with :-(

Regards,
Slobodan
 
D

Dietmar

Hi Slobodan,

I have an setup.exe (CD1)of XP EmbeddedSP1 build 17.5.2002
and another build 13.2.2003
and another build 13.9.2002.

Which is the right?

Thanks
Dietmar
 
S

Slobodan Brcin \(eMVP\)

Hi Dietmar,

I do not remember :-(
But I think that you should have some option on main install page.

Regards,
Slobodan
 

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