【问题标题】:Bootstrapping linux引导 linux
【发布时间】:2011-12-21 16:05:36
【问题描述】:

我正在尝试通过自己编写引导加载程序来引导 linux 内核,但不知道如何加载内核。

所有人都在说使用 int 13h 将扇区从硬盘加载到内存。 应该加载哪个扇区?加载扇区后怎么办? 如果可以的话,请分享一个简单的linux内核引导加载程序的代码......

在搜索引导加载程序时,我们只能看到如何制作 hello world 引导加载程序,只是使用汇编语言打印 hello world 或类似的消息....什么也看不到。 ..

什么是内核入口点?有人说需要调用 start() 函数……但是怎么做呢??

【问题讨论】:

  • “如何引导 linux”找到了 this,看起来很有希望。

标签: linux-kernel boot


【解决方案1】:

关于入口点:

在 Linux 源代码中,文件 Documentation/x86/boot.txt 的标题为“Linux/x86 引导协议”。它解释了当前调用内核的过程,包括启动和内存初始化时 CPU 必须处于的模式。

关于磁盘扇区:

该文件解释了在您将压缩内核从磁盘加载到内存之后的引导过程。我想(但我不确定)每个引导加载程序都有自己的方式来查找与内核映像及其第二阶段相对应的磁盘扇区(512 字节的 MBR 通常是不够的)以及自己的方式来存储这些信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2021-08-31
    • 1970-01-01
    相关资源
    最近更新 更多