2016-06-11 16 views
-4

1)我学会了编写引导程序并使用bochs对其进行测试。现在,我想通过引导加载程序添加GUI。我已经搜索了一下,但没有找到相关的消息来源。我甚至尝试在现有项目中搜索github。我检查了this的问题。但是有什么办法可以在我的代码中安装一些图形库或包含x-window-system API来在GUI env(例如:Chameleon,GAG)中提供,而不是只包含一个闪屏图像?为引导程序开发GUI和加载库

2)有没有可能在bootloader阶段添加python执行环境,以便当我进入保护模式时,我可以添加一些python脚本?

3)如何添加标准的C/C++库支持?

在此先感谢。

回答

-1

如果你告诉你正在谈论的是什么样的bootloader,它可能会有所帮助。我每天都在处理这些事情,你所说的大部分内容似乎都是疯狂的谈话。大声笑。

通常,引导加载程序是非常小的启动程序,它会决定下一次加载的内容。一些引导程序包含用于“闪烁”主应用程序的功能。 (主应用程序通常无法自行闪烁。)引导加载程序是处理器遇到的第一部分代码,因此非常关键。你不希望它失败也不能升级它。因此bootloaders倾向于争取更小更好。

至于你的问题。

3)我从来没有见过没有写在c中的bootloader。所以它覆盖了一个。 (它们虽然存在)C++,你将不得不用C++编译整个项目。 (没问题。)

1)和2)我不确定什么是“保护模式”,但要包括例如python或x-windows,您必须将源代码包含到项目中。这是事情。通常bootloader是baremetal代码,像X这样的代码不是。你还必须包含很多其他代码。而且你最终会得到一个500MB的bootloader。通常你会争取像5 kb的东西。 飞溅图像通常通过与图形卡的低级交互完成。

如果其他人对bootloader开发感兴趣,我可以推荐看看uboot。这是一个linux(大部分)加载器,并且很容易找到你的方式。它已经支持了很多。

+0

感谢您的时间和回应。我读了关于与Grub2集成的python。这就是为什么我问。而且,我看到了Chameleon和GAG GUI(如上所述),这非常好。所以想知道它是如何完成的。 –