The system hive worked on a Geode build using PB4.1 but locks up using PB
4.2

The target uses an IDE HardDrive for hive storage.

In both PlatformBuilder 4.1 and 4.2, the hive registry settings are:

; @CESYSGEN IF FILESYS_FSREGHIVE
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]
"SYSTEMHIVE"="Documents and Settings\\system.hv"
"PROFILEDIR"="Documents and Settings"
"Start DevMgr"=dword:1


[$(PCI_BUS_ROOT)\Template\GeodeIDE]
"Flags"=dword:1000
[$(PCI_BUS_ROOT)\Template\GeodeIDE\Device0]
"Flags"=dword:1000
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\HDProfile]
"MountFlags"=dword:2

; END HIVE BOOT SECTION
; @CESYSGEN ENDIF FILESYS_FSREGHIVE

In 4.2 the GEODE system locks up after Initializing the volume heap which is
the last debug message output.

4294768981 ...FS: Registering file system Hard Disk, index 4, flags
0x00000002
4294768983 ...FILESYS: Device started. Boot file system ready.
4294768991 ...FSVOL: Opening existing volume
4294768993 ...FSVOL: Volume heap already initialized
4294768993 ...FSREG: Mounted ROM portion of system hive
4294768994 ...FILESYS: Loading system hive from Hard Disk\Documents and
Settings\system.hv.
4294769027 ...ERROR:
d:\mckendric\private\winceos\coreos\filesys\heap\.\volume.c line 461:
4294769027 ...FSVOL: Aborting init on non-volume
4294769028 ...FSREG: Mounting clean system hive
4294769029 ...BuildPath: Hard Disk
4294769029 ...FATFS!FAT_CreateDirectoryW(1 chars: \) returned FALSE (183)
4294769030 ...BuildPath: Hard Disk\Documents and Settings
4294769031 ...FATFS!FAT_CreateDirectoryW(23 chars: \Documents and Settings)
returned FALSE (183)
4294769034 ...FSVOL: Opening existing volume
4294769034 ...FSVOL: Creating new volume
4294769177 ...FSVOL: Initializing volume heap
4294769207 ...FSREG: Taking down boot registry. Any open keys will be
invalid.
4294769275 ...FILESYS: Registry in place.
4294769279 ...FSREG: Unable to read value "DBFlags" under
HKEY_LOCAL_MACHINE\init\BootVars
4294769349 ...FSREG: Unable to read value "NoDefaultUser" under
HKEY_LOCAL_MACHINE\init\BootVars
4294769350 ...FSREG: Logging in default user.
4294769350 ...FSREG: Unable to read value "DefaultUser" under
HKEY_LOCAL_MACHINE\init\BootVars
4294769351 ...SetCurrentUser: Logging out (nobody), logging in default
4294769353 ...FSREG: Mounting ROM portion of user hive
4294769361 ...FSVOL: Opening existing volume
4294769363 ...FSVOL: Volume heap already initialized
4294769364 ...Mounting user hive from Hard Disk\Documents and
Settings\default\user.hv
4294769373 ...ERROR:
d:\mckendric\private\winceos\coreos\filesys\heap\.\volume.c line 461:
4294769374 ...FSVOL: Aborting init on non-volume
4294769375 ...FSREG: Mounting clean user hive
4294769377 ...FSVOL: Opening existing volume
4294769378 ...FSVOL: Creating new volume
4294769433 ...FSVOL: Initializing volume heap

In 4.1 the boot up continues after this:

4294769711 ...FS: Registering file system Hard Disk, index 4, flags
0x00000002
4294769714 ...FILESYS: Device started. Boot file system ready.
4294769716 ...FSVOL: Opening existing volume
4294769718 ...FSVOL: Volume heap already initialized
4294769719 ...FSREG: Mounted ROM portion of system hive
4294769719 ...FILESYS: Loading system hive from Hard Disk\Documents and
Settings\system.hv.
4294769758 ...FSVOL: Opening existing volume
4294769766 ...FSVOL: Volume heap already initialized
4294769772 ...FSREG: Mounted existing system hive
4294769772 ...FSREG: Taking down boot registry. Any open keys will be
invalid.
4294769797 ...FILESYS: Registry in place.
4294769797 ...FSREG: Set persist value (0)
4294770028 ...FSREG: Unable to read value "NoDefaultUser" under
HKEY_LOCAL_MACHINE\init\BootVars
4294770028 ...FSREG: Logging in default user.
4294770029 ...FSREG: Unable to read value "DefaultUser" under
HKEY_LOCAL_MACHINE\init\BootVars
4294770030 ...SetCurrentUser: Logging out (nobody), logging in default
4294770045 ...FSREG: Mounting ROM portion of user hive
4294770047 ...FSVOL: Opening existing volume
4294770049 ...FSVOL: Volume heap already initialized
4294770050 ...Mounting user hive from Hard Disk\Documents and
Settings\default\user.hv
4294770095 ...FSVOL: Opening existing volume
4294770100 ...FSVOL: Volume heap already initialized
4294770105 ...FSREG: Set persist value (0)
4294770188 ...
Initializing Database
4294770192 ...Filesystem initialized!

The relevant difference seems to be:
ERROR: d:\mckendric\private\winceos\coreos\filesys\heap\.\volume.c

Who is mckendric?

Re: HIVE GEODE 4.2 vs 4.1 IDE Harddrive mckendric by gareth

gareth
Thu Sep 25 04:47:50 CDT 2003

This may not help, but when I was playing with HIVE storage on hard-disk, I
found that when changing the NK.BIN build, it was best to make sure that any
OLD hive files stored on the hard disk were deleted (booting to DOS and
manually delete them), before trying to boot the new NK.BIN file for the
first time.

I guessed that the old and new hive files had some differences that upset
the new NK.BIN's expectation.

Also I presume that you had a bootable V4.2 (NON HIVE) version before you
added HIVE to your latest V4.2 image, and that the problem is not some other
change you made at the same time.

Hope this helps and is not a wild goose.



Re: HIVE GEODE 4.2 vs 4.1 IDE Harddrive mckendric by Richard

Richard
Thu Sep 25 10:31:15 CDT 2003

If the Hive already exists on the disk then the boot hangs up after the
following:

Loaded symbols for
'C:\WINCE420\PUBLIC\SCAN2\RELDIR\NATIONAL_GEODE_X86DEBUG\FATFSD.DLL'
FSD_MountDisk: mounting volumes for hDsk=00093CB0
FATFS!MountDisk: BPB_HiddenSectors(63) != 0
FATFS!OpenVolume: access time updates disabled
FATFS!OpenVolume: event logging enabled
FATFS!OpenVolume: automatic scanning disabled
FATFS!OpenVolume: write verify disabled
FATFS!OpenVolume: extra FAT on format disabled
FATFS!OpenVolume: force write through enabled
FATFS!OpenVolume: Codepage = 1
FATFS!InitVolume: driver disagrees with BPB (BPB CHS=260:255:63)
FATFS: Sec/FAT = 256!!!
FATFS: CacheSize = 256!!!
FS: Registering file system Hard Disk, index 4, flags 0x00000002
FILESYS: Device started. Boot file system ready.
FSVOL: Opening existing volume
FSVOL: Volume heap already initialized
FSREG: Mounted ROM portion of system hive
FILESYS: Loading system hive from Hard Disk\Documents and
Settings\system.hv.
FSVOL: Opening existing volume
FSVOL: Volume heap already initialized
FSREG: Existing hive was created with a different ROM, discarding


"gareth james" <gareth.james.spam@uk.junk.thales.group.com> wrote in message
news:bkudk7$nro$1@rdel.co.uk...
> This may not help, but when I was playing with HIVE storage on hard-disk,
I
> found that when changing the NK.BIN build, it was best to make sure that
any
> OLD hive files stored on the hard disk were deleted (booting to DOS and
> manually delete them), before trying to boot the new NK.BIN file for the
> first time.
>
> I guessed that the old and new hive files had some differences that upset
> the new NK.BIN's expectation.
>
> Also I presume that you had a bootable V4.2 (NON HIVE) version before you
> added HIVE to your latest V4.2 image, and that the problem is not some
other
> change you made at the same time.
>
> Hope this helps and is not a wild goose.
>
>



Re: HIVE GEODE 4.2 vs 4.1 IDE Harddrive mckendric by Richard

Richard
Thu Sep 25 12:43:36 CDT 2003

Found it. Disk driver problem.

In geodide.reg, changed "Settings" from DMA mode to PIO mode for the disk.

[$(PCI_BUS_ROOT)\Template\GeodeIDE\Device0]
"Prefix"="DSK"
"Dll"="atapi.dll"
; rl changed from F
"Settings"=dword:A
"DeviceId"=dword:0
"Ioctl"=dword:4
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"

Doing a file compare revealed that there were a large number of changes in
public\common\oak\drivers\block\atapi, many of which involve timeouts and
delays.

There is at least one place, in WaitForDRQ, that a continue statement skips
over a time delay function. Rolling back the atapi directory to the
wince410 version got farther in the boot process, but the problem is deeper
than that.


"Richard Lyman" <randi.lyman@comcast.net> wrote in message
news:OqaLOX0gDHA.2484@TK2MSFTNGP09.phx.gbl...
> The system hive worked on a Geode build using PB4.1 but locks up using PB
> 4.2
>
> The target uses an IDE HardDrive for hive storage.
>