3

我的目标:努力

  • 构建一个最小的基于 Qt 的 GUI 系统,带有一个连接在 USB 上的单个窗口和传感器
  • 使用 Qemu 演示这一点,后来在带有 atom 的嵌入式板上演示
  • 从头开始构建它
  • 使用 buildroot 构建根文件系统

我的经验有设备驱动程序、qemu、Buildroot、USB 的 Linux 内核开发经验,但没有 GUI 和帧缓冲区方面的经验。

我的尝试:构建内核和根文件系统

  • 使用 buildroot 命令make qemu_x86_defconfig
  • Linux 内核上的帧缓冲区支持与以下 CONFIG_FB、CONFIG_FRAMEBUFFER_CONSOLE 和 CONFIG_LOGO 一起启用(也启用了以下所有选项)

作为第一个里程碑,我希望在使用命令运行映像时看到 TUX 徽标, qemu-system-i386 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2 -append root=/dev/sda -vga std但我没有。

我在 Qemu 命令中犯了错误还是没有启用帧缓冲区?

PS 一个类似的问题Qt application GUI - automatic start - linux。但我不打算按照大多数用户的建议使用 X 窗口。

4

2 回答 2

4

我错过了 cirrus 显卡驱动程序。Qemu 模拟 Cirrus CLGD 5446 PCI VGA 卡或具有 Bochs VESA 扩展的虚拟 VGA 卡(硬件级别,包括 i386 的所有非标准模式。

所以步骤是:

  1. 下载 buildroot
  2. make clean
  3. make qemu_x86_defconfig
  4. make linux-menuconfig配置内核并Device drivers->Graphics support->Support for frame buffer devices启用Cirrus Logic support
  5. 保存配置并运行make
  6. 一旦make完成,运行命令board/qemu/x86/readme.txt
于 2014-02-28T13:36:56.007 回答
2

您在哪里看到 Buildroot 有 i386_defconfig?您似乎混淆了内核 defconfigs 和 Buildroot defconfigs。我建议您从以下内容开始:

  make clean
  make qemu_x86_defconfig
  make

然后阅读board/qemu/x86/readme.txt以了解如何运行生成的系统。

于 2014-02-27T12:33:52.730 回答