11677|37

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

添加hive-based registry问题,系统起不来 [复制链接]

环境:S3C2440+EVC4.0+SP4+PB5.0  NAND Flash
问题: 添加了Hive-Based Registryz组件,添加FAT File System组件
      platform.reg 如下:
     ; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]
;    "SystemHive"="\\Windows\\system.hv"
;        "ProfileDIR"="\\Windows"
;        "Start DevMgr"=dword:1
;        "DefaultUser"="default"
;        "Flags"=dword:3
;        "RegistryFlags"=dword:1



IF BSP_NONANDFS !
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
;    "DefaultFileSystem"="BINFS"
    "DefaultFileSystem"="FATFS"
    "AutoPart"=dword:1
    "AutoMount"=dword:1
    "PartitionDriver"="mspart.dll"
    "Name"="Microsoft Flash Disk"
    "Folder"="ResidentFlash"
    "BootPhase"=dword:0
        "MountAsBootable"=dword:1
       
        "MountHidden"=dword:0
    "Flags"=dword:1000

; Keep FATFS from trying to shadow \Windows
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]
    "Flags"=dword:14
    "FormatTfat"=dword:1
    "CheckForFormat"=dword:1
        "MountFlags"=dword:2

   
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMFLASH]
    "Prefix"="DSK"
    "Dll"="smflash.dll"
    "Index"=dword:1
    "Order"=dword:0
    "Profile"="SMFLASH"
    "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
    "Flags"=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
    "Flags"=dword:00000014                ;FATFS_TFAT_ALWAYS|FATFS_FORCE_TFAT
     "Dll"="fatfsd.dll"
         
     
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
    "DriverPath"="Drivers\\BuiltIn\\SMFLASH"
    ; LoadFlags 0x01 == load synchronously
    "LoadFlags"=dword:1
        "MountFlags"=dword:11
    "BootPhase"=dword:0
        "Flags"=dword:1000
ENDIF ; BSP_NONANDFS
; END HIVE BOOT SECTION

   网上看到很多相关的东西,帮助不大,红色的部分注释掉了后,系统正常启动,注册表设置不能保存,红色部分打开后,系统就起不来,
   应该是注册表的问题,但是究竟是什么问题,我也搞了满久,没哲了,谁有时间,知道的话,说声!分不够,可以加分的.
      

最新回复

研究一下。。。  详情 回复 发表于 2009-11-20 09:09
点赞 关注

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
帮顶,记得搞过没搞成功!
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
自己先顶哈,不够就追分,追到问题解决为止。
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

4
 
啥错误提示啊?
停在哪?
是Boot 1 times!!!那个?
还是什么其它的????
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
这个问题,记得在此论坛中已经有好多人问过啦

没有搞过,我拿到手的BSP已经实现了HIVE。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
看网上粘贴复制,对我的好象没有什么之道,我的系统在打印输出的最后一句是:FMD_OEMIoControl:unrecognised IOCTL (0x71c42),然后就死掉了
我用的bootloader是Nboot+UMON,UMON是USB下载内核用的,没有用EBOOT,Nboot完成初始化后,就直接跳到内核去执行,这样比较启动快点,不知道什么3原因.搞挺久的,因为要弄XIP,所以这步必须先解决,.......不管大家搞不搞的定,说个思路,都有分的....
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

7
 
你的文件系统是RAM+ROM的文件系统吧,Windows目录必然在RAM文件系统中,所以下面的代码肯定有问题:
[HKEY_LOCAL_MACHINE\init\BootVars]
;    "SystemHive"="\\Windows\\system.hv"
; "ProfileDIR"="\\Windows"
; "Start DevMgr"=dword:1
; "DefaultUser"="default"
; "Flags"=dword:3
; "RegistryFlags"=dword:1
改成这个试试:
[HKEY_LOCAL_MACHINE\init\BootVars]
        "SYSTEMHIVE"="Documents and Settings\\system.hv"
        "PROFILEDIR"="Documents and Settings"
        "Start DevMgr"=dword:1


 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

8
 
在Enable Hive Base Registry之前必须注意两点:
1. 正常的RAM Based Regsitry工作时Flash Disk使用必须可以正常使用,这样的话基本上Hive Base只跟注册表的设定有关
2. Enable hive base 后必须Clean Sysgen生成Image
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 6 楼 hzdysymbol 的回复:
你的文件系统是RAM+ROM的文件系统吧,Windows目录必然在RAM文件系统中,所以下面的代码肯定有问题:
[HKEY_LOCAL_MACHINE\init\BootVars]
;    "SystemHive"="\\Windows\\system.hv"
; "ProfileDIR"="\\Windows"
; "Start DevMgr"=dword:1
; "DefaultUser"="default"
; "Flags"=dword:3
; "RegistryFlags"=dword:1
改成这个试试:
[HKEY_LOCAL_MACHINE\init\BootVars]
"SYSTEMHIVE"="Documents and Settings\\sy…


没错,HIVE-BASED的配置需要根据自己的系统设置来配,
没有一个严格的标准。
ROMONLY的可以放在根目录下面,如果是RAM+ROM的FS,就需要放在
非易失性的存储空间内。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 6 楼 hzdysymbol 的回复:
你的文件系统是RAM+ROM的文件系统吧,Windows目录必然在RAM文件系统中,所以下面的代码肯定有问题:
[HKEY_LOCAL_MACHINE\init\BootVars]
;    "SystemHive"="\\Windows\\system.hv"
; "ProfileDIR"="\\Windows"
; "Start DevMgr"=dword:1
; "DefaultUser"="default"
; "Flags"=dword:3
; "RegistryFlags"=dword:1
改成这个试试:
[HKEY_LOCAL_MACHINE\init\BootVars]
"SYSTEMHIVE"="Documents and Settings\\sy…

目录其实开始是在"SYSTEMHIVE"="Documents and Settings\\system.hv"
"PROFILEDIR"="Documents and Settings" ,后来为了测试,我该成\\WINDOWS,所以这样肯定也不行,因为已经测试过了的,另外你说的1. 正常的RAM Based Regsitry工作时Flash Disk 使用必须可以正常使用,这样的话基本上Hive Base只跟注册表的设定有关
2. Enable hive base 后必须Clean Sysgen生成Image
第2条,可以保证是这么做的,但是第1条,觉得有点奇怪,Flash Disk 使用必须可以正常使用,不知道你是如何确定Flash Disk 可用,它可以烧写,不能说明它可用吗?或者你另有所指????
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

11
 
还有我的是默认的文件系统,应该就是RAM+ROM文件系统,我刚刚看了一下,确实如此
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(中级)

12
 
引用 10 楼 fan227 的回复:
还有我的是默认的文件系统,应该就是RAM+ROM文件系统,我刚刚看了一下,确实如此


实在不行,就找一个成功版本,使用beyond compare 代码比较软件,比较一下注册表。肉眼有时候很难看出问题的。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

13
 
追分。。。。
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

14
 
第2条,可以保证是这么做的,但是第1条,觉得有点奇怪,Flash Disk 使用必须可以正常使用,不知道你是如何确定Flash Disk 可用,它可以烧写,不能说明它可用吗?或者你另有所指????
要保证Flash的驱动在CE下面是正常可用的,就是在CE下面可以正常使用Flash Disk,如保存文件,添加文件,删除文件等操作
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

15
 
第2条,可以保证是这么做的,但是第1条,觉得有点奇怪,Flash Disk 使用必须可以正常使用,不知道你是如何确定Flash Disk 可用,它可以烧写,不能说明它可用吗?或者你另有所指????
要保证Flash的驱动在CE下面是正常可用的,就是在CE下面可以正常使用Flash Disk,如保存文件,添加文件,删除文件等操作
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

16
 
记得eeworld上有人实现了,你GOOGLE一下!
 
 
 

回复

93

帖子

0

TA的资源

一粒金砂(初级)

17
 
你的那些在Boot过程中需要的Dll放到Ramimage里面了吗?
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

18
 
LS的不要误导了,应该是需要的注册表放到boot.hv里面
只实现Hive Base Registry还全都是Ramimage,没有Nandimage
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 14 楼 hzdysymbol 的回复:
第2条,可以保证是这么做的,但是第1条,觉得有点奇怪,Flash Disk 使用必须可以正常使用,不知道你是如何确定Flash Disk 可用,它可以烧写,不能说明它可用吗?或者你另有所指????
要保证Flash的驱动在CE下面是正常可用的,就是在CE下面可以正常使用Flash Disk,如保存文件,添加文件,删除文件等操作

其实在CE操作,如保存文件,添加文件,删除文件等操作可以正常创建,但是应该都是放在RAM里面的,因为你断电后,它会全部消失,这么说我NAND FLASH是不是就有问题,你的FLASH创建文件后是否永久保存的呢?你说的是boot.hv应该放在FLASH上,有没有办法跟踪,调试或者查看它!系统起来之后只能看到system.hv和user.hv,boot.hv似乎只是在启动之初有用!
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

20
 
兄弟,RAM+ROM的文件系统是指放在RAM里的文件断电后会丢掉,放在ROM的文件断电后是会保存的
如果你的Flash驱动已经可以正常工作,那在设备里面应该有一个象Disk之类的东西,可以用来永久保存文件的
如果这个disk的盘还没有出来,那你根本就谈不上做Hive Registry

boot.hv也是放在Image里面的,有专门的工具可以查看它里面的内容的,enable Hive后在Flash上保存的是修改后的注册表内容,Default的还是保存在Image中的,所以才会有所谓的Clean Boot
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表