[U-Boot-Users] booting WindowsCE with u-boot

Andrea Scian andrea.scian at dave-tech.it
Wed Sep 8 15:29:56 CEST 2004


Hi all!

We are currently using u-boot as bootloader for all out Linux embedded
platforms but we need to support WindowsCE 4.2 too on our upcoming
ARM920T-based board (at the moment it's running Linux-2.6.x only with
u-boot, as some of you may know if you have read llandre posts of the past
days).

The evaluation board (EDB9312) is know using redboot to boot WinCE (as it
does with all the other OS), but (IMHO) u-boot is more powerful, flexible,
lightwight and user friendly :-)

Running WinCE is preatty dumb: just load the (huge....) binary image
somewhere and jmp to a specific location. No parameters to pass to the
kernel (at least no one reported officially by microsoft docs or by the
WinCE newsgroup): everything must be stored in the image (in the registry
binary file) or customized by the OEM.

Of course we want to do some more than just load a binary file run it
without any possibility of customizing its startup behavior (unless do a
full rebuild of the kernel :,-(.
We want to let the user change some of the basic OS parameter as we do in
Linux.

I don't know if some of you already had some experience in WinCE or has
thought about booting it using u-boot but in WinCE there are two spots to
customize to change the boot behaviour:

a) OEM code: which controls some low level information (memory layout,
CPU/board type, debug connection configuration, and so on...)
b) Registry setting: as in desktop enviroment everything is stored in the
registry, from driver loading and configuration option to TCP/IP
configuration, from demons startup to mount point and root file system.

First question: has anybody of you already worked (or at least thought to
work) with WinCE and u-boot? if yes: any idea about kernel boot parameter?

Here is my idea about the WinCE boot process from the u-boot perspective:

0) well.. load and store the binary image (which includes the kernel and the
(minimal) file too) as we already do, using mkimage tool to make it
compliant with the u-boot binary image format (this will require to add
another OS type, I think...).
1) pass some mandatory kernel argument using the ATAGs Linux like structure
(ATAG_CORE and ATAG_MEM at least, maybe add some custom tag if needed)
2) let the user change some common parameters (like TCP/IP configuration) in
an easy way, again using custom ATAG, ATAG_CMDLINE or by setting some
registry string somewhere (see point 3)
3) let the user to load some piece of registry (that will be stored later in
the system registry at startup) to customize the rest of the system in a
flexible way. My idea is to store a text file with of some registry key
somewhere in flash and then pass it address as kernel parameter.

But, of course, before proceeding with my "custom" WinCE support I want to
do know what the u-boot comunity think about my ideas..
Any suggestion or any advice?

Thanks in advance!

Regards,

Andrea Scian

DAVE Srl - Electronics System House
via Forniz 2/1
33080 Porcia (PN) - Italy
Telephone: +39.0434.921215
Telefax: +39.0434.591631
Freefax: +39.02.700520062
web: www.dave-tech.it
NEW e-mail address: andrea.scian at dave-tech.it
how to reach us: http://mail.map24.com/dave





More information about the U-Boot mailing list