Auf der Suche nach dem CoreDump

Der dnsmasq wollte einfach keinen Coredump hinterlassen, sodaß ABRT nichts zum Reporten hatte. Selbst wenn man den Bug gar nicht einreichen will, ist der ABRT praktisch weil er die ganzen Debuginfopakete automatisch installiert,  …

Da dnsmasq zwischendurch seine Benutzerkennung ändert, damit er nicht unter Root-Rechten läuft, produziert ein Standard-Linux-Kernel keinen Coredump.

Anschalten:

 echo 2 > /proc/sys/fs/suid_dumpable

Und wenn im Coredump was fehlt (was bei dnsmasq nicht der Fall ist):

 echo 0xF > /proc/<pid>/coredump_filter

Fedora Live CD über PXE booten

Wir brauchen die Live-CD tools:
yum install livecd-tools

Alles in den TFTP-Ordner werfen und aus der ISO den Kernel und die initred rauspulen:
livecd-iso-to-pxeboot Fedora-18-Beta-x86_64-Live-Desktop.iso

Der pxelinux.cfg Eintrag sieht dann so aus:

LABEL Live18
     MENU LABEL 1)  Fedora Live
     KERNEL vmlinuz0
     APPEND rootflags=loop initrd=initrd0.img
root=live:/Fedora-18-Beta-x86_64-Live-Desktop.iso rootfstype=auto ro
liveimg quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0

Geduld: das Booten dauert Ewig, funktioniert aber.

MAME und MESS

Seit Ewigkeiten liegt im RPMFusion der Mame rum und schon immer war er mir ein Rätsel. Die Doku zum Einstieg ist dürftig und der Mame etwas eigenartig. Daher mal meine Erkenntnisse:

ROM
Dump eines einzelnen (EP)ROM-Bausteins. Mame kennt jeden einzelnen ROM-Dump mit seiner CRC-Prüfsumme. Ein ROM kann einen Status wie OK, BADDUMP, … haben. ROMs mit baddump oder unneeded, sollte man nicht wegwerfen. Baddump-ROMs stellen sich manchmal doch als ok heraus: sieht auf den ersten Blick defekt aus, war aber nur verschlüsselt. Oder in zwei 8-Bit-Bausteinen finden sich obere und untere Hälfte von 16-Bit-Krams getrennt; jeder einzelne Baustein sieht dann auch erstmal defekt aus. Mit jeder Mame-Version kann sich also die Anzahl an defekten und heilem ROMs ändern. Die Dateinamen sind durch die Datenbank von Mame vorgeschrieben.

SET
Die meisten Spiele sind größer als ein (EP)Rom-Baustein. Daher werden mehrere zusammengehörige ROMs zu seinem Set zusammengefasst. Diese Sets liegen als ZIP-Archiv im ROMs-Ordner von Mame rum. Ein SET hat einen Status (Working, not-working, working with problems, …). Die Set-Dateinamen sind durch die Datenbank von Mame vorgeschrieben.

CHD
Dump eines Mediums. Einige System haben nicht alles im ROM, sondern haben zusätzlich Festplatten oder (digitale) optische Datenträger. Diese Medien werden in eine CHD-Datei gedumpt. Das Dateiformat der CHD-Dateien hat sich mehrfach geändert. Aktuell sind Version 4 und 5 im Umlauf. Eine vollständige Sammlung von CHDs ist wohl reine Platzverschwendung. Bei einigen Spielen wie z.B. Dance Mania (scheint so ein Karaoke-Ding zu sein), gibt es wohl eine beliebige Anzahl an Permutationen von Ausstattung, (Ein/Mehrspieler, …), Software-Ständen und Musik (je nach dem was gerade in den Charts war).

Samples
Sounds, die nicht aus den ROM-Dateien erzeugt werden können; können z.B. analoge Synthesizer-Schalterkreise im Automaten oder auch mechanische Geräusche sein.

clrmamepro
Tool zum Verwalten von Sammlungen von ROMs, Samples, … Das Tools holt sich aus dem Mame die Liste aller ROMs und Sets raus (das DAT-File) und zeigt an, welche man davon hat, welche ok sind, welche unvollständig sein, wo der Dateiname nicht stimmt (und Mame deshalb das ROM oder das Set nicht findet), … Leider nur für Windows. Wenn man mit clrmamepro auch andere Emulatoren verwalten will (z.B: C-64 oder Spielekonsolen) finden sich auch dafür DAT-Files im Internet.

RomCenter
Tool zum Verwalten von Sammlungen von ROMs, Samples, …  Kann im großen und ganzen das gleiche wie Clrmamepro, sieht nur anders aus. Ich finde die Bedienung besser, dafür ist es nervig langam.

BIOS
Ein Set, welches kein Spiel enthält. Insbesondere für MESS wichtig, aber auch für Mame gibt es einige BIOS-Sets.

Parent
Ist die eigentliche Haupt-(World)-Version des Automaten.

Clone
Clones sind Ableger der Haupt-Version. Hier könnte z.B. wegen Jugendschutz oder Lokalisierung ein einzelnes ROM aus seinem Set anders sein. Oder es gibt verschiedene Software-Versionen des gleichen Automaten, die sich aber nur in Kleinigkeiten unterscheiden.

Split-Set
Der Parent und jeder Clone haben eine eigene ZIP-Datei. Hierbei sind nur die ROM-Dateien im ZIP-Archiv des Clones, die auch tatsächlich anders sind als beim Parent; der Clone ist ohne den Parent also nicht viel wert.

Merge-Set
Alle Parent und ihre Clones sind in einer gemeinsamen ZIP-Datei.

Non-Merged Sets
Hier hat jeder Parent und jeder Clone seine eigene ZIP-Datei. Gleichzeitig enthalten die Clones aber alle notwendigen Dateien (also die Dateien des Parents, aber nicht der anderen Clones).

MESS
Ist ein Mame-Teil, der sich nicht mit Arcade-Automaten, sondern mit Spielekonsolen und Homecomputern beschäftigt. Mess ist häufig schlechter als dedizierte Emulatoren, kann dafür aber sehr viele und auch sehr exotische Systeme emulieren.

Driver
Für jedes Spiel (oder jede Spiele-Familie) gibt es einen Driver. Ein Driver setzt sich auch diversen generischen Emulations-Komponenten (CPU, Graphik, Sound, …) zusammen.

MAME
Mame ist der eigentliche Emulator. Es gibt diverse Mame-Forks, die meistens irgendwas besser machen. MameUI hat ein netteres Benutzerinterface. Es gibt aber auch Forks wie MamePlus, MameUIFX, oder Mame-Cave die zusätzliche Driver haben. Diese Driver werden aus verschiedenen Gründen (zu neu, schlechter Code, Urheberrecht, …) nicht in den Upstream-Mame aufgenommen.