把驱动写到BIOS的文件卷里面了,没有启动起来

[复制链接]
x_uy_u_n 发表于 2018-8-22 11:02:47 | 显示全部楼层 |阅读模式
900RD豆
有的文件卷是没有压缩的,里面有 DXE driver的项,于是我把驱动文件添加到里面。再写入BIOS,重启动就会执行我添加的这个驱动。
但是有的BIOS固件文件,里面有DXE driver的文件卷是压缩的,我把驱动文件添加到里面(后来用 UEFITool看到格式是正确的),重新启动的时候,驱动似乎没有执行。

请问这是怎么回事?是不是放DXE driver的文件卷不能是压缩的?
下面是驱动的部分代码。
EFI_STATUS
EFIAPI
_ModuleEntryPoint (
  IN EFI_HANDLE        ImageHandle,
  IN EFI_SYSTEM_TABLE  *SystemTable
  )
{
        EFI_EVENT Event;

        InitializeLib(ImageHandle, SystemTable);
        
        gReceived = FALSE;        // reset event!

        // wait for EFI EVENT GROUP READY TO BOOT
        gBootServices->CreateEventEx(0x200, 0x10, &CallbackSMI, NULL, &SMBIOS_TABLE_GUID, &Event);

        return EFI_SUCCESS;
}








上一篇:2018年8月22日签到记录贴
下一篇:请叫一个bootorder的问题.
uefi.png

最佳答案

查看完整内容

试试在入口出往80 port丢个debug的值或往串口丢一串字符串,确认一下是不是真的没有执行,这是第一步。 然后检查下EDKII下是否有压缩efi文件的tools可以用,有的话试试压缩之后再用UEFItool塞进去 还有一个问题,单独编译的时候需不需要检查dxs依赖关系
【暗杠】 发表于 2018-8-22 11:02:48 | 显示全部楼层
试试在入口出往80 port丢个debug的值或往串口丢一串字符串,确认一下是不是真的没有执行,这是第一步。
然后检查下EDKII下是否有压缩efi文件的tools可以用,有的话试试压缩之后再用UEFItool塞进去
还有一个问题,单独编译的时候需不需要检查dxs依赖关系
想IRQ0一样的人!
回复

使用道具 举报

 楼主| x_uy_u_n 发表于 2018-8-22 11:49:05 | 显示全部楼层
【暗杠】 发表于 2018-8-22 11:41
试试在入口出往80 port丢个debug的值或往串口丢一串字符串,确认一下是不是真的没有执行,这是第一步。
然 ...

不太明白,文件卷是压缩的,先解压缩,文件丢进去之后,再把卷重新压缩重写。
UEFITool好像编辑功能还没有实现。
回复

使用道具 举报

 楼主| x_uy_u_n 发表于 2018-8-22 14:50:25 | 显示全部楼层
我还有个问题,就是刷BIOS的时候,会导致数据损坏的机会大吗?
回复

使用道具 举报

 楼主| x_uy_u_n 发表于 2018-8-22 20:46:28 | 显示全部楼层
我知道了,它有好几个卷的,得找对了那个卷才可以启动.
回复

使用道具 举报

【暗杠】 发表于 2018-8-22 22:36:10 | 显示全部楼层
解决就好,谢谢楼主的RD豆。
想IRQ0一样的人!
回复

使用道具 举报

 楼主| x_uy_u_n 发表于 2018-8-23 10:53:27 | 显示全部楼层
但是我还是不明白,为什么两个卷都有驱动文件,第一个卷里面放我们自己的驱动,就不执行,第二个卷里面放就可以执行。
回复

使用道具 举报

本版积分规则

QQ|Archiver|手机版|小黑屋|RD之家 - 研发工程师的伊甸园 ( 京ICP备18037383号 )
360导航 360安全浏览器 蚂蚁搜索 速搜全球 酷帝网站目录 搜狗导航 114啦网址导航

GMT+8, 2018-9-22 09:58

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表