AboutWelcome to Free Software Daily (FSD). FSD is a hub for news and articles by and for the free and open source community. FSD is a community driven site where members of the community submit and vote for the stories that they think are important and interesting to them. Click the "About" link to read more...
A tutorial that shows how to debug an ARM Linux program inside a platform emulated with QEMU. The tutorial uses gdbserver to connect the program executing in the guest system to the debugger running on the host system.
If you have been using QEMU for emulating other operating systems, you will find that it runs fairly slow. On average, QEMU will only run at about 20% of the speed of your host system. Obviously, this is a problem.
QEMU is a powerful, open-source machine emulator which allows you to run virtually any operating system inside your currently running distribution. In this brief tutorial I'll show how to run distributions for which the ISO is available, directly from within Debian or Ubuntu.
This week there was the release of QEMU 0.12.2 (and the subsequent release of KVM-QEMU 0.12.2) with support for block migration, but this point release was mostly made up of small fixes and tweaks. IBM's Anthony Liguori though has begun making plans for the next major release of this open-source processor emulator.
One of Linux's strengths is its cross-platform nature: you can run it on x86, x86-64, SPARC, PowerPC, and many other central processing units (CPUs). This wealth of hardware choices poses a challenge for software developers, though. Ensuring that software compiles, and runs correctly, on all platforms can be difficult. The use of the QEMU package can help ease this burden.
In this post I prepared what I think is the simplest example on how to manage interrupts for the widespread ARM926 core. From this example one can expand the complexity of the interrupt management at will. I’m going to test the functionality with QEMU, emulating the Versatile Platform Baseboard.