【问题标题】:Execute ELF Kernel file from FAT12 Bootlader从 FAT12 Bootloader 执行 ELF Kernel 文件
【发布时间】:2015-10-02 21:07:24
【问题描述】:
我正在寻找使用 freepascal 构建的运行 ELF 内核,但是当我尝试使用 fat12 引导加载程序 (0x1000) 调用它时,它会停止。谁能给我一个关于如何运行它的代码示例?
Here 是我尝试做的。
另外,我正在使用 Windows。我不应该使用 grub。我必须制作自己的引导加载程序。我只需要一个关于如何运行这个操作系统的代码示例。
【问题讨论】:
标签:
assembly
kernel
nasm
freepascal
bootloader
【解决方案1】:
您链接的“内核”是专门为与MultiBoot 1 引导加载程序一起工作而设计的,请将其理解为专门为与 GRUB 一起工作而设计的。
为了使引导加载程序能够加载它,您需要遵守这些规范并可能准备好理解某些 ELF 格式。
您可以尝试为该内核创建最小的工作环境,但实际上由您自己重写那个微小的内核软件会更快吗?
该内核旨在与 GRUB 一起使用,您要么重写 GRUB,要么重写内核。
我个人会选择后者,重写一个与 MultiBoot 1 兼容的引导加载程序将花费大量时间和精力来获得一个简单的内核。