构建一个嵌入 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 控制台项目失败,出现一个神秘的链接器错误 LNK2001: Unresolved external Symbol