Re: CE5 hangs in KitlInit

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



The flag is passed from the IDE to the bootloader when using PB to download
the image. It is then the responsibility of the loader to pass that flag
along to the kernel through some kind of platform specific mechanims. The
boot args structure is one example of what that might look like. If you
don't download an image from PB, then you won't get that setting from PB.

There is no real difference between CE4.2 and CE5 loaders. The example
loaders from MS look different primarily because they've changed their
source code structure with the PQOAL. It's really nothing more than code
refactoring. You can use it or not, it's up to you. The basic tasks
required of the loader to communicate with PB have not changed.

The main problem you have is a disconnect between the platform specific
portions of your bootloader and OAL. All communication between the loader
and OAL is platform specific. How you do it is up to you, but you have to
ensure that both pieces are in sync. You can use the PQOAL or not in CE5.
If you do then you need to decide if you want to implement anything that
requires communication with the loader. If so, you need to implement the
corresponding code in the loader.

--
Dean Ramsier - eMVP
BSQUARE Corporation


"Ulrich Eckhardt" <eckhardt@xxxxxxxxxxxxxx> wrote in message
news:7j0mq3-7nt.ln1@xxxxxxxxxxxxxxxxxxxxxxxxx
Dean Ramsier wrote:
1) There is a flag in the PB Connectivity Options dialog, Core Service
Settings that can control whether Kitl connects in Active (wait for PB to
connect) or Passive (don't connect until a client requests it) mode. The
setting for this check box is passed to the bootloader as part of the
flags that come down at the end of a bootloader download.
Your bootloader can choose whether to honor this flag and pass it on to
the kernel for use in OEMInit.

Hmmm, I'm not sure I understand: do you mean that the flag is passed along
when writing the bootloader to flash or when I use PB with EBOOT to load a
kernel? I guess the latter is the case, because the former doesn't involve
PB at all.
FWIW, the bootloader I use is EBOOT from CE4.2(not CE5!) because I need to
still be able to boot CE4.2 images. I might upgrade at a later stage.

3) It's probably trying to connect, with nothing available to connect to.
If you have kitl enabled, make sure that PB and your device is configured
to handle the connection.

Okay, I found some code in OALKitlStart that tries to read an OAL_KITL_ARG
structure from the bootargs, but it always returns NULL because this
structure simply doesn't exist in the CE4.2 EBOOT arguments. It then used
the default flags that KITL is activated and DHCP used
(OAL_KITL_FLAGS_ENABLED and *_DHCP).
Now, I simply added OAL_KITL_FLAGS_PASSIVE to the flags, and now it boots.
However, now I have another problem: even when booting via PB, I don't get
the bootmessages - probably right so, because it says that the connection
is made on demand, i.e. when a debug break is triggered.

I now looked at the old bootloader's code, and I found in the BOOT_ARGS
structure the field ucEshellFlags which seems to have EDBG_FL_CLEANBOOT
when booting via CompactFlash.

It works now, though I'm not 100% sure I'm doing the right thing. Should
probably use the CE5 EBOOT...

thanks

Uli




.



Relevant Pages

  • Re: [Movitz] text console video on Toshiba Satellite
    ... > to NTRaWrite since it didn't seem to work anywhere) ... the effort to debug this loader for every weird BIOS out there: ... use the source and debug the bootloader so that it ...
    (comp.lang.lisp)
  • Re: [patches] [PATCH] [21/22] x86_64: Extend bzImage protocol for relocatable bzImage
    ... The boot protocol change is in 2.6.21 for arch/i386. ... HPA looked at it a while ago. ... All it does is set a flag that tells a bootloader. ...
    (Linux-Kernel)
  • Re: online updates of flash card images
    ... only have 512M of RAM, so that eliminates running things out of RAM.. ... is to set some flags in your bootloader so that it boots into the correct image. ... When update is triggered a flag for the bootloader is set saying that ...
    (comp.os.linux.embedded)
  • Re: Splash Screen bootloader
    ... The bootloader does not have an OS to manage the dynamic ... Steve Maillet wrote: ... You either need to completely re-write ... loader to handle interrupts. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Cromwell BIOS auto-boot?
    ... file used by the GRUB based bootloader and add... ... ...or similar to cause the loader to pick the default after 5 seconds of waiting. ...
    (uk.games.video.xbox)