Re: implement rom-only using SD Card



On Oct 27, 9:25 am, Jack Chen <JackC...@xxxxxxxxxxxxxxxxxxxxxxxxx>
wrote:
hi,
[wince5.0,armv4i]I'm implementing rom-only file system using my SD Card, but
some of the device cann't start up successfully, I cann't not see the
desktop, it seems that the explorer.exe goes wrong.
here is my SD driver registry settings:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SD1]
        "Prefix"="SDI"
        "Dll"="SD_1.dll"
        "Index"=dword:2
        "Order"=dword:0
        "Profile"="SD1"
;       "Flags"=dword:1000
;       "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SD1]
    "Name"="Nand Flash"
        "DefaultFileSystem"="FATFS"
        "Folder"="NandFlash"
        "FSD"="fatfs.dll"
        "PartitionDriver"="mspart.dll"
        "AutoMount"=dword:1
        "AutoPart"=dword:1
        "AutoFormat"=dword:1
;       "BootPhase"=dword:0
        "MountFlags"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SD1\FATFS]
    "MountAsRoot"=dword:1
    "MountAsBootable"=dword:1
    "MountPermanent"=dword:1

and I have captured the DEBUG messages:
0x8fdebd88: Opened the store hStore=000A0750
0x8fdebd88: <+SDI_IOControl>
0x8fdebd88: NumSec=3635200 BytesPerSec=512 FreeSec=0 BiggestCreatable=0
0x8fdebd88: Partition Part00  NumSectors=10000
0x8fdebd88: MSPART!PD_OpenPartition: dwStoreId=000A0750, PartName=Part00
0x8fdebd88: <+SDI_IOControl>
0x8fdebd88: FSD_MountDisk: mounting volumes for hDsk=000A20F0
0x8fdebd88: <+SDI_IOControl>
0x8fdebd88: FATFS!OpenVolume: access time updates disabled
0x8fdebd88: FATFS!OpenVolume: event logging enabled
0x8fdebd88: FATFS!OpenVolume: automatic scanning disabled
0x8fdebd88: FATFS!OpenVolume: write verify disabled
0x8fdebd88: FATFS!OpenVolume: extra FAT on format disabled
0x8fdebd88: FATFS!OpenVolume: force write through enabled
0x8fdebd88: FATFS!OpenVolume: Codepage = 1
0x8fdebd88: FATFS!OpenVolume: Number of path cache entries = 50
0x8fdebd88: CreateCache: Successful.  Cache Size: 10 KB, Start: 1, End: 20.
0x8fdebd88: CreateCache: Successful.  Cache Size: 20 KB, Start: 21, End: 9999.
0x8fdebd88: <+SDI_IOControl>
0x8fdebd88: FATFS!InitVolume: FAT version: 16
0x8fdebd88: FATFS!InitVolume: Cluster Size (Sectors): 2
0x8fdebd88: FS: Mounting external volume NandFlash as file system root
0x8fdebd88: FS: Registering file system <root>, index 7, flags 0x00000046
0x8fdebd88: FS: Mount complete (<root>, index 7, flags 0x00000046)
0x8fdebd88: FS: Populating root file system...
0x8fdebd88: <+SDI_IOControl>
0x8fdebd88: FATFS!FAT_CreateDirectoryW(8 chars: \Windows) returned FALSE (183)
0x8fdebd88: FATFS!FAT_CreateDirectoryW(5 chars: \Temp) returned FALSE (183)
0x8fdebd88: <+SDI_IOControl>
0x8fdebd88: FATFS!FAT_CreateFileW(\Windows\initobj.dat) returned 0x0 (2)
0x8fdebd88: FATFS!FAT_CreateDirectoryW(14 chars: \Program Files) returned
FALSE (183)
0x8fdebd88: FATFS!FAT_CreateDirectoryW(13 chars: \My Documents) returned
FALSE (183)
0x8fdebd88: FATFS!FAT_CreateDirectoryW(8 chars: \Windows) returned FALSE (183)
0x8fdebd88: FATFS!FAT_CreateDirectoryW(16 chars: \Windows\Desktop) returned
FALSE (183)
0x8fdebd88: FATFS!FAT_CreateDirectoryW(8 chars: \Windows) returned FALSE (183)
0x8fdebd88: FATFS!FAT_CreateDirectoryW(17 chars: \Windows\Programs) returned
FALSE (183)
0x8fdebd88: FATFS!FAT_CreateDirectoryW(8 chars: \Windows) returned FALSE (183)
0x8fdebd88: FATFS!FAT_CreateDirectoryW(15 chars: \Windows\Recent) returned
FALSE (183)
0x8fdebd88: FATFS!FAT_CreateDirectoryW(17 chars: \Windows\Programs) returned
FALSE (183)
0x8fdebd88: FATFS!FAT_CreateFileW(\Windows\explore.lnk) returned 0x0 (2)
0x8fdebd88: <+SDI_IOControl>
0x8fdebd88: IOCTL_DISK_DELETE_SECTORS start=69 cnt=2 not support
...
...
...
...
UpdateIdleTimeoutFromRegistry
0x8fde81a8: FILESYS: SignalStarted loop = 2
0x8fde81a8: FILESYS: Launching explorer.exe
0x8fd548ec: AddToProcessInputLocaleTable: Added process to
ProcessInputLocale table, hProcess = 0xAFDC17AE0x8f98a6ac:

InitSharedHeap: 4a000000 0 c
0x8f98a6ac:   InitSharedHeap: return 4a000060
0x8f98a6ac: AddToProcessInputLocaleTable: Added process to
ProcessInputLocale table, hProcess = 0x6F98A8EE0x8f98a6ac: Entering
InitCapEdit
0x8f98a6ac: CAPEDIT registered(49177)
0x8f98a6ac: InitTTButton:
0x8fde81a8: FILESYS: Done launching apps
0x8fde81a8: -DEVICE!DevloadPostInit
0x8fde81a8: This device has booted 1 times !!!
0x8f98a6ac: Process explorer.exe loaded Module ceshell.dll without freeing
it before process exit
0x8f98a6ac: DeleteFromProcessInputLocaleTable: Deleted process from
ProcessInputLocale table, hProcess: 0x6F98A8EE0x8fa94750: set freq at=24Mhz

try adding the registry key
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SD1\FATFS]
"MountAsRoot"=dword:1
along with the others.
.



Relevant Pages

  • Re: Strip illegal characters from filename
    ... This has quite a thread some not-so-long-ago in the past along with code. ... The code actually replaces the chars with underscores, ... Also, it depends on the file system, NTFS allows chars unavailable to ... NTFS is Unicode, thus allowing some chars in a name. ...
    (borland.public.delphi.language.objectpascal)
  • Re: linein() - a feature missing ?
    ... On 10/11/2012 11:08 AM, Glenn Knickerbocker wrote: ... CHARS uses the info from the file system. ... Sound like a CP dump! ...
    (comp.lang.rexx)
  • Re: linein() - a feature missing ?
    ... do I/O behind the scenes and read the file's contents? ... CHARS uses the info from the file system. ...
    (comp.lang.rexx)
  • Re: Kernel hangs while loading udevice.exe
    ... Initializing Memory Mapped File Support ... FSVOL: Volume heap already initialized ... FILESYS: Starting boot phase 0. ... RAM File System FSD_MountDisk registering folder "Object ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Cant run WINCE from a flash drive on my AMD M/B
    ... FILESYS: Starting boot phase 0. ... Starting device and waiting for boot file system. ... PCIBUS!PCICfgCheckBARs: WARNING: No matching registry key was found for ...
    (microsoft.public.windowsce.embedded)