Den eigenen Debian-Kernel bauen

Es kommt nicht oft vor, dass ich den Linuxkernel selbst übersetzen muss. In der Regel bietet der generische Debian- oder Ubuntukernel alle Treiber, die man braucht und da die Module nur dann geladen werden, wenn sie tatsächlich benötigt werden, ist der Performancegewinn eines eigenen Kernel für mich auf neuer Hardware kaum spürbar.
Natürlich gibt es aber auch gute Gründe, warum ein eigener Kernel sinnvoll sein kann. Sei es nur um das letzte bisschen Leistung herauszukitzeln, ein neues Kernelfeature zu aktivieren oder unnötige zu deaktivieren.
Der Standardkernel 2.6.32 von Squeeze und auch der 2.6.26 von Lenny funktionieren beide nicht auf meinem Toshiba Satellite 220cs Laptop. Bei nur 16 MB RAM regt sich nach GRUB für gewöhnlich nichts mehr. Meine Versuche mit Slitaz hingegen waren sehr erfolgreich. Sowohl das Betriebssystem als auch der Kernel sind so angepasst, dass selbst 16 Jahre alte Hardware mit aktueller Software funktioniert.
Als Debian-Fan wollte ich unbedingt den Kernel anpassen, um auszuprobieren wie sich Debian auf dem alten Laptop schlägt. Natürlich stand ich wieder mal vor dem Problem, wie ging das eigentlich bei Debian mit dem Kernelkompilieren.
Debians Kernel Handbook zeigt schon die wichtigsten Schritte auf, doch am einfachsten und nachvollziehbarsten werden sie auf www.adminlife.net beschrieben.
Debian bringt nämlich schon ein Werkzeug mit, welches alle wichtigen Schritte der Kernelkompilierung übernimmt und den angepassten Kernel auch gleich in ein .deb Paket umwandelt, welches sich über Debians Apt dann problemlos verwalten lässt.
Die wichtigsten Schritte sind:

  • Notwendige Programme zum Kompilieren installieren
    aptitude install kernel-package build-essential
  • Gewünschte Kernel Quellen installieren. Entweder die Debian Kernel Sourcen nehmen oder direkt von www.kernel.org herunterladen und in /usr/src entpacken. Z.B.
    aptitude install linux-source-2.6.30
  • Symlink anlegen
    ln -s /usr/src/linux-2.6.30 /usr/src/linux
  • Kernelconfig kopieren. Für den Anfang genügt es die aktuelle config aus /boot zu nehmen. Allgemein geht auch zcat /proc/config.gz > kernel.cfg
    cp /boot/config-`uname -r` /usr/src/linux/.config
  • Kernel an die eigenen Bedürfnisse anpassen
    cd /usr/src/linux
    make oldconfig
    make menuconfig
    
  • Den Kernel kompilieren und ein .deb Paket erstellen
    make-kpkg kernel_image --revision 20110217 --initrd

Ich musste auf meinem im letzten Post vorgestellten Debian-Minimalsystem mit debootstrap noch das Paket lzma installieren, damit das Kompilieren erfolgreich war.
Als Kernelconfig hatte ich die Slitaz 2.6.30-loram config ausgewählt. Beim Übersetzen wurde zuerst ein Fehler mit dem Kernelmodul lguest gemeldet, dass ich danach aus der config gestrichen habe.
Erfreulicherweise lief danach die Kernelkompilierung erfolgreich durch. Das entstandene .deb Paket lässt sich bequem mit dpkg -i installieren.
Mit diesem Kernel ließ sich wie erhofft problemlos sowohl ein Squeeze als auch ein Lenny in Qemu booten. Möglichkeiten zum Optimieren gibt es noch einige. Z.B. benötige ich nicht wirklich das ReiserFS-Dateisystem und gefühlte 100 weitere Module auch nicht.
Vielleicht werde ich deswegen auch in Zukunft die Kernelconfig soweit anpassen, dass tatsächlich nur noch die absolut notwendigen Pakete übrig bleiben. Für den Anfang ist "the Debian way ™" und ein Minidebian in Ubuntu eine bequeme Möglichkeit um weiter herum zu experimentieren.
Wie sich der neue Kernel auf dem Toshiba 220cs geschlagen hat, dazu demnächst mehr.

Debian in Ubuntu installieren mit debootstrap

Neben der Netzinstallation von Debian existiert noch eine weitere Möglichkeit ein minimales Debian-System zu installieren. Diese Methode nennt sich debootstrap.
Damit lässt sich Debian von einem anderen Betriebssystem und sogar einer anderen Systemarchitektur aus einrichten. Es ist also möglich sich Debian aus einem laufenden Gentoo auf eine freie Partition zu installieren und danach in ein Dual-Boot-System zu starten.
Ganz so viel erwartete ich gar nicht als ich mir überlegt hatte, wie ich am einfachsten einen Debian-Kernel auf dem Dual-Core-Rechner kompilieren könnte, ohne dabei meine bestehende Ubuntu-Installation in irgendeiner Weise zu beeinträchtigen.
Ich entschied mich also mittels debootstrap Debian Squeeze in ein Verzeichnis namens debian in meinem Home-Ordner zu installieren. Alle Tests, Kernelkompilierungen und Veränderungen sollten in einer Chroot-Umgebung stattfinden.
Die ersten Schritte sind mit Ubuntu schnell erledigt:

aptitude install debootstrap
mkdir ~/debian
sudo debootstrap squeeze ~/debian http://ftp.de.debian.org/debian

Debootstrap ist im Prinzip nur ein besonders ausgereiftes Skript, welches beliebige Debian- oder Ubuntu-Versionen von einem Spiegelserver der Wahl installieren kann. Es werden hierbei nur die elementarsten Softwarepakete heruntergeladen.
Im Gegensatz zur Netzinstallation mit Debian müssen danach von Hand noch einige Konfigurationseinstellungen vorgenommen werden. Gut beschrieben wird das z.B. auf den folgenden Seiten:

Da mein Minidebian gar nicht bootfähig sein sollte und ich nur eine Testumgebung brauchte, waren aus dem Amateur Guide nur folgende Schritte notwendig:

mount –t proc none ~/debian/proc
mount –o bind /dev ~/debian/dev

In der ~/debian/etc/apt/sources.list noch die Quellen für die Sicherheitsupdates und die Sourcen eintragen und mit dem folgenden Befehl in die Chroot-Umgebung wechseln.
sudo chroot ~/debian
Danach wird Debian durch die Installation weiterer Pakete angepasst.

aptitude update
aptitude install locales
dpkg-reconfigure locales
aptitude install console-data
dpkg-reconfigure console-data
aptitude install linux-source-2.6.30

Das Ziel ist es mit Hilfe dieser Debootstrap-Installation einen Debian Kernel neu zu übersetzen und dafür die Kernel-Config der Slitaz-Loram-3.0-CD zu nehmen. Wenn alles glatt läuft, sollte sich damit irgendwann ein Debian auf dem Toshiba Satellite 220cs installieren und booten lassen.
Hoffentlich ist es auch in der Praxis so einfach wie in der Theorie. 😉

Drei native Linuxspiele für den Merkzettel

Hier sind drei vielversprechende, native Linuxspiele. Aus Zeitgründen hier nur eine kurze Notiz, um sie irgendwann mal ausführlicher auszuprobieren.
Jedes von ihnen bringt einen eigenen Linux-Client mit. Ryzom ist darüber hinaus Open Source!

Ryzom - ein Open Source MMORPG

Ryzom hat es meines Wissens letztes Jahr als erstes, vormals kommerzielles und closed source MMORPG, gewagt, den kompletten Quellcode für Server und Client zu veröffentlichen. Darüber hinaus wurden bis auf die Sounddateien alle Mediendateien wie Texturen und Modelle freigegeben!
Um das eigene Geschäftsmodell aber nicht zu zerstören, bleiben Handlung und Geschichte im Besitz des Publishers.
Seit November 2010 steht für alle Linuxspieler auch ein nativer Linux Client zum Download bereit.
Es gibt eine französische, englische und deutsche Online-Gemeinschaft. Sehr fair finde ich die Möglichkeit das Spiel 21 Tage kostenlos ausprobieren zu können. Das Spiel finanziert sich danach über ein Abonnement. Die Kosten reichen von 7,95 € (1 Monat im Voraus) bis 6,5 € (12 Monate im Voraus) pro Monat.
Das Unternehmen Winch Gate Properties Ltd, der Entwickler und Publisher von Ryzom, erhofft sich dadurch natürlich eine vielseitigere Spielerbasis, mehr Kunden und Aufmerksamkeit, aber auch durch mehr Augen auf den Quellcode ein insgesamt qualitativ besseres Spiel.
Gerade im MMO-Bereich ist ein freies Software Projekt nicht ganz trivial. Um zu verhindern, dass Spieler sich mit modifizierten Clients verbinden, womit der Manipulation im Spiel Tür und Tor geöffnet wäre, werden alle Codeveränderungen überprüft und nur mit dem offiziellen Client ist ein Verbinden zum Spieleserver möglich.
Theoretisch ist es möglich den gesamten Quellcode und die Media-Dateien für ein neues Ryzom zu verwenden und in direkte Konkurrenz mit dem Ursprungspiel zu treten. Zu einem guten MMO gehört aber durchaus mehr. Der Support, die Geschichte und Handlung des Spiels, Foren und Community kann man nicht beliebig kopieren oder erwarten, dass die Spieler sofort in Scharen zum neuen Fork laufen werden.
Server und Support kosten Geld, weshalb ich das kommerzielle Open Source Modell für Ryzom für eine tolle Idee halte. Es wurde auch Zeit! 🙂

Vendetta Online - ein SciFi MMORPG

Vendetta Online ist zwar ein kommerzielles Closed Source MMO, dafür gehört es zu den wenigen, die einen nativen Linux-Client zum Download anbieten. Die Entwickler schaffen das mit einem Stab von vier Programmierern, woran andere mit 100 scheitern.
Das Spiel lässt sich acht Stunden frei testen. Danach fallen monatliche Kosten ungefähr in der gleichen Höhe wie bei Ryzom an.
Das besondere an Vendetta Online ist, es lässt sich bequem z.B. über das Ubuntu Software Center installieren. Somit gehört es mit dem nachfolgenden Spiel zu den ersten Projekten, mit denen auch closed source Anwendungen sich leicht mit ein paar Mausklicks installieren lassen, ganz im Sinne meiner Ubuntu Philosophie.

World of Goo - ein intelligentes Konstruktionsspiel

Ich war versucht zu schreiben: "ein auf physikalischen Gesetzmäßigkeiten beruhendes Puzzlespiel". Das klingt zu trocken und beschreibt nicht die Komplexität und den Witz des Spiels.
In World of Goo muss man den Goo Balls (schon wieder Lemminge?) dabei helfen am Ende des Levels durch ein Rohr zu entkommen. Dazu muss man anhand der Spielphysik einen "Turm" bauen, damit die Goos damit in die Nähe des Ausgangs kommen können.
Die Spielphysik ist vielleicht am Anfang etwas trickreich, aber leicht zu lernen. Die Grafik des Spiels ist hervorragend und neben Linux existiert das Spiel auch für exotische Plattformen wie z.B. Windows, MacOS und das iphone 😉
Auf der vorgestern vorgestellen Live-Distribution von linux-gamers.net ist das Spiel als Demo enthalten. Es lässt sich wie Vendetta Online ebenso leicht über das Ubuntu Softwarecenter installieren.
So, mit Linux lässt sich also nicht spielen? 🙂

Tron ist zurück

Es begab sich letzte Woche, dass ein paar alte Menschen sich für einen Kinofilm namens Tron Legacy verabreden wollten. Ab einem gewissen Alter wird man bei einer solchen Verabredung vor gewisse Probleme gestellt.
Während früher oder daaamals ja sowieso alles besser war und eine Terminfindung in etwa so ablief:
"Wir gehen morgen ins Kino."
"Ok!",
muss es heute erstens langfristig vorher geplant sein und zweitens natürlich über ein elektronisches Medium erfolgen.
Nachdem wir zwei Dutzend Emails an den globalen "An-Alle"-Verteiler geschickt hatten und jemand schon auf die geniale Idee mit doodle.com gekommen war, mussten wir erschreckt feststellen, dass es einen unter uns gab, der vorher noch nie von Tron gehört hatte!
Wir spielten zwar alle noch mit der Rassel als der Ur-Tron in die Kinos kam, aber bitte, noch nie von Tron gehört?
Nachdem wir uns wieder mit vielen Mails daran abgearbeitet hatten (haha), kam postwendend eine Mail mit diesem Link. Nichtlustig dachte ich noch, doch damit die Würfel endlich fallen, antwortete ich (natürlich an alle),
aptitude search tron
aptitude install xtron ktron gltron armagetronad
worauf auch prompt von anderer Seite zurück kam,

$:dpkg -l *tron*
un armagetron (keine Beschreibung vorhanden)
ii gltron 0.70final-9 3D lightcycle game
ii xtron 1.1a-14 Tron game for X11

Da behaupte mal einer wir kämen vom Nerdpol :P. Wer sich noch unschlüssig ist, ob er Tron Legacy im Kino eine Chance geben sollte, hier kurz das Fazit ohne Spoiler.
Im Radio fasste die Moderatorin den Film mit den Worten zusammen, es gebe keine Handlung, die Optik sei beeindruckend und der Sound für einen Oscar nominiert. Nunja "keine Handlung" ist oft ein subjektiver Begriff, denke ich, aber auf Tron Legacy trifft er ziemlich gut zu. 😉
Immerhin haben wir nun alle auch für 11 Euro eine 3D Brille dazu bekommen, die man aber nicht! als Sonnenbrille verwenden darf. 🙁
Wer immer noch unsicher ist, ob er ins Kino gehen sollte, dem seien für etwas Nostalgie die Tron Spiele empfohlen. Was man von Tron Legacy lernen kann ist, dass neu nicht immer auch besser heißen muss.

Also bis in 30 Jahre dann, zu Tron Reloaded!
- Ende der Kommunikation -

Prinzipien, Ideale und was eine gute Distribution ausmacht

Jeder hat seine Lieblingsdistribution. Meine ist Debian. In den letzten zehn Jahren hat sich in dieser Hinsicht nicht viel getan. Lediglich Ubuntu konnte sich bisher dazwischen drängen und mich 2006 von ihren Zielen überzeugen.
Das bedeutet nicht, dass mich andere Ideen nicht interessieren oder ich fundamentalistisch an einer Distribution festhalten muss. Im Gegenteil: Ich kann zwar nicht versprechen Debian komplett zu vergessen, aber ich bin mir sicher, dass es da noch viele coole Ideen gibt und sei es nur eine Config Datei, die ich für ein Debian System nutzen kann.
Warum aber die Distribution wechseln?
Irgendeinen Grund muss es geben, dass es dort draußen so viele verschiedene Linuxdistributionen gibt, von denen laut distrowatch.com immerhin 129 Stück auf Debian basieren, mit großem Abstand folgen Fedora, Slackware oder Gentoo basierte.
Debian versucht seit neuestem mit einem Zensus mehr Feedback von diesen vielen Derivaten zu erhalten, um Änderungen und Verbesserungen besser in das Hauptprojekt einfließen lassen zu können.
Worin besteht nun der Unterschied zwischen einem Derivat, einer Linuxdistribution oder sogar einem Blend wie Debian Projekte wie Skolelinux, Debian Multimedia oder Debian Science bezeichnet.
Ein Blend oder Flavor ist nichts anderes als eine neue Mischung, eine Untermenge aus allen verfügbaren Softwarepaketen einer Distribution, nur zum Zweck geschaffen eine bestimmte Aufgabe für eine Nutzergruppe möglichst einfach "out-of-the-box" zu erfüllen. Oft sind sie als sogenanntes Metapaket verfügbar.
Derivate sind von einer Distribution abgeleitete Projekte, die im Kern immer noch auf einer wichtigen Komponente des Originals basieren, z.B. der Paketmanager. In anderen Bereichen unterscheiden sie sich aber mehr oder weniger stark von der Originaldistribution. Veröffentlichungen können regelmäßiger oder unregelmäßiger stattfinden, das Erscheinungsbild der Desktopoberfläche ist standardmäßig anders und besonders wichtig, neue Funktionen, Verbesserungen oder Programme, die im Original nicht existieren, wurden hinzugefügt.
Eine Linuxdistribution ist nach Wikipedia eine Zusammenstellung des Linux Kernels mit diverser Software, um hieraus ein Betriebssystem zu bilden.
Im Grunde genommen ist eine Distribution also auch der allgemeine Übergriff, unter dem sich alle anderen aufgezählten Begriffe summieren. Was macht nun aber eine gute Distribution aus?
Für mich persönlich stehen folgende Punkte im Vordergrund:

  • Mehrwert: Eine gute Distribution sollte dem Anwender einen großen zusätzlichen Nutzen bieten. Die Software ließe sich zwar auch manuell Paket für Paket installieren oder kompilieren, doch ein Blend übernimmt diese Aufgabe mit einem Kommando oder Mausklick. Bessere Sprachunterstützung, barrierefreie Bedienung, ein Derivat bietet eine benutzerfreundlichere Installation, vereinfachte Konfiguration oder im Gegenteil eine weiter fortgeschrittene, detailliertere Justierung, kurzum mehr Kontrolle. Auch die Vorinstallation einer bestimmten Desktopumgebung mit darauf ausgerichteter Software und angepassten Einstellungen wäre ein gutes Argument für eine Distribution. Umso mehr Mehrwert desto besser.
  • Klare Ausrichtung: Eine gute Distribution wurde mit einem bestimmten Ziel geschaffen. Linux bekannter und einsteigerfreundlicher machen (Ubuntu), ein universelles, stabiles, von einer Gemeinschaft entwickeltes Betriebssystem schaffen (Debian), eine extrem leichtgewichtige LiveCD kreieren (z.B. Slitaz) oder jede Kompilierungseinstellung selbst steuern können (Gentoo). Gibt es eine Philosophie, ein besonderes Merkmal oder CI um aus der Masse herauszustechen?
  • Tue eine Sache, die aber richtig: Eine gute Distribution schließt eine bisherige Anwendungslücke, ist für einen bestimmten Zweck oder eine Plattform besonders geeignet oder genau das, wonach sich die Welt schon immer gesehnt hat. Egal ob Live Distribution, Server-, Desktop- oder Gaming-Version, wird die Distribution ihren eigenen Anforderungen gerecht und stellt alles andere bisher Dagewesene in den Schatten, führt kein Weg mehr daran vorbei. Kann sie darüber hinaus alles auf hohem Niveau gleichzeitig, dann nenne man sie ab sofort Deb...ähm hervorragende Distribution.
  • Support und Community: Jede Distribution hat mal klein angefangen, meistens typisch in irgendeiner Garage 🙄 . Welche Möglichkeiten bietet sie aus diesem Anfangsstadium herauszukommen? Gibt es eine Website, ein Forum, ein Wiki, eine Newsgroup oder gar Handbücher? Wie verhält sich die Gemeinschaft gegenüber "Newbies", welche Maßnahmen wurden ergriffen um die Qualität und Weiterentwicklung positiv zu gewährleisten? Wie werden Entscheidungen über die Distribution getroffen und wie nachhaltig sind diese?
  • Freie Software versus Proprietäre: Unfreie Software darf niemals freie Software einschränken. Eine gute Distribution überlässt dem Anwender die Entscheidung, welche Software er verwenden will und welche nicht und schafft dafür die Voraussetzungen. Freie, perfekte, fehlerlose Software für jeden Anwendungsfall ist das Ideal. Doch in der unvollkommenen, realen Welt müssen manche Menschen von Einnahmen leben. Kommerzielle Dienstleistungen, die auf freien Standards aufsetzen und dem Nutzer einen Mehrwert bieten, sollten nicht nur toleriert sondern auch gefördert werden.

In den nächsten Monaten werde ich einige neue Distributionen ausprobieren und schauen, wer Debian vom Thron stoßen kann.
Mal sehen, ob sich auch meine Prinzipien ändern werden. 😉

Unverhofft kommt oft

Manchmal ist es wie verhext. Man glaubt nichts anderes als beim letzten Mal gemacht zu haben und doch verhält sich das System anders als erwartet.
Da der Toshiba 220 CS wegen KolibriOS eine neue FAT32-Partition erhalten sollte, dachte ich, eine komplette Neuinstallation mit allen vorher entdeckten Optimierungen wäre eine gute Sache.
Also wurde wieder Qemu und das 8 MB große Slitaz-Base-ISO bemüht und alles in ein 300 MB großes Raw-Image geschrieben. Dieses Mal wählte ich Ext2 als Dateisystem, was auf solchen Oldies "gefühlt" schneller arbeitet als Ext3, ohne dass ich dafür irgendwelche Zahlen nennen könnte.
Auch im Hinblick auf den 16 MB großen RAM Speicher hielt ich es für sinnvoll mich auf ein Dateisystem zu konzentrieren.
Das vorgefertigte Muster-Slitaz musste nur noch mit dd auf die Festplatte geschrieben und der restliche verfügbare Speicherplatz mit fdisk zugewiesen werden.
So hatte ich schließlich eine Swap-, Root-, Dos- und Home-Partition und bis auf Dos waren alle mit Ext2 formatiert.
Nach einigen Neustarts, zuvor waren nur 3-4 Standardprogramme installiert worden, hing sich das System nach dem Neustart schon auf, so dass ein Kaltstart die letzte Lösung war.
Merkwürdigerweise passiert mir so etwas immer nur bei Ext2-Dateisystemen, die danach natürlich Fehler melden und in diesem Fall leider auch einen unreparierbaren Schaden.
Anscheinend war eine System- oder Gerätedatei beschädigt,auf jeden Fall gab es als fortlaufende Fehlermeldung "/dev/tty2 could not be opened". Der Fehler ließ sich reproduzieren und trat nur dann auf, wenn ich den restlichen Festplattenspeicher partitionierte.
Dank des vorher angefertigten Backups mit DD ist nun alles wieder beim alten inklusive Ext3 Root-Partition. Solche Fehler sind unheimlich schwer nachzuvollziehen und sind auch nichts, was ich tiefer untersuchen möchte.
Das Ende: Ich verkleinerte die Root-Partition mit resize2fs und habe nun eine ca. 200 MB große Partition für KolibriOS.
Auch wenn man am liebsten schreiben möchte, dass man Ubuntu auf einem 15 Jahre alten Rechner zum Laufen bekommen hat und dort gerade Youtube-Videos mit Flash (pfui) ansieht, während gleichzeitig der mit Blender erzeugte neue Zeichentrickfilm gerendert wird...es läuft nicht immer alles auf Anhieb rund.
Auch der USB-Port scheint nicht zu den zuverlässigsten zu gehören. Mal lässt sich auf den USB-Stick schreiben, dann wieder nicht. Dateisystem wechseln hilft nicht und an anderen Laptops funktioniert er einwandfrei.
Momentan kann ich dafür Slitaz nicht verantwortlich machen, da vieles mehr auf die Hardware zurückzuführen scheint als auf das Betriebssystem. Mal sehen was Debian sagt, sofern ich es schaffe einen Kernel zu erstellen, der mit 16 MB RAM umgehen kann. 😉

Aufgaben für 2011

Es gibt noch ein paar Dinge, die ich dieses Jahr ausprobieren möchte. Dazu gehören sicherlich noch mehr als ein Dutzend verschiedener Konsolenprogramme, die versprechen alles Wichtige vom grafischen Desktop dorthin zurück zu holen, wo es hingehört, in die Shell.
Man sollte sich nur einmal die man Seite von surfraw durchlesen. 😛
Da gibt es zum einen Programme wie screen, elinks, rtorrent, charm, mplayer oder canto, die ich mittlerweile regelmäßig benutze und über die ich teilweise schon geschrieben habe und andere sehr gute Anwendungen, die mir gelegentlich aushelfen.
Das Ziel ist es mehr über die ressourcenschonenden Möglichkeiten der vielen Konsolenprogramme zu lernen, mit denen auch alte Rechner wieder mit Lichtgeschwindigkeit funktionieren. Das Ganze bekommt eine eigene Kategorie "Leben auf der Konsole".
Obwohl nicht alles neu war, habe ich doch erst durch K.Mandlas Blog Lust bekommen, mich mehr mit diesem Thema zu beschäftigen. Da er vier Jahre Vorsprung hat mit dieser Thematik, dürfte es schwer werden irgend etwas vollkommen Neues hinzuzufügen. Es sollte aber machbar sein innerhalb eines Jahres zumindest aufzuschließen 😉
Wer auch gerne zum "Maximalisten" werden will, sollte sofort einen Blick riskieren und die Seite aufrufen. Insbesondere der Softwareabschnitt liefert gute Ideen.
Wer ein vorkonfiguriertes Debian Lenny mit essentiellen Konsolenanwendungen sucht, dem sei auch K.Mandlas Sandbox-Version empfohlen. Der Torrent-Link befindet sich auf seiner Blogseite oder direkt bei linuxtracker.org herunterladen und in Qemu starten, leichter kann man sich nicht über seine Arbeitsumgebung informieren.
An Linux-Distributionen mangelt es ebenfalls nicht da draußen. Zumindest alle, die behaupten leichtgewichtig zu sein, wollte ich bis Jahresfrist ausprobieren. Insbesondere interessieren mich Distros, die eigene Akzente setzen und nicht nur die Desktopumgebung eines bekannten anderen Projektes austauschen.
Schließlich soll auch noch der ein oder andere Artikel über Spielen unter Linux erscheinen. Wer schon heute den komplette Überblick haben möchte, dem sei holarse-linuxgaming.de empfohlen.

Reif fürs Museum

Als ich gerade den RSS-Feed durchgesehen habe, bin ich auf diesen bedrückenden Beitrag auf Tagesschau.de gestoßen.
In Berlin eröffnet ein Computerspiele-Museum seine Pforten. Nach dem Beitrag musste ich sofort die grauen Haare im Spiegel zählen und verfiel in tiefe Depressionen. Ist das nun schon wieder so lange her, dass ich Lemminge auf dem AMIGA 500 gespielt habe?
00:20 ...Computerspiele und die Technik veralten sehr schnell.......
[deprimierend].
00:26...es ist wichtig, dass man sich um die Spieler von damals institutionell kümmert....
[holt mich, hier bin ich]
00:31 ...diese Spiele müssen der heutigen Generation zugänglich gemacht werden....
[vergesst den alten Kram, neu ist toll und immer besser]
00:40...heute sind Computerspiele Alltag...
[soso]
00:58 ...es wurde früher über Computerspiele gesprochen, aber oft nur in Bezug auf Gewalt, wir zeigen das hier auch...
[sehr differenzierte Aussage, aber gerade nochmal die Kurve gekriegt, ansonsten hätte morgen wieder in der Zeitung gestanden "Museum verharmlost brutale Computerspielegewalt"]
01:15...es ist schwer vorstellbar, aber diese kleinen Pixelwesen waren Kult...
[sind, sind!!]
Tja, wo sind die letzten 20 Jahre nur geblieben? Zum Glück bleibt die Technik nicht stehen und neue, innovative Spielkonzepte finden Einlass in die Populärkultur. Meine Schwester machte mich letztens auf dieses kewle Ääpp für das iPhone aufmerksam. Es kam mir sofort in den Sinn nachdem ich den Beitrag gesehen hatte.
Angry Birds auf youtube.com
00:20 ...paid version it's 99 cent...
[yeah, plus 200€ für das iphone + 50 € monatlich für den 24 monatigen Knebelvertrag bei einem größeren deutschen Kommunikationsunternehmen, aber dann gehts los, klingt fair]
00:50
[Wow, man kann die Hintergrundmusik abstellen...]
01:15
[Es hat Level, die man freispielen muss und es wird immer schwieriger? No way!]
01:45
[....pigs....destroy...castle?? Wenn das eine Burg ist, dann.... ach egal]
01:54
[Hat er gerade "kill" gesagt? Ich habe jede Hoffnung für die heutige Jugend verloren...]
Jetzt mal im Ernst, für wen klingen die Vögel exakt genauso wie die Lemminge aus dem Computerspiele-Museum?
So viel zum Thema Innovationen und kommt mir nicht, das kann man mit den Händen spielen! Wer spielt denn noch Spiele mit den Händen, haha.
Ich denke es wird nun Zeit für eine Runde Pingus. Als man noch Leben rettete und nicht tötete!

Obwohl ich auch mal wieder Lust auf ein Killerapp hätte.

Achja, schnell den Beitrag auf Tagesschau.de ansehen, bevor er depubliziert wird 🙄

Qemu spart Zeit und Geld

Qemu ist Freie Software, ein Emulator für verschiedene Prozessorarchitekturen und auch ein Virtualisierer und dabei in der Lage die komplette Hardware eines Computers zu emulieren. Insbesondere nützlich um Live-CDs und Betriebssysteme in dieser virtuellen Maschine auszuführen, die Installationen in eine Imagedatei zu schreiben und danach mit dd auf eine externe Festplatte zu übertragen.
Qemu löst für mich damit eine Menge Probleme. Ich kann verschiedene Software und Betriebssysteme spielend leicht testen, ohne dafür jedes mal ein neues Installationsmedium zu brennen oder gar jede Linux-Neuentdeckung auf einem separaten Computer installieren zu müssen.
Es gibt eine neue RC-Version des Debian-Installers und man möchte ihn sofort testen? Man wollte immer schon die neueste Anwendung für das Mobiltelefon mit ARM-Prozessorarchitektur ausprobieren, hat aber das entsprechende Gerät nicht parat. Mit Qemu auf jedem i386 PC möglich.
Welches Betriebssystem ist nun wirklich leichtgewichtig und ab wann beginnen die Probleme? Mit Qemu und der Option -m lässt sich bequem festlegen wie viel Arbeitsspeicher der virtuellen Maschine zugewiesen werden soll. Womit ich der Antwort auf meine Frage, wie viel RAM der Debian-Installer nun tatsächlich benötigt, etwas näher gekommen bin.
Nur um zu zeigen mit wie wenig Aufwand das geht, hier zwei Zeilen.

qemu-img create test.img 1G
qemu -hda test.img -cdrom debian-testing-i386-netinst.iso -boot d -m 32

Der erste Befehl erschafft ein Image namens test.img im Raw-Format mit der Größe 1 Gigabyte. Der zweite Befehl führt Qemu aus und definiert das Image als virtuelle Festplatte und das mit Rtorrent heruntergeladene Debian-Netinstall-ISO als CD-ROM-Laufwerk, von dem beim Start gebootet wird. Mit nur 32 MB Arbeitsspeicher gibt der Debian-Installer folgende Antwort.

Ich wusste das 64 MB RAM ausreichen um Debian Squeeze auf meinem Toshiba Portégé 3110 CT zu installieren und das 16 MB für den anderen Oldie zu wenig waren. Mit 32 MB RAM kommt man zumindest schon einmal in den "low memory"-Modus, die erste Hardwareerkennung und das Mounten der virtuellen CD-ROM funktioniert, doch dann gibt es eine Kernel Panic bei der Einrichtung der Netzwerkkarte, womit hier vorerst Schluss ist.
Interessanterweise ist die Warnung des Debian-Installers bitte mindestens 43 MB RAM zu installieren wirklich nur als absolutes Minimum zu verstehen. Denn auch mit soviel Arbeitsspeicher wird die virtuelle Netzwerkkarte in Qemu nicht automatisch erkannt und nach einer externen Treiber CD gefragt 🙄
Bei 64 MB RAM funktioniert alles einwandfrei und bei 16 MB RAM....

qemu: fatal: Trying to execute code outside RAM or ROM at 0x01449f40

beendet sich Qemu mit einer Fehlermeldung. Immerhin bestätigt das die Erfahrungen mit den anderen beiden Laptops. Was nun den Bereich zwischen 32 MB und 64 MB mit dem Debian-Installer angeht. Hier scheint zumindest etwas Glück gefragt zu sein, vielleicht sieht das ja bei "echter" Hardware wieder anders aus. 😛 Zumindest behauptet K.Mandla in seinem Blog eine Debian-Installation mit 32 MB RAM erfolgreich geschafft zu haben 😉

Meine Ubuntu-Philosophie

Als ich 2006 zum ersten Mal Ubuntu installiert hatte, war das vor allem der Neugier geschuldet. Eine Distribution, die die Stabilität von Debian bewahrt und gleichzeitig nach der Installation sofort für jeden Zweck einsatzbereit ist. Das klang verlockend. Heute wie damals steht Ubuntu für mich für die Attribute: Geringer Aufwand, Bequemlichkeit, einsteigerfreundlich, gute Hilfe im Internet und klare Ausrichtung.
Ubuntu zielt vor allem auf einfache Bedienbarkeit und leichte Installation ab. Gerade letzteres ist wohl das ausschlaggebende Argument, warum Ubuntu gerade für Neueinsteiger geeignet ist. Dabei geht oft unter, dass sich Ubuntu auch nach der Installation frei anpassen lässt und das beschränkt sich nicht nur auf das Aussehen. Fenstermanager oder sogar die komplette Desktopumgebung wechseln ist kein Problem. Wem das alles noch nicht reicht, dem steht sogar die händische Methode mit der Installation der Server-Version mit anschließender Auswahl der gewünschten Software zur Verfügung.
Aber natürlich gibt es auch einen Haken bei der Sache. Um diesen allgemeinen Komfort zu erreichen, installiert Ubuntu viele Anwendungen und Dienste, die nicht jeder unbedingt braucht und die das System träger als notwendig reagieren lassen. Und wer sich die Mühe macht Ubuntu von der Server-Version aus zur vollständigen Desktopumgebung zu konfigurieren, könnte auch direkt mit Debian weitermachen.
Ubuntus Charme macht für mich die Installation und der sofort betriebsbereite Gnome-Desktop aus. Dabei geht es mir vor allem um den neuesten proprietären Nvidia-Treiber, Virtualbox mit Gasterweiterungen und das ein oder andere Ubuntu-PPA wie z.B. Wine1.3. Nichts Besonderes also. Das was man auch bei anderen Distributionen manchmal genauso leicht, oft aber auch deutlich schwieriger einrichten kann.
Es ist dieses "out-of-the-box-alles-läuft"-Gefühl was ich an Ubuntu gut finde und das Ubuntu versucht Linux so einsteigerfreundlich wie möglich zu gestalten. Klar, andere unterstellen Ubuntu schon, dass es das Windows der Linuxwelt werden wolle. Ein ziemlich abwegiger Gedanke. Ein freies Betriebssystem bleibt immer frei und wem Ubuntus legitime Bemühungen durch Dienstleistungen Unternehmenskunden zu gewinnen und mit Ubuntu One auch normale Linuxbenutzer anzusprechen missfallen, na der kann Ubuntu One jederzeit deaktivieren oder sogar eine andere Distribution wählen.
Ich hoffe vielmehr, da kommt noch mehr. Ich will auch nicht, dass unfreie Software freie Software einschränkt. Aber diese Gefahr sehe ich einfach nicht. Ich würde es gut finden, wenn es mehr kommerzielle Angebote zu Linux geben würde, bei denen man sich für das beste Produkt entscheiden kann.
Ich denke Ubuntu ist wichtig für Linux, weil es mehr Menschen interessiert, die bisher Linux gleichgültig gegenüberstanden oder schlicht die Alternativen nicht kannten. Für viele ist tatsächlich die Installation die Hürde. Die meisten wissen es nicht oder können es sich nicht vorstellen, dass man ein Betriebssystem modular nach seinen Wünschen auch nach der Installation erweitern und anpassen kann. Ein X-Server existiert unter Windows nun mal nicht.
Wenn man ein paar Monate mit Ubuntu experimentiert hat, erkennt man schnell, dass die Installation im Vergleich zur regelmäßigen Benutzung des Betriebssystems nur ein sehr kurzer Zeitabschnitt ist. Insbesondere für ältere Rechner genügt diese rundum sorglos Packung dann schon nicht mehr.
Nun habe ich gestern so ausschweifend über die Desktopgestaltung geschrieben und das Ubuntu nicht braun sein muss.
Ubuntu_10.10_Core_Duo
Tja und nun das. Mein Ubuntu-Desktop auf dem Dual-Core-Rechner. Standardhintergrundbild von Ubuntu 10.10, Standard-Gnome-Panel oben und...AWN-Dock unten. Ich liebe eben die Abwechslung 🙄
Ehrlich gesagt sind verspielte Desktops nicht mein Ding. Überall blinkende Desklets, transparente Fenster, feurige Compizeffekte...alles sehr nett und ab und an schalte ich sie auch an, aber die meiste Zeit über interessiert mich nur, dass der Computer zuverlässig läuft. Die Anwendungen und die Bedienbarkeit stehen klar im Vordergrund.
Das ganze passt eben auch zu meiner oben beschriebenen Ubuntu-Philosophie. Schmerzfreie Installation und los gehts, das hat auch Vorteile. Würde der Rechner von heute auf morgen in Flammen aufgehen, ich müsste mir zwar neue Hardware kaufen, aber die Einrichtung des Betriebssystems wäre eine schlichte Ubuntu Standardinstallation.
Demnächst wieder mehr zu den eher unbekannteren Linuxdistributionen.