【问题标题】:How to create a multistage bootloader with asm and c? [closed]如何使用 asm 和 c 创建多级引导加载程序? [关闭]
【发布时间】:2015-07-28 04:17:05
【问题描述】:

我想创建一个简单的 32 位基于文本的操作系统。

引导加载程序:

首先我想创建一个多级引导加载程序。

第 1 阶段:汇编代码(NASM 编译器)

第 2 阶段:C(GCC 编译器)

内核:

然后它应该加载应该用C(GCC-编译器)编写的内核

我也想知道如何正确编译执行。

模拟器应该是Qemu

显示“Hello world”的示例 32 位操作系统会有所帮助。

【问题讨论】:

  • 听起来您在问如何从头开始编写整个引导加载程序。这个问题太宽泛了——“答案”会涉及到有人为你写大部分内容。没有几句话或几段简单的“这里是如何编写引导加载程序”。

标签: c operating-system nasm qemu bootloader


【解决方案1】:

不要编写自己的引导加载程序。 配置和使用现有的引导加载程序,可能是GRUB。这将使您的玩具操作系统的使用更加容易(对您和其他用户都是如此)。

阅读http://osdev.org/,因为他们有很多关于在 PC 上构建操作系统的资源(包括 hello world 操作系统)。

阅读一些好的操作系统书籍(例如Operating Systems: Three Easy Pieces)。你会发现不可能有非常简单的操作系统。另请参阅this 答案。

另外,至少对 POSIX 和 Linux 系统编程非常流利(首先阅读Advanced Linux Programming)。

【讨论】:

  • 好的,谢谢。是否有任何 32 位开源的基于文本的操作系统可供我试验?
  • Linux 就是这样一个操作系统....和osdev 有一些链接;顺便说一句,我不明白您所说的基于文本的操作系统是什么意思(因为任何 POSIX 系统都是基于文本的)
  • 我只是在寻找类似 unix 类型的操作系统。顺便说一句,我只是即兴提出我的问题。请看一下。
  • 然后,不要编写引导加载程序,而是将精力集中在您的操作系统上(并使用 GRUB 加载它)
  • 好的,谢谢您的回答。
猜你喜欢
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-04
  • 1970-01-01
  • 2011-10-14
  • 2015-03-14
相关资源
最近更新 更多