在 Ubuntu Minimal 上激活 /dev/fb0?

在 Ubuntu Minimal 上激活 /dev/fb0?

我正在编写一个用于嵌入式 CPU 的程序。为此,我尝试设置一个小型 Ubuntu。Ubuntu Minimal 看起来可以工作,但有一个问题:我需要在程序中自己进行图形显示。我可以通过帧缓冲设备在常规 Ubuntu 虚拟终端上很好地完成此操作,但 Minimal 似乎没有/dev/fb0

我昨天一整天都在 Google 上搜索,但仍然找不到让 Ubuntu Minimal 创建帧缓冲设备的方法。在 Ubuntu 15.04“Vivid Vervet”Minimal 上激活帧缓冲设备的技巧是什么?

我努力了:

  • 将我的用户添加到video组中。
  • 取消注释该GRUB_GFXMODE=640x480条目/etc/default/grub并调用 update-grub(哦,hwinfo似乎也不可用)
  • 似乎没有/boot/grub/menu.lst很多人建议我取消注释
  • sudo modprobe vesafb说“未找到模块 vesafb”,如果我尝试,uvesafb它说它无法运行/sbin/v86d
  • /etc/modprobe.de/blacklist-framebuffer.conf是空的
  • 我找不到一个看起来可以包含帧缓冲区支持的 apt-get 包
  • 有些地方提到使用“内核参数”做一些事情,但我找不到任何关于它们是什么以及如何设置它们的信息,每个人似乎都认为我知道它们在哪里以及如何编辑它们。
  • 我也尝试添加modeset video=uvesafb:mode_option=640x480GRUB_CMDLINE_LINUX_DEFAULT但这也没有改变任何东西。

如果能提供任何线索来帮助我找到可以打开的位置fb0,或者如何检查内核是否已编译帧缓冲区支持,我将不胜感激。

答案1

由于我当前在 VirtualBox 模拟的 VESA 兼容显卡上运行 Ubuntu Minimal,因此对于这种特殊情况,以下 3 个步骤就足够了:

  1. 取消GRUB_GFXMODE=640x480注释 中的条目/etc/default/grub并调用sudo update-grub
  2. 执行sudo apt-get install v86d(上面提到的 modprobe 调用表明缺少了它)。
  3. sudo modprobe uvesafb

感谢@psusi 让我意识到错误可能意味着它完全丢失,而不仅仅是损坏或以其他方式不足。

但是,我仍然不知道在不同的硬件上我需要做什么才能找到相同的结果,所以如果有人能给出更笼统、更不具体的解释,我很乐意听听。我只是想发布这个部分答案,这样它就不是那种“只有问题没有答案”的 SO 帖子了。

相关内容