构建一个嵌入 Qt 的最小系统并在 Qemu for x86 上运行

Posted

技术标签:

【中文标题】构建一个嵌入 Qt 的最小系统并在 Qemu for x86 上运行【英文标题】:Build a minimum system with Qt embedded and run on Qemu for x86 【发布时间】:2014-03-30 18:41:19 【问题描述】:

我的目标:尝试

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

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

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

使用命令make qemu_x86_defconfig 使用buildroot 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 命令中出错还是没有启用帧缓冲区?

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

【问题讨论】:

【参考方案1】:

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

所以步骤是:

    下载 buildroot make clean make qemu_x86_defconfig make linux-menuconfig 配置内核并在Device drivers->Graphics support->Support for frame buffer devices 启用Cirrus Logic support 保存配置并运行make make 完成后,运行board/qemu/x86/readme.txt 中的命令

【讨论】:

分享你的 .config 、 buildroot 版本和 QEMU 版本(如果你还有的话):-)【参考方案2】:

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

  make clean
  make qemu_x86_defconfig
  make

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

【讨论】:

对不起,这是一个错字。我用过 qemu_x86_defconfig

以上是关于构建一个嵌入 Qt 的最小系统并在 Qemu for x86 上运行的主要内容,如果未能解决你的问题,请参考以下文章

Qt Creator 作为嵌入式 Linux 的调试系统

Qemu仿真----运行Ubuntu Base

如何建立Qt Creator交叉编译嵌入式Linux

Yocto-构建一个qemu版的Linux发行版

如何在 ubuntu 中构建 Python Qt

构建一个最小的 Qt 控制台项目失败,出现一个神秘的链接器错误 LNK2001: Unresolved external Symbol