【问题标题】:Developing GUI and loading libraries for bootloader为引导加载程序开发 GUI 和加载库
【发布时间】:2016-10-12 02:38:43
【问题描述】:

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

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

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

提前致谢。

【问题讨论】:

    标签: c user-interface nasm bootloader


    【解决方案1】:

    如果您告诉您所谈论的是哪种引导加载程序,这可能会有所帮助。我每天都在处理这个问题,而你所说的大部分内容似乎都是疯狂的谈话。哈哈。

    通常,引导加载程序是非常小的启动程序,它决定下一步要加载什么。一些引导加载程序包含用于“刷新”主应用程序的功能。 (主应用程序通常无法自行刷新。)引导加载程序是处理器遇到的第一段代码,因此非常关键。您不希望它失败或升级它。因此,引导加载程序倾向于争取越小越好。

    至于你的问题。

    3) 我从未见过不是用 c 编写的引导加载程序。所以它覆盖了那个。 (尽管它们存在)C++ 你必须用 C++ 编译整个项目。 (没问题。)

    1) 和 2) 我不确定什么是“保护模式”,但是要包含例如 python 或 x-windows,您必须将源代码包含到您的项目中。事情就是这样。通常引导加载程序是裸机代码,而像 X 这样的代码则不是。您还必须包含大量其他代码。你最终会得到一个 500 mb 的引导加载程序。通常你争取像 5 kb 这样的东西。 启动画面通常是通过与显卡的低级交互来完成的。

    如果其他人对引导加载程序开发感兴趣,我可以推荐看看 uboot。它是一个 linux(主要是)加载器,很容易找到你的方式。而且已经支持很多了。

    【讨论】:

    • 感谢您的宝贵时间和回复。我读到了与 Grub2 集成的 python。这就是我问的原因。此外,我看到了 Chameleon 和 GAG GUI(如问题所述),非常好。所以想知道它是怎么做的。
    猜你喜欢
    • 2011-01-08
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多