Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Build a minimum system with Qt embedded and run on Qemu for x86

My aim: Trying to

  • Build a minimal Qt based GUI system with a single window and sensor connected on USB
  • demonstrate this using Qemu and later on embedded board with atom
  • to build it from scratch
  • Use buildroot to build the rootfilesystem

My experience Have experience in Linux kernel development for device drivers, qemu, Buildroot, USB but has no experience on GUI and framebuffers.

My attempts:Build kernel and rootfile system

  • with buildroot using the command make qemu_x86_defconfig
  • Framebuffer support on Linux kernel is enabled along with the following CONFIG_FB, CONFIG_FRAMEBUFFER_CONSOLE, and CONFIG_LOGO (all the options below this are also enabled)

As the first milestone I expected to see the TUX logo when I run the image with the command qemu-system-i386 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2 -append root=/dev/sda -vga std but i donot.

Am I making a mistake at the Qemu command or the framebuffer is not enabled?

P.S. A similar question Qt application GUI -- automatic start -- linux. But i am not planning to use the X window as suggested by most users.

like image 584
Prajosh Premdas Avatar asked Nov 25 '25 00:11

Prajosh Premdas


2 Answers

I missed the cirrus graphics board driver. Qemu emulates Cirrus CLGD 5446 PCI VGA card or dummy VGA card with Bochs VESA extensions (hardware level, including all non standard modes for i386.

So the steps are:

  1. Download buildroot
  2. make clean
  3. make qemu_x86_defconfig
  4. make linux-menuconfig to configure kernel and in Device drivers->Graphics support->Support for frame buffer devices enable Cirrus Logic support
  5. Save the configuration and run make
  6. Once make is complete run the command in board/qemu/x86/readme.txt
like image 71
Prajosh Premdas Avatar answered Nov 26 '25 16:11

Prajosh Premdas


Where did you see that Buildroot has a i386_defconfig? You seem to be confusing kernel defconfigs and Buildroot defconfigs. I would recommend you to start with:

  make clean
  make qemu_x86_defconfig
  make

and then read board/qemu/x86/readme.txt to see how to run the generated system.

like image 33
Thomas Petazzoni Avatar answered Nov 26 '25 17:11

Thomas Petazzoni



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!