Linux for MAMEcabs —
No, this isn’t the name of a new specialized GNU/Linux distro :)
Six or seven years ago, I started thinking about putting a PC loaded with MAME in a coin-op arcade – indeed I discovered a very active community discussing the topic, so I joined the bandwagon: found an old cabinet from a local reseller, brought it home (quite a major task, if you ask me), and after some days I had available hundreds of games to be played where they belong to (as you can see in the pictures of The Lab).
During these years, the hardware has been under a couple of major revisions, but the most evolving area has surely been the software: first DOS, then Linux (Slackware), using AdvanceMAME, then SDLmame, then again AdvanceMAME.
Recently the partition containing the OS has corrupted; it had already become somewhat a mess, so I started thinking about starting from ground.
Learning from past experiences, I had some requirements:
– It had to be GNU/Linux
– It had to boot quickly
– It had to boot from a compactflash
– It had to run in framebuffer (to avoid Xorg and his bulkness)
– It had to run in a read-only partition
The last point is essential: call me a freak, but i want to be able to turn it of without needing a shutdown sequence.
I was thinking about a custom Linux with BusyBox, then I found Voyage Linux: it’s a Debian-based distro, targeted at embedded systems. It has a small footprint, and it runs in a read-only partition. Just perfect!
I downloaded the Live CD, and following the instructions, installed it on a 512Mb compactflash. To make it boot quicker, and reduce further the footprint, I removed all the unuseful services (wifi and hotspot related services, software watchdog, etc.).
The kernel needed a bit of trimming, too (on the cab I’ve a Matrox G400, and matroxfb isn’t enabled by default), so here are the instructions to build a custom kernel.
The final touch was to make it boot silently: using the kernel switch console=tty7 I moved the boot output to virtual console 7, but there was still the output from GRUB: hopefully, this article from Refining Linux shows exactly how to patch Grub to make it stealth :)
In the next article, a couple of words about the bootsplash and the launcher.