I'm currently trying to get my X86 CEPC to boot from an IDE attached CF card
and I'm having a problem getting the bootloader to read the nk.bin file on
the card. Using VS2005 and Windows CE 6 R3 with all service packs installed.

The CF card was created using the setup disk image that came with platform
builder using the fdisk, format and mkdisk utils. I've also made sure the
boot.ini is calling out my nk.bin file.

Here is the output from the serial port during boot-up, with error code
explanations from the bootloader's debug.h added for clarity:

Microsoft Windows CE BIOS Bootloader Version 2.2 (Built Jul 14 2005)
INFO: code=0x4. <- File found
INFO: code=0x4.
INFO: code=0x4.
ERROR: code=0xC. <- Reached EOF cluster in FAT file chain
ERROR: code=0xB. <- Cannot read record information
INFO: code=0x37. <- Trying backup image file
INFO: code=0x4.
Jumping to image (address=0x13C58C)

Microsoft Windows CE Bootloader Common Library Version 1.4 Built May 12 2007
12:22:44
Microsoft Windows CE Ethernet Bootloader 3.7 for CE/PC (May 12 2007)
...

From this point on, the device boot up using the eboot and starts sending
BOOTME's over ethernet. If platform builder responds, the same nk.bin get
transfered and runs just fine.

I initially thought that maybe the nk.bin file was getting corrupted somehow
while being transfered to the CF card. I was initially doing this via a USB
card reader attached to my development platform. So I also tried transfering
the file over via a USB drive and using the command line to copy the file on
the target system. Got the exact same result either way...

I also did notice that the file name on my development system is NK.bin and
the boot.ini is looking for nk.bin (lower case), but changing the case on
this to match made no difference. Didn't think it would as the eboot.bix is
all lower case in the ini and all uppercase on the disk and it's working
fine...

One thought is that I've had to disable the DMA in both my BIOS and ATAPI
drivers for these CF cards to work reliably. I'm assuming that the BIOS boot
loader does not over-ride the BIOS setting on this, but I'm not certain.

If anyone could provide insight on this or other ideas on what to check, I'd
greatly appreciate it. Thanks in advance!

RE: BIOS Bootloader issue by spyke555

spyke555
Sat Mar 29 20:06:01 PDT 2008

Got this one resolved...

I'm using a VIA C7 based board and so I tried the VIA freeboot bios boot
loader instead and it works fine.

"spyke555" wrote:

> I'm currently trying to get my X86 CEPC to boot from an IDE attached CF card
> and I'm having a problem getting the bootloader to read the nk.bin file on
> the card. Using VS2005 and Windows CE 6 R3 with all service packs installed.
>
> The CF card was created using the setup disk image that came with platform
> builder using the fdisk, format and mkdisk utils. I've also made sure the
> boot.ini is calling out my nk.bin file.
>
> Here is the output from the serial port during boot-up, with error code
> explanations from the bootloader's debug.h added for clarity:
>
> Microsoft Windows CE BIOS Bootloader Version 2.2 (Built Jul 14 2005)
> INFO: code=0x4. <- File found
> INFO: code=0x4.
> INFO: code=0x4.
> ERROR: code=0xC. <- Reached EOF cluster in FAT file chain
> ERROR: code=0xB. <- Cannot read record information
> INFO: code=0x37. <- Trying backup image file
> INFO: code=0x4.
> Jumping to image (address=0x13C58C)
>
> Microsoft Windows CE Bootloader Common Library Version 1.4 Built May 12 2007
> 12:22:44
> Microsoft Windows CE Ethernet Bootloader 3.7 for CE/PC (May 12 2007)
> ...
>
> From this point on, the device boot up using the eboot and starts sending
> BOOTME's over ethernet. If platform builder responds, the same nk.bin get
> transfered and runs just fine.
>
> I initially thought that maybe the nk.bin file was getting corrupted somehow
> while being transfered to the CF card. I was initially doing this via a USB
> card reader attached to my development platform. So I also tried transfering
> the file over via a USB drive and using the command line to copy the file on
> the target system. Got the exact same result either way...
>
> I also did notice that the file name on my development system is NK.bin and
> the boot.ini is looking for nk.bin (lower case), but changing the case on
> this to match made no difference. Didn't think it would as the eboot.bix is
> all lower case in the ini and all uppercase on the disk and it's working
> fine...
>
> One thought is that I've had to disable the DMA in both my BIOS and ATAPI
> drivers for these CF cards to work reliably. I'm assuming that the BIOS boot
> loader does not over-ride the BIOS setting on this, but I'm not certain.
>
> If anyone could provide insight on this or other ideas on what to check, I'd
> greatly appreciate it. Thanks in advance!