Introducing the Players
I used five different PC-class systems, both real and virtual, during the course of this project. My desktop, "shiitake," runs 64-bit SUSE Linux 10.0 with a comfy keyboard, large displays, and the USB ports. The QEMU emulator runs on "button," a 32-bit SUSE 10.1 box. QEMU hosts the development system and the digital picture frame testbed, a pair of virtual machines known as "develop" and "pixie." Finally, pixie's hard-drive image goes directly into the DPF on the wall.
Figure 1 shows the DPF's hardware from the rear. Basically, I discarded all the black plastic bits from an IBM ThinkPad 560Z, then mounted the remainder on an acrylic sheet with the display on one side and system board and keyboard (removed for the photo) on the other. The 2-GB Compact Flash card in the upper right emulates an ordinary IDE drive holding the system software and images.
Figure 2 is the front view, which is basically a picture in a wood frame. The flimsy frame attaches firmly to the acrylic sheet that suspends the whole affair from the wall.
On the software side, I intended to run QEMU on shiitake, but Intel/AMD's x86_64 architecture doesn't include the Virtual-86 mode found in 32-bit x86 processors. I also encountered several annoyances while attempting to compile QEMU/KQEMU as x86_64 programs. Rather than fight, I simply installed QEMU on button and pulled its user interface across my LAN to shiitake with ssh -X button.