当前位置:  开发笔记 > 运维 > 正文

准备加载内核

如何解决《准备加载内核》经验,为你挑选了0个好方法。

即使有完美的引导装载机可供使用,我也在业余时间一次打开和关闭作为教育练习.我遇到了一个问题.

我能够执行初始启动和链接加载其他扇区没有问题.如果我正在编写自己的操作系统,我会很高兴.:)相反,我正在尝试引导Linux.我所面临的挑战是双重的.

    我知道我需要将内核(Linux)加载到0x100000的内存中.我知道我应该在内核的偏移量0x202处找到"HdrS"签名.我也知道起始地址应该是0x214.但是,当我跳到该位置的地址时,它会停止.显然,围绕这个包装调试器非常困难.:) 我是否遗漏了确定内核正确起始地址所必需的这一系列事实?

    我怀疑(1)的答案可能与需要用硬件发现信息填充一些内存区域有关.我已经在OSDev Wiki上看到了几个对此的引用,但我似乎错过了这里,并且确切地说需要哪些数据. 引导加载程序是否负责硬件发现?如果是这样,需要将哪些数据放在哪里?

需要注意的另一点是我已经处于32位保护模式,因为我正在处理创建EFI启动系统,因此16位实模式在这里不是一个真正的选项,从而消除了实际模式的起始位置.核心.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有