ROM-Only File System定制详解

在CE下,经常会遇到的问题是,当用户在CE设备上安装文件的时候,如果重新启动,Windows目录下的文件会丢失,导致安装的程序无法正常的运行。这里头,CE引入了一个文件系统,就是ROM-Only File System。它允许你将你的存储介质,如NandFlash、硬盘等,映射为根系统,这样你在操作windows目录的时候,其实就是在这类存储介质上操作,在系统重启或关闭之后,操作的文件将永久的保存。
CE下有关ROM-Only File System的定制,相对于RAM and ROM File System,需要注意一些问题。(我的CE版本是4.2的,不知道CE5.0/6.0是否已经将其完善)
首先,在定制的时候可以先尝试使用RAM and ROM File System + RAM Based Registry,看是否可以正常运行。
在能够正常运行的情况下,打开CE.bib,将FILE字段下的所有文件拷贝一份出来(这里头包含了一些声音、图片,以及一些EXPLORER程序需要用到的文件),放到你需要保存的存储介质上对应的目录,如存储介质是NandFlash,则在NandFlash的根目录创建一个Windows目录,将有关文件拷贝到此目录。
重新进行系统定制,将RAM and ROM File System 替换为ROM-Only File System。
修改注册表,将对应的存储介质下的注册表项改为类似如下:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\NandFlash]
"Name"="NAND Flash Disk"
"Folder"="NandFlash"
"DefaultFileSystem"="FATFS"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountFlags"=dword:1c
"FileSystem"="fatfsd.dll"
"PartitionDriver"="mspart.dll"
其中,我是将NandFlash作为存储的根目录的,故只需改NandFlash对应的注册表,如果是别的存储介质,请直接修改对应的注册表。
MountFlags的值的含义:
  MountFlags - Flags on how the partition is mounted
      - Hidden file system
      - May contain system registry
      - Mount as root of file system, "\"
      - Hide ROM when mounting FS root; use with FLAG_ROOTFS
     10  - Mount filesystem as an external ROM filesystem
     40  - Mount as a permanent volume that cannot be unmounted

选择1c,意思是加载成一个扩展的ROM根文件系统,同时隐藏ROM(这就是为什么我们要把FILE字段下的文件拷贝到存储介质上,但exe和dll不是必须的,因为调用的时候还是会从ROM中引导)
下载,测试。正常情况,应该能够引导系统。

在开发过程中可能会遇到的一些问题的解决方法:
1.系统引导之后无法显示资源管理器
                请查看是否已经将ce.bib中FILE字段文件拷贝到对应存储介质的Windows目录或其它。
2.控制面板中没有任何程序
                请将cpl文件全部拷贝到对应的存储介质的Windows目录下。因为控制面板程序调用的时候是去Windows目录下查找cpl文件,而默认的,cpl文件我们并没有拷贝到存储介质的Windows目录下,故在控制面板程序中看不到任何的程序。而在系统中,是通过LoadLibrary方式直接调用,可以调用有关的cpl文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值