3

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.

Community
  • 1
  • 1
Prajosh Premdas
  • 970
  • 4
  • 17
  • 40

2 Answers2

4

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
Prajosh Premdas
  • 970
  • 4
  • 17
  • 40
2

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.

Thomas Petazzoni
  • 5,636
  • 17
  • 25