[syslinux] help with module to boot Windows CE

Giulian Vivan giulian at ossystems.com.br
Fri Jun 1 07:26:49 PDT 2012


Hello!

I work for O.S. Systems with Otavio Salvador. We are trying to build a
module for syslinux to boot a Windows CE 6.0 image.

The basic stuff is: we need to load a Windows CE image and jump to its
entry point. The Windows CE image file (nk.bin) has its entry point is
stored on a variable location. The first 15 bytes of the file are the image
header. The following bytes are a contiguous list of records. The first 12
bytes of each record are the record header and the following 'n' bytes the
record data. The size of the data is stored on the record header. The entry
point address of the image is stored on the last record (which have address
== 0 and the 'data size' field stores the entry point address).

Attached to the e-mail there is the 'whole-wip.diff' file with our current
changes to syslinux (applied over syslinux-4.06-pre2 tag).

When we test the code, we find the entry point. But syslinux fails to boot
with 'syslinux_shuffle_boot_pm'. The symptomatic failure (we don't know if
it's the root failure) comes from the function 'syslinux_compute_movelist'
called from 'syslinux_do_shuffle'. The last 'printf' shown from inside
'syslinux_compute_movelist' is the one marked with
"##########################", that means, seems like the appropriate error
message would be 'Cannot find the chunk containing the critical byte\n".

We're not familiar with the syslinux code so we're having trouble to find
out what's wrong with our code. We really appreciate if you could help us
with this.

Thanks in advance!

Giulian Gonçalves Vivan
O.S. Systems Software Ltda.
www.ossystems.com.br
+55 53 3282-2787
-------------- next part --------------
A non-text attachment was scrubbed...
Name: whole-wip.diff
Type: application/octet-stream
Size: 13099 bytes
Desc: not available
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20120601/f7b2c898/attachment.obj>


More information about the Syslinux mailing list