Re: Filesys failed to initialize registry dirty, trying clean...

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



Hi Michel:

Thanks for your great help.

We found the problem. It comes from the SDRAM. We slow down the SDRAM access
time. Windows CE is running good now!


"Michel Verhagen (eMVP)" wrote:

All looks fine to me... Must be hardware ;o)

Was that initobj.dat dump you send line 72 or the first line of
initobj.dat? If it was line 72 then post the beginning of initobj.dat,
if it was the beginning, post line 72 here.

Besides that I'm out of ideas, sorry. Better do some low level checks in
your bootloader to see if address mapping does work as expected (so
write a memory test that loads in your bootloader or inside eboot).

Maybe Sue Loh can help you solve this problem as she's the MS expert on
filesystem/registry stuff (amongst a lot of other things)...

Michel Verhagen, eMVP
Embedded Fusion
www.embeddedfusion.com
mverhagen at embeddedfusion dot com


Benson Wang wrote:
Hi Michel:

Thanks a lot for your quick reply.

My Platform Builder is 5.0 and the update to PB are 2004 & 2005 yearly
update, and Jan & Feb of 2006.

Below are information for your reference

initobj.dat

root:-Directory("Program Files")
root:-Directory("My Documents")
Directory("\Windows"):-Directory("Desktop")
Directory("\Windows"):-Directory("Programs")
Directory("\Windows"):-Directory("Recent")

; @CESYSGEN IF SHELL_MODULES_EXPLORER
Directory("\Windows\Programs"):-File("Windows Explorer.lnk",
"\Windows\explore.lnk")
; @CESYSGEN ENDIF SHELL_MODULES_EXPLORER


reginit.ini

[HKEY_LOCAL_MACHINE\init]
; @CESYSGEN IF CE_MODULES_SHELL
; @CESYSGEN ENDIF
; @CESYSGEN IF CE_MODULES_DEVICE
"Launch20"="device.exe"
; @CESYSGEN IF CE_MODULES_SHELL
; @CESYSGEN ENDIF
; @CESYSGEN ENDIF
; @CESYSGEN IF CE_MODULES_GWES
"Launch30"="gwes.exe"
"Depend30"=hex:14,00
; @CESYSGEN ENDIF
; @CESYSGEN IF CE_MODULES_BTGW
; @CESYSGEN ENDIF

"Michel Verhagen (eMVP)" wrote:

Addresstable and config.bib seem to be ok:


8C20100 + 013FF000 = 8D600000
013FF000 + 06A00000 = 7DFF000
7DFF000 + 201000 = 8000000 = 128MB


Re-reading your debug output shows you have an error in one of your dat
files:

0x93fc5000: INITOBJ: Syntax error at initobj.dat:72, ignoring line
> > 0x93fc5000: INITOBJ: Error: "root" not first statement in
initobj.dat, not
> > processing initobj.dat

Check initobj.dat line 72 in your flatreleasedir, then post that line
(and a couple surrounding lines) here.

Also check reginit.ini in your flatreleasedir for
[HKEY_LOCAL_MACHINE\Init] keys, and the Launchxx and Dependsxx values.
Copy'n'paste everything here.


Regards,

Michel Verhagen, eMVP
Embedded Fusion
www.embeddedfusion.com
mverhagen at embeddedfusion dot com

Benson Wang wrote:
Hi Michel:

Thanks for your reply.

Our system is samsung s3C2410 + 64MB NAND flash + 128 MB SDRAM.
And my OS design has already added RAM based registry and RAM/ROM filesystem.

below is config.bib

MEMORY
NK 8C201000 013FF000 RAMIMAGE
;;;RAM 8D600000 02A00000 RAM
;;;FLASH 92000000 00100000 RESERVED
RAM 8D600000 06A00000 RAM


; Common RAM areas
AUD_DMA 8c002000 00000800 RESERVED
SDIO_DMA 8c010000 00010000 RESERVED
ARGS 8C020800 00000800 RESERVED
DBGSER_DMA 8c022000 00002000 RESERVED
SER_DMA 8c024000 00002000 RESERVED
IR_DMA 8c026000 00002000 RESERVED
EDBG 8c030000 00040000 RESERVED
SLEEP_BUFF 8c070000 00004000 RESERVED
DISPLAY 8c100000 00100000 RESERVED

CONFIG
COMPRESSION=ON
KERNELFIXUPS=ON

IF IMGPROFILER
PROFILE=ON
ELSE
PROFILE=OFF
ENDIF

;
; ROMFLAGS is a bitmask of options for the kernel
; ROMFLAGS 0x0001 Disallow Paging
; ROMFLAGS 0x0002 Not all KMode
; ROMFLAGS 0x0010 Trust Module only
;
IF IMGTRUSTROMONLY
IF IMGNOTALLKMODE
ROMFLAGS=12
ELSE
ROMFLAGS=10
ENDIF
ELSE
IF IMGNOTALLKMODE
ROMFLAGS=02
ELSE
ROMFLAGS=00
ENDIF
ENDIF

ROMSTART=8C201000
ROMWIDTH=32
ROMSIZE=013FF000

and below is oemaddresstab_cfg.inc

g_oalAddressTable

DCD 0x80000000, 0x00000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 0
DCD 0x82000000, 0x08000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 1
DCD 0x84000000, 0x10000000, 32 ; nGCS2: PCMCIA/PCCARD
DCD 0x86000000, 0x18000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 3
DCD 0x88000000, 0x20000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 4
DCD 0x8A000000, 0x28000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 5
DCD 0x8C000000, 0x30000000, 128 ; 128 MB DRAM BANK 6
;;;DCD 0x8C000000, 0x30000000, 64 ; 64 MB DRAM BANK 6
;;;DCD 0x90000000, 0x34000000, 64 ; 64 MB DRAM BANK 7
DCD 0x94800000, 0x48000000, 1 ; Memory control register
DCD 0x94900000, 0x49000000, 1 ; USB Host register
DCD 0x94A00000, 0x4A000000, 1 ; Interrupt Control register
DCD 0x94B00000, 0x4B000000, 1 ; DMA control register
DCD 0x94C00000, 0x4C000000, 1 ; Clock & Power register
DCD 0x94D00000, 0x4D000000, 1 ; LCD control register
DCD 0x94E00000, 0x4E000000, 1 ; NAND flash control register
DCD 0x95000000, 0x50000000, 1 ; UART control register
DCD 0x95100000, 0x51000000, 1 ; PWM timer register
DCD 0x95200000, 0x52000000, 1 ; USB device register
DCD 0x95300000, 0x53000000, 1 ; Watchdog Timer register
DCD 0x95400000, 0x54000000, 1 ; IIC control register
DCD 0x95500000, 0x55000000, 1 ; IIS control register
DCD 0x95600000, 0x56000000, 1 ; I/O Port register
DCD 0x95700000, 0x57000000, 1 ; RTC control register
DCD 0x95800000, 0x58000000, 1 ; A/D convert register
DCD 0x95900000, 0x59000000, 1 ; SPI register
DCD 0x95A00000, 0x5A000000, 1 ; SD Interface register
;DCD 0x96000000, 0x00000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 0
DCD 0x00000000, 0x00000000, 0 ; end of table



"Michel Verhagen (eMVP)" wrote:

Tell us a bit more about your system, and show us your config.bib and
OEMAddresstable. Also, try to create a kernel with RAM based registry
and RAM/ROM filesystem first. That's the easier configuration and makes
testing your memory config more clear.


Michel Verhagen, eMVP
Embedded Fusion
www.embeddedfusion.com
mverhagen at embeddedfusion dot com

Benson Wang wrote:
Hi All:

I am trying to porting our system from 64MB SDRAM to 128MB SDRAM.
I had changed config.bib & oemaddrtab_cfg.inc to 128MB.

When OS boots, it show below message and then lock ...

Windows CE Kernel for ARM (Thumb Enabled) Built on Jun 24 2004 at 18:21:58
ProcessorType=0920 Revision=0
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8c219e04
DCache: 8 sets, 64 ways, 32 line size, 16384 size
ICache: 8 sets, 64 ways, 32 line size, 16384 size
+OALIntrInit: Set SYSINTR_WLAN as IRQ_EINT8 .

Error Reporting Memory Reserved, dump size = 00020000
Booting Windows CE version 5.00 for (ARM)
&pTOC = 8c20ac1c, pTOC = 8d08f030, pTOC->ulRamFree = 8d629000, MemForPT =
00000000

Old or invalid version stamp in kernel structures - starting clean!
Configuring: Primary pages: 27055, Secondary pages: 0, Filesystem pages =
13527

Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 8d62a000, extension: 00007000, length: 069af000
Sp=ffffc7cc
ARMInit done.
Windows CE KernelInit
Updated eptr->e32_vsize to = 000a9000
Scheduling the first thread.
0x93fdf024: KernelInit2: pCurThread=93fdf024 hCurThread=13fdf266
hCurProc=13fdf002, KernelInit = 8c228034
0x93fdf024: Detecting VFP...0x93fdf024: VFP Not Found!
0x93fdf024: first = 01e60000, last = 02000000, SharedDllBase = 031f0000
0x93fdf024: OEMIoControl: Unsupported Code 0x10100b4 - device 0x0101 func 45
0x93fc5000: CertMod.dll not found, using old OEM Trust Model
0x93fc5000: FileSystem Starting - starting with clean file system
0x93fc5000: +SMDK2410_OALIoCtlHalInitRTC(...)
0x93fc5000: +SMDK2410_OEMSetRealTime(2003/1/1 12:0:0.000)
0x93fc5000: -SMDK2410_OALIoCtlHalInitRTC(rc = 1)
0x93fc5000: FS: initializing ROM/RAM file system
0x93fc5000: SC_CreateAPIHandle: pvData == NULL
0x93fc5000: FS: Registering file system ROM, index 2, flags 0x00000031
0x93fc5000: FS: Mount complete (ROM, index 2, flags 0x00000031)
0x93fc5000: OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
0x93fc5000: Failed CheckFile 4
0x93fc5000: Filesys failed to initialize registry dirty, trying clean...
0x93fc5000: OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
0x93fc5000: InitSharedHeap: 4a000000 10000 c
0x93fc5000: InitSharedHeap: return 4a000060
0x93fc5000: FSREG: Unable to read value "NoDefaultUser" under
HKEY_LOCAL_MACHINE\init\BootVars
0x93fc5000: FSREG: Logging in default user.
0x93fc5000: FSREG: Unable to read value "DefaultUser" under
HKEY_LOCAL_MACHINE\init\BootVars
0x93fc5000: SetCurrentUser: Logging out (nobody), logging in default
0x93fc5000: FS: Using default path "\profiles\"
0x93fc5000: BuildPath: profiles
0x93fc5000: BuildPath: profiles\default
0x93fc5000: SetCurrentUser: User hives not supported -- using same registry
for all users
0x93fc5000: FS: Using default path "Windows\"
0x93fc5000: OEMIoControl: Unsupported Code 0x10100d0 - device 0x0101 func 52
0x93fc5000: OEMIoControl: Unsupported Code 0x10100f8 - device 0x0101 func 62
0x93fc5000: FS: Using default path "Windows\"
0x93fc5000: FSREG: Unable to read value "DBFlags" under
HKEY_LOCAL_MACHINE\init\BootVars
0x93fc5000: INITOBJ: Syntax error at initobj.dat:72, ignoring line
0x93fc5000: INITOBJ: Error: "root" not first statement in initobj.dat, not
processing initobj.dat
0x93fc5000:
Initializing Database
0x93fc5000: ERROR: c:\macallan\private\winceos\coreos\filesys\dbase\initdb.c
line 667: 0x93fc5000: Illegal spec on line 207
0x93fc5000: Filesystem initialized!
0x93fc5000: FILESYS: Waiting for kernel to be ready to launch apps
0x93fcaa40: InitMUI: DISABLED (-1039860968)
0x93fc5000: FS: HKLM\System\Events not available, no signal events created.
0x93fc5000: FILESYS: Launching apps
0x93fc5000: ERROR: c:\macallan\private\winceos\coreos\filesys\main\fsmain.c
line 4101: 0x93fc5000: Unable to locate init key for starting apps!
0x93fc5000: FILESYS: Done launching apps
0x93fc5000: This device has booted 2 times !!!

Please help me to find what is wrong with this?
--

--


--

.



Relevant Pages

  • Re: Filesys failed to initialize registry dirty, trying clean...
    ... ; @CESYSGEN ENDIF SHELL_MODULES_EXPLORER ... And my OS design has already added RAM based registry and RAM/ROM filesystem. ... try to create a kernel with RAM based registry and RAM/ROM filesystem first. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Filesys failed to initialize registry dirty, trying clean...
    ... ; @CESYSGEN ENDIF SHELL_MODULES_EXPLORER ... And my OS design has already added RAM based registry and RAM/ROM filesystem. ... try to create a kernel with RAM based registry ...
    (microsoft.public.windowsce.platbuilder)
  • Prefetch Abort in FileSys
    ... I figured maybe I was just short of RAM. ... I know that possibly this is a memory mapping setup problem. ... Booting kernel with existing memory configuration: ... ; @CESYSGEN ENDIF CE_MODULES_TKTEST ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Hive-based registry problem
    ... "Michel Verhagen (eMVP)" wrote: ... IDE Secondary socket: Compact Flash Transcend 128M ... ; END HIVE BOOT SECTION ... ; @CESYSGEN ENDIF FILESYS_FSREGHIVE ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Problem with building emulator image
    ... ; @CESYSGEN ENDIF CE_MODULES_GWES ... "Bruce Eitman (eMVP)" wrote: ... > beitman AT applieddata DOT net ...
    (microsoft.public.windowsce.platbuilder)