用于在模拟器上运行Linux内核的简单引导加载程序

时间:2014-10-30 07:26:22

标签: linux-kernel porting bootloader sparc

我们为sparc v8处理器构建了一个简单的指令集模拟器。该模型由v8处理器,主存储器和字符输入以及字符输出设备组成。目前,我可以在这个模拟器上运行简单的用户级程序,这些程序是使用交叉编译器构建的,并直接放置在建模的主存储器中。

我试图通过构建一个最简单的引导程序来获得一个在这个模拟器上运行的Linux内核。 (我考虑用于mmu-less系统的uClinux)。未压缩的内核和文件系统都假定存在于主内存本身中,而我的引导加载程序必须做的就是将相关信息传递给内核并跳转到内核代码的开头。我没有OS开发或移植linux的经验。

我有以下问题:

  1. 引导加载程序必须提供给内核的最基本信息是什么?
  2. 如何传递此信息?
  3. 如何指示内核使用我的自定义输入/输出设备?
  4. porting linux to ARM boards提供了一些文档,从本文档中可以看出,引导加载程序传递了有关RAM等大小的信息 通过一个名为ATAGS的数据结构。如何在Sparc处理器的情况下完成?我在互联网上找不到很多关于Sparc的文档。对于Sparc v8的Leon3实现,存在一个linux bootloader,但是我找不到我在其代码中寻找的具体信息。

    我将非常感谢任何解释要传递给内核的最低限度信息以及如何传递它的链接。 谢谢, -neha

0 个答案:

没有答案