linux - 与 Linux 内核汇编中的引导加载程序

标签 linux assembly linux-kernel bootloader

我正在进行一个学校项目,即制作我自己的 Bootloader。

这个引导加载程序必须有几个设置:

  • 引导加载程序必须加载并运行 linux 内核
  • 引导加载程序在加载内核时必须显示启动画面
  • 引导加载程序必须能够从硬盘驱动器的引导扇区运行。

要实现这个引导加载程序,我可以选择用 C 或 Assembly 编写代码,我选择了 Assembly。经过我和我的团队的多次研究,我们还没有意识到这一点。在许多教程的帮助下,我设法显示了“Hello Word”和“加载内核”。

所以,我们(有点)迷路了,我们真的不知道如何将我们的内核和引导加载程序放在同一个虚拟机 (VMware) 中。所以我们尝试使用 UltraISO(创建 .iso 文件的软件),但它似乎不起作用。

伙计们,我需要一些帮助,因为截止日期快到了,我们非常失望。 我已经爱你们了,欢迎任何帮助。

(对不起我的英语你可以私刑我。)

最佳答案

引导加载程序是一个复杂的软件,尤其是显示启动画面的软件。由于您的团队需要从头开始创建它,因此时间有限可能会很困难。

我建议阅读 BootloaderRolling Your Own Bootloader来自 OSDev Wiki .还有其他资源也可以帮助您构建引导加载程序。

希望对您有所帮助。

关于linux - 与 Linux 内核汇编中的引导加载程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30695664/

相关文章:

c++ - 在 g++ 中更改默认的 C++ 标准

python - IP 转发,scapy 中的 MiTM

visual-c++ - 内联汇编的初学者问题

汇编无限循环(jmp -2)

c - 从多个进程调用系统调用

python - 在Python中导入和使用Linux内核模块需要做什么?

linux - 在linux中抑制JQ​​解析错误信息

c++ - Linux C++ 新运算符极其慢

linux - 识别汇编中的库调用

c - 如何从库中获取地址信息以在所有进程之间共享?