Adding a dotted zero to X11 core fonts (misc-fixed)

In this post I will show how one can edit bitmap fonts in pcf or bdf
format under GNU/Linux. The reason for writing this article was a wish
on mine part to edit the X11 core fonts in order to add a dotted or
slashed zero.

Motivation

I use urxvt with stock settings (except color) as terminal emulator.
If not defined to otherwise in the configfile urxvt uses the default fonts of
the X windowing system. The X default fonts are in fact a complete
collection of fonts which are called misc-fixed. They are available
in different sizes whereas urxvt uses 6×13 as a default.

The misc-fixed fonts are bitmap fonts.
This means that every character is defined pixel for pixel.
This leads to a few advantages over truetype or freetype fonts which are
constructed out of splines:

  • Faster to display: There is no need to convert the character to
    actual pixels before displaying it.
  • Pixel-perfect: As bitmap fonts are already stored in pixels they can
    be displayed exactly as defined beforehand. There is no need of
    anti-aliasing, the font is sharp as hell. This is the main reason why I
    use bitmap fonts.

The pixel perfection is the biggest downside of bitmap fonts at the same
time. As soon as a bitmap font should be scaled in any way, they start to
look blurry.

Dotted / slashed zero

A dotted or slashed zero is a typographic term and means, that the
number zero is crossed or has a small dot inside. This makes the zero
far more distinguishable from the capital letter O. There’s a nice
article on Wikipedia on that topic.
Unfortunately the misc-fixed fonts don’t have a dotted zero. ­čÖü

urxvt-misc-fixed-without-dotted-zero

But this is going to change…

Needed tools

Three tools are needed. It’s very likely that you must install the
first two.

  • pcf2bdf: This tool is used to convert the bitmap font from the
    binary pcf format into the ASCII-based bdf format (bitmap distribution
    format). On a modern Linux the bitmap fonts are stored in pcf
    format and additionally compressed with gzip. On archlinux this is only
    available in AUR: pcf2bdf.
  • gbdfed: The graphical bdf editor is used to edit bitmap fonts. On
    archlinux gbdfed is available only an AUR as well: gbdfed.
    The official site: gbdfed official site.
  • bdftopcf: This tool is used to convert the edited bdf file back
    into pcf format. It’s shipped with X, so theres a high possibility
    that you don’t have to install it. ­čśë

Editing the pcf font files

On most systems the font files will lay under

/usr/share/fonts/misc/

You can list all installed fonts with it corresponding name and path with the
fc-list utility:

$ fc-list

The next step is to copy the font file you want to edit and unzip it:

$ cp /usr/share/fonts/misc/6x13-ISO8859-1.pcf.gz /tmp/
$ cd /tmp/
$ gunzip 6x13-ISO8859-1.pcf.gz

After that we can convert the pcf file into bdf format:

$ pcf2bdf -o 6x13-ISO8859-1.bdf 6x13-ISO8859-1.pcf

Now we can edit the font with gbdfed:

$ gbdfed 6x13-ISO8859-1.bdf

gbdfed gbdfed

After that we convert the bdf file back into pcf format:

$ bdftopcf -o 6x13-ISO8859-1.pcf 6x13-ISO8859-1.bdf

Compress it and copy it back. Make sure to have a backup of your
original font…

$ gzip 6x13-ISO8859-1.pcf
# cp 6x13-ISO8859-1.pcf.gz /usr/share/fonts/misc/

Afterwards we force a rebuild of the fontcache:

$ fc-cache -f

You might have to restart the X server as well.

And we’re finished:

urxvt with misc-fixed in 6x13 and dotted zero

If you don’t want to overwrite your original font file you have to
rename the font inside of gbdfed, copy the modified font to
~/.fonts and run fc-cache -f ~/.fonts. After that you have to
specify the font inside of urxvts configfile / .Xresources:

URxvt.font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1

Show default include directories of gcc and show default library search path of ld

To show the default include directories used when calling gcc you can manually invoke the preprocessor with -v option:
$ cpp -v
The output will contain something like:
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/include
/usr/local/include
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/include-fixed
/usr/include

To find out the used library search paths of ld (linker) just use:
$ ldconfig -v 2>/dev/null | grep -v ^$'\t'
If invoked as $ ldconfig -v the libraries in the used paths are printed out as well.

I found this quite helpfull as I had problems with unresolved includes.

sources: [1] and [2]

Seat Leon 1M Stabilisator tauschen (Audi A3, Golf 4 IV)

In diesem Beitrag werde ich erkl├Ąren, wie man den Stabilisator an der Vorderachse eines Seat Leon tauschen kann. Da Golf 4 und Audi A3 technisch fast identisch sind, l├Ąsst sich die Anleitung nat├╝rlich auf diese ├╝bertragen.

Der wohl h├Ąufigste Grund, warum der Stabilisator getauscht werden sollte, ist die Tieferlegung des Fahrzeugs. Wird anschlie├čend mit h├Âherer Geschwindigkeit und st├Ąrkerem Lenkeinschlag eine Linkskurve gefahren, streift der Stabilisator an der Antriebswelle.
Der Stabilisator verl├Ąuft bei allen Fahrzeugen der Golf 4 Plattform unter dem Auto durch und jeweils links und rechts in einem Bogen ├╝ber die Antriebswellen. Auf jeder Seite ist der Stabilisator dann ├╝ber Koppelstangen mit den Querlenkern verbunden. Eine Ausnahme bilden 4WD-Modelle: Hier verl├Ąuft der Stabilisator unter den Antriebswellen und ist mittels langen Koppelstangen direkt an den Sto├čd├Ąmpfern befestigt.

Wird nun wie oben beschrieben etwas schneller eine Linkskurve gefahren, federt das Auto ein. Durch den Lenkeinschlag streift die Antriebswelle dann auf der Innenseite des Bogens, den der Stabi ├╝ber der Antriebswelle bildet. Um dies zu verhindern kann auf dem Zubeh├Ârmarkt ein Stabilisator mit einem gr├Â├čeren Bogen erstanden werden. Das Schleifen wird dadurch verhindert.

Zum Wechsel des Stabilisators sollte man Zugang zu einer Hebeb├╝hne haben. Ich habe den Wechsel in einer Mietwerkstatt durchgef├╝hrt. Au├čerdem sollte man f├╝r diese Arbeit zu zweit sein, die Demontage des alten und die Montage des neuen Stabis geht zu zweit viel leichter. M├Âchte man den 4WD-Stabilisator verbauen, kann man die Arbeit auch zu Hause durchf├╝hren, da dieser durch die einfachere Form wesentlich leichter zu montieren ist.

Folgendes Werkzeug wird ben├Âtigt:

  • N├╝sse/Schraubenschl├╝ssel: 13mm, 16mm, 17mm, 21mm
  • Drehmomentschl├╝ssel mit einem Einstellbereich f├╝r 20, 40 und 100Nm
  • T20 Torx f├╝r Unterbodenverkleidung
  • Wagenheber / Getriebeheber um die Vorderachse abzust├╝tzen
  • Optional: Ein Wasserrohr um die Knarre zu verl├Ąngern
  • Optional: Schraubzwinge um die Stabilager besser montieren zu k├Ânnen

Folgende Teile werden ben├Âtigt:

  • Der neue Stabilisator, ich habe einen von x-parts.de verbaut, der von JOM hergestellt wird
  • Neue Stabilisatorlager, diese sind meistens beim Stabi mit dabei
  • Die 4 Befestigungsschrauben der Vorderachse, diese Schrauben sind Dehnschrauben und sollten unbedingt ersetzt werden: zweimal: 907 528 02 und zweimal: 907 349 02
  • Die zwei Befestigungsschrauben der Drehmomentst├╝tze am Aufbau: 102 683 04
  • Die zwei Befestigungsschrauben der Drehmomentst├╝tze am Getriebe: 905 970 05 und 106 535 03 (bitte ├╝berpr├╝fen, hier gibt es Unterschiede je nach Motorkennbuchstabe)
  • Die selbstsichernden Muttern, mit denen der Stabi an der Koppelstange befestigt wird: 102 613 10
  • Falls man die Koppelstangen mittauscht, die zwei Befestigungsschrauben am Querlenker: 106 994 01
  • Die vier Befestigungsschrauben der Lenkung: 100 155 07 (auch hier gibt es Unterschiede je nach Motorkennbuchstabe, teilweise wird hier 105 266 03 verbaut, deshalb gegenchecken)
  • Die zwei Befestigungsschrauben f├╝r die Stabilisatorlager: 101 016 03

Anzugsdrehmomente:

  • Vorderachsschrauben: 100Nm + 90┬░
  • Drehmomentst├╝tze am Aufbau: 20Nm + 90┬░
  • Drehmomentst├╝tze am Getriebe: 40Nm + 90┬░
  • Lenkung: 20Nm + 90┬░
  • Koppelstangen am Stabi: 30Nm
  • Koppelstangen am Querlenker: 45Nm (Falls die Koppelstangen gleich mit getauscht werden)

Anleitung:

Die Radschrauben anl├Âsen (17mm) und anschlie├čend das Auto mit der Hebeb├╝hne hochfahren.
R├Ąder demontieren: Joar, irgendwie selbsterkl├Ąrend. ­čśŤ
Stabilisator vom Querlenker trennen: Hierzu mit dem Getriebeheber unter den Querlenker fahren und diesen leicht anheben. Dann die Mutter die den Stabi an der Koppelstange h├Ąlt l├Âsen. Evtl. muss hier mit einem 10er Imbus gegengehalten werden. Meistens ist alles so festgebacken, dass dies nicht n├Âtig ist.
Seat Leon 1M, Golf 4, Audi A3: Stabilisator l├Âsen Seat Leon 1M, Golf 4, Audi A3: Stabilisator von den Koppelstangen l├Âsen
Lenkung losschrauben: Den Getriebheber mittig unter die Vorderachse fahren und auf Anschlag fahren. Dann die vier Schrauben der Lenkung l├Âsen (rot auf dem Bild):
Seat Leon 1M, Golf 4, Audi A3: Lenkung losschrauben
Drehmomentst├╝tze demontieren: Die Drehmomentst├╝tze, umgangssprachlich wegen der Form auch gerne als Hundeknochen bezeichnet, verhindert beim Anfahren, dass der Motor durch das auftretende Drehmoment nach vorne kippt. Hierzu einfach die zwei Schrauben am Aufbau und die zwei Schrauben am Getriebe l├Âsen:
Seat Leon 1M, Golf 4, Audi A3: Drehmomentst├╝tze (Dogbone) ausbauen Seat Leon 1M, Golf 4, Audi A3: Drehmomentst├╝tze (Dogbone) ausbauen
Vorderachse l├Âsen: die Vorderachse ist mit vier Schrauben befestigt. Hier kann die oben genannte Verl├Ąngerung f├╝r die Knarre hilfreich sein, die vier Schrauben sind ordentlich fest ­čÖé Bevor alle Schrauben gel├Âst sind, ist es ratsam den Sitz und die Position des Getriebehebers zu ├╝berpr├╝fen, ansonsten k├Ânnte die die Vorderachse pl├Âtzlich absacken.
Seat Leon 1M, Golf 4, Audi A3: Vorderachse ausbauen Seat Leon 1M, Golf 4, Audi A3: Vorderachse ausbauen
Stabilisator endg├╝ltig l├Âsen: Jetzt k├Ânnt ihr das Auto mit der Hebeb├╝hne ca. 15-20cm nach oben fahren (oder alternativ die Vorderachse entsprechend absenken) und bequem die zwei Schrauben, die die Stabilisatorlager an der Achse halten l├Âsen:
Seat Leon 1M, Golf 4, Audi A3: Stabilisatorlager l├Âsen
Stabilisator demontieren: Hierzu die gel├Âste Lenkung in Richtung des Fahrzeughecks ziehen, den Stabilisator nach hinten drehen und nach vorne hin ausbauen. Das liest sich leichter als es ist, man muss etwas rumprobieren, wie es am Besten klappt. Hier ist ein zweiter Mann jedenfalls sehr hilfreich. Wir haben letztendlich die Vorderachse nochmals etwas abgesenkt und zuerst den Stabilisator auf der linken und dann der rechten Seite unter der Vorderachse herausgezw├Ąngt.

Neuer Stabilisator einbauen: Prinzipiell wird der neue Stabilisator genauso eingebaut, wie der alte ausgebaut wurde. Den neuen Stabilisator einzubauen hat bei uns allerdings mit Abstand die meiste Zeit verschlungen. Aber nach etwas herumprobieren ist er irgendwann ├╝ber den Antriebswellen. Verbaut man den 4WD-Stabilisator hat man es bedeutend leichter.
Seat Leon 1M, Golf 4, Audi A3: neuer Stabilisator einbauen Seat Leon 1M, Golf 4, Audi A3: neuer Stabilisator einbauen
Als n├Ąchstes kann man die neuen Stabilisatorlager einbauen. Damit die Lager nachher nicht quietschen habe ich sie etwas gefettet. Einige Schwierigkeit hat uns allerdings die Befestigung der Lagerschalen bereitet. Die neuen Lager m├╝ssen etwas zusammengepresst werden, damit man die Befestigungsschraube ├╝berhaupt anziehen kann. Wir haben am Schluss einfach eine Schraubzwinge verwendet, die Lagerschale etwas zusammengedr├╝ckt und dann die Schraube eingeschraubt. Wichtig ist, dass ihr den Stabilisator horizontal schon einigerma├čen ausgerichtet habt, damit sich nachher die Koppelstangen wieder befestigen lassen.
Seat Leon 1M, Golf 4, Audi A3: neue Stabilisatorlager eingebaut
Das war’s eigentlich schon: Das Auto auf der Hebeb├╝hne wieder etwas absenken, beziehungsweise die Vorderachse mit dem Getriebeheber wieder nach oben pumpen. Anschlie├čend die Vorderachse, Lenkung und die Drehmomentst├╝tze mit den neuen Schrauben wieder festschrauben (Drehmomente stehen am Anfang des Artikels).
Auf Bild 2 sind noch schon die Schleifspuren zu sehen:
Seat Leon 1M, Golf 4, Audi A3: neuer Stabilisator eingebaut und Koppelstangen wieder festgeschraubt Seat Leon 1M, Golf 4, Audi A3: neuer Stabilisator eingebaut und Koppelstangen wieder festgeschraubt
Dann noch ab zum Spur einstellen und sich ├╝ber ein bedenkenloses Linkskurven fahren freuen ­čÖé

Empfehlung: Mietwerkstatt in Schwenningen

Diese Woche habe ich zum ersten Mal eine Mietwerkstatt ausprobiert und werde einen derartigen Service ab jetzt wohl ├Âfter nutzen. Eine Mietwerkstatt ist eine voll ausgestattete Werkstatt, die man f├╝r Geld nutzen kann. Besonders praktisch ist das, wenn Arbeiten anstehen, die ohne Hebeb├╝hne nur sehr schwer durchf├╝hrbar sind, oder besonderes Werkzeug ben├Âtigt wird. Arbeiten, die man prinzipiell auch zu Hause durchf├╝hren k├Ânnte, werden durch eine Hebeb├╝hne nat├╝rlich meistens komfortabler und weniger umst├Ąndlich (├ľlwechsel, Reifenwechsel …) .
Die n├Ąchste Mietwerkstatt in meiner N├Ąhe befindet sich in Schwenningen: http://schwenninger-mietwerkstatt.de/
Und so funktionierts: Einfach hinfahren (ohne Termin) und es kann losgehen. Die Schwenninger Mietwerkstatt ist gut ausgestattet und man bekommt vom einfachen Schraubendreher, ├╝ber Zangen usw. alles Werkzeug, das man ben├Âtigt. Das eigene Werkzeug kann man nat├╝rlich auch mitbringen (was ich getan habe). Wenn das Auto dann auf einer der f├╝nf Hebeb├╝hnen steht, kann man in Ruhe schrauben ­čÖé
Kosten: Eine Hebeb├╝hne kostet derzeit 9ÔéČ/h, was in meinen Augen ein fairer Preis ist. Auf der Website sind weitere Preise f├╝r Werkzeug, Alt├Âlentsorgung usw. aufgef├╝hrt.
Von mir gibt es jedenfalls eine klare Empfehlung f├╝r die Mietwerkstatt in Schwenningen.

3M Dual Lock anstatt eines herk├Âmmlichen Kennzeichenhalters

Heute mal wieder eine kleine Autobastelei, die ganz klar in die Kategorie “First World Problems” geh├Ârt: der Kennzeichenhalter. ­čÖé

Kennzeichenhalter geh├Âren zu den Dingen mit denen man sich eigentlich gar nicht besch├Ąftigen m├Âchte. Die von ihm aufgeworfenen Problemstellungen werden vom Gro├čteil der Bev├Âlkerung deshalb geflissentlich ignoriert. ­čśë Als Auto Enthusiast hat man allerdings eine Anforderungen an einen Kennzeichenhalter: er soll das
Kennzeichen am Auto befestigen – mehr nicht. Bei gegebener Funktion sollte er am Besten unsichtbar sein. Aus diesem Grund m├Âchte ich beispielsweise keine Werbung f├╝r ein Autohaus auf dem Halter haben. Au├čerdem m├Âchte ich weder in das Kennzeichen noch in die Sto├čstange L├Âcher bohren m├╝ssen. Und glitzern soll er auch nicht: Chrom-Kennzeichenhalter wirken meiner Meinung nach selbst auf einem Chevy BelAir deplatziert. Hier├╝ber l├Ąsst sich nat├╝rlich herrlich streiten…

Bisher habe ich die rahmenlosen Halter, die man bei der gro├čen Autowerkstattkette mit den drei Buchstaben kaufen kann verwendet:
Kennzeichenhalter Rahmenlos Kennzeichenhalter Rahmenlos Kennzeichenhalter Rahmenlos Hinten
Das Kennzeichen wird bei diesen Haltern einmal oben und unten eingerastet und zus├Ątzlich noch mit einem doppelseitig klebenden Moosgummi gehalten. Diese Halter haben allerdings drei Probleme:

  • Die Halter sind zu hoch, das f├╝hrt zu einem in der mitte durchgebogenen Kennzeichen, weil man die Halter meistens nahe am Rand verwendet. Ich habe hier bisher einfach in der Mitte etwas unterlegt
  • Das Plastik der Halter ist zu d├╝nn, damit man sie wirklich festschrauben kann. Zieht man die Schrauben zu stark an, verbiegt sich einfach der Kunststoff oder bricht gleich.
  • Entfernt man das Kennzeichen einmal vom Halter, ist der Moosgummistreifen zur H├Ąlfte auf dem Kennzeichen und zur anderen H├Ąlfte auf dem Halter.
  • Der Halter funktioniert nur auf geraden Fl├Ąchen.

Insgesamt ist der Halter deshalb ein Wegwerfprodukt, das einmal verbaut nach m├Âglichkeit nie wieder demontiert werden sollte, da es mit 100% Wahrscheinlichkeit beim Abbauen kaputt geht.

Also habe ich mich nach einer Alternative umgesehen und bin bei der Firma 3M f├╝ndig geworden, die unter dem Namen “Dual Lock” ein spezielles Klebeband anbietet.
3M definiert den Anwendungsfall f├╝r ihr Dual Lock Klebeband mit dem etwas sperrigen Begriff “wiederl├Âsbare Befestigungssysteme”, was den Einsatzzweck allerdings treffend beschreibt. Das Klebeband funktioniert wie ein Klettverschluss, statt Fasern sind jedoch kleine, pilzf├Ârmige Plastiknasen auf dem Klebeband, die eineinander einrasten. So entsteht eine mechanisch ausreichend belastbare Verbindung, die zur Befestigung des Kennzeichens mehr als ausreicht.
3M Dual Lock 3M Dual Lock
Pro Kennzeichen habe ich vier 9cm lange Streifen zur Befestigung verwendet, man ben├Âtigt also insgesamt 144cm des Klebebands.

Vorgegangen bin ich wie folgt:
Zu erst das Kennzeichen samt Halter abbauen und ordentlich sauber machen. Hierzu habe ich erst Schwamm und Wasser, dann eine Lackreinigungsknete und am Schluss noch Aceton zum Entfetten verwendet. Das Kennzeichen sollte von hinten nat├╝rlich ebenfalls ges├Ąubert und anschlie├čend entfettet werden. Den Grat der alten Befestigungsschrauben kann man mit einem Teppichmesser abschneiden.

Anschlie├čen von hinten die vier Streifen auf dem Kennzeichen verteilen: An jedem Rand , unter dem Zulassungsstempel und dem Leerzeichen zwischen den Buchstaben und den Zahlen fand ich am praktikabelsten, da hier am meisten Klebefl├Ąche vorhanden ist.
3M Dual Lock als Befestigung des Kennzeichens 4 Streifen 3M Dual Lock als Befestigung des Kennzeichens
Anschlie├čend einfach etwas Kreppband nehmen und kleine Ringe locker auf das Dual Lock kleben. Hierdurch kann man das Kennzeichen in die Kennzeichenmulde dr├╝cken und hat so die Position der Klebestreifen markiert:
3M Dual Lock als Befestigung des Kennzeichens Malerkrepp zur Markierung der Postition auf der Sto├čstange 3M Dual Lock als Befestigung des Kennzeichens Malerkrepp zur Markierung der Postition auf der Sto├čstange
Anschlie├čend das Dual Lock an den markierten Positionen aufkleben:
3M Dual Lock als Befestigung des Kennzeichens 3M Dual Lock als Befestigung des Kennzeichens
Und mit etwas Kraft das Kennzeichen “einrasten”:
3M Dual Lock als Befestigung des Kennzeichens Vorne 3M Dual Lock als Befestigung des Kennzeichens Hinten
Done!

Kein Ram-Tausch bei neuen Apple 2012 MacBook Pro Laptops mit Retina Display

Da Artikel ├╝ber Macs immer ne Menge Leute interessieren hier mal meine Meinung zu den neuen MacBook Pros mit Retinadisplay, die letzte Woche wieder mit viel Pomp und Get├Âse und entsprechendem Medienecho vorgestellt wurden. (Das ich hier dar├╝ber schreibe ist ja wohl ein Beweis, das Apples Marketing gut funktioniert, oder?) ­čśÇ

Ich habe mir den Artikel von ifixit.com durchgelesen, in dem sie ein neues MacBook mal aufschrauben.

Das erste Mal laut lachen musste ich, als ich ein wirklich sehr sch├Ânes Beispiel f├╝r kognitive Dissonanz gefunden habe:
Es geht darum, dass Apple jetzt eigene (propriet├Ąre) Schrauben einsetzt, f├╝r die man wieder einen extra Schraubendreher braucht. Kommentar des Artikels dazu:

We love a challenge, which is good news, because unlike previous generations of MacBook Pros, the MacBook Pro with Retina display is guarded by Apple’s proprietary pentalobe screws

:mrgreen: Ohne Worte

macbook-pro-retina-swap-ram
Innenaufbau MacBook Pro Retina

Als n├Ąchstes habe ich das Bild des Innenaufbaus angeschaut, hier f├Ąllt dem Betrachter sofort auf: Apple verl├Âtet die Speicherbausteine fest mit dem Mainboard, ein sp├Ąteres aufr├╝sten ist als nicht ohne weiteres M├Âglich! (Die SMD-erprobten Leute mit Hei├čluftl├Âtstationen mal ausgenommen)

Etwas weiter im Artikel dann noch ein lustiges Detail: Apple verbaut ja schon l├Ąnger keine von au├čen tauschbare Akkus mehr, aber diesmal haben sie die Akkus in das Ger├Ąt eingeklebt…

Bei einem Einstiegspreis von 2199$ bekommt man also ein Ger├Ąt bei dem man:

  • weder selbst den RAM aufr├╝sten oder bei einem defekt tauschen kann
  • noch den Akku selbst tauschen kann. Von der fehlenden M├Âglichkeit f├╝r lange Tage einen Zweiakku zum Wechseln mitzunehmen mal ganz zu schweigen.
  • Die Ger├Ąte haben keinen Ethernetport mehr, das geht nur noch per Adapter

Wetten das Ding wird ein Erfolg? :mrgreen:

How To: 1080p Videos mit dem Raspberry Pi abspielen

In diesem Artikel wird erkl├Ąrt, wie mit dem Raspberry Pi h264-codierte Videos mit einer Aufl├Âsung von 1920×1080 Pixeln (aka. FullHD / 1080p) abgespielt werden k├Ânnen.

“Installation” von Archlinux

Da ich inzwischen auf dem Laptop Archlinux einsetze und dort relativ zufrieden bin, habe ich mich gegen Debian entschieden und verwende stattdessen lieber die Archlinux Distribution f├╝r den Pi. Das Image kann man auf der offiziellen Downloadseite per Torrent oder http herunterladen. Anschlie├čend kopiert man das Image einfach auf eine SD-Karte. Hierf├╝r habe ich eine einfache 2GB SD-Karte verwendet. Kopiert wird mittels dd:

# dd if=archlinuxarm-29-04-2012.img of=/dev/sdX bs=4M oflag=sync

Wobei X der dem Buchstaben des Blockdevices unter dem die SD-Karte erreichbar ist entspricht. Falls man sich bez├╝glich des Buchstabens unsicher ist, kann nachdem die SD-Karte an den Computer angeschlosse wurde mit $ dmesg der Nachrichtenbuffer des Kernels ausgegeben werden. Hier sollte am Ende der Ausgabe etwas wie:
[ 2700.131623] sd 10:0:0:0: [sdf] 3862528 512-byte logical blocks: (1.97 GB/1.84 GiB)
[ 2700.132608] sd 10:0:0:0: [sdf] Assuming drive cache: write through
[ 2700.134458] sd 10:0:0:0: [sdf] Assuming drive cache: write through
[ 2700.134462] sdf: sdf1 sdf2
[ 2700.406247] EXT4-fs (sdf2): mounted filesystem with ordered data mode

zu finden sein. In diesem Falle w├Ąre X also f. Zur weiteren Kontrolle kann mit $ mount noch kontrolliert werden, ob /dev/sdf1 wirklich der ersten Partition der SD-Karte entspricht. Bevor man mit dd das Image auf die Karte schiebt m├╝ssen alle gemounteten Partition der SD-Karte geunmounted werden (z.B. # umount /dev/sdf1), da sonst dd ansonsten mit einer Fehlermeldung beendet.
Auf die Option oflag=sync m├Âchte ich hier noch mit einem Satz eingehen, da ich sie erst vor kurzem in einem von Gambarus tollen Beitr├Ągen entdeckt habe: Sie bewirkt, dass jeder Block mit Nullen aufgef├╝llt wird, wenn er nicht komplett mit Daten beschrieben werden kann.
Nachdem das Image auf der SD-Karte ist, kann man die SD-Karte und alle notwendigen Kabel (HDMI, LAN, evtl. Maus und Tastatur und am Schluss Strom) in den Pi stecken, der daraufhin startet.
Anschlie├čend kann entweder per SSH oder direkt am Pi gearbeitet werden.

Installation des omxplayers

Anstatt des mplayers oder vlc sollte man den omxplayer verwenden, da dieser die GPU des Pis ausnutzt! Der omxplayer wurde freundlicherweise von spenning aus dem Raspberry Pi Forum schon crosscompiliert, was die Sache relativ einfach macht. Wer selbst compiliert, kann sich unter Debian/Ubuntu das Paket gcc-arm-linux-gnueabi installieren, um den passenden Compiler zu bekommen. Dieses Paket ist f├╝r ├Ąltere Ubuntu/Debian-Versionen wie z.B. der letzten LTS Version 10.04 nur ├╝ber ein separates PPA-Repository zu erhalten.

Folgende Befehle werden auf dem Pi ausgef├╝hrt:
Herunterladen:

# wget http://seyrsnys.myzen.co.uk/rpi/omxplayer-bin.tar.xz

Entpacken:

# tar -xf omxplayer-bin.tar.xz

Nach dem Entpacken sollte der Ordner usr aus dem entstandenen Verzeichnis omxplayer nach / kopiert werden. Hierdurch kopiert man die Binaries und Dokumentation an die richtige Stelle.

# cp -r omxplayer/usr/ /

Der omxplayer ben├Âtigt das Paket libva um richtig zu funktionieren. Um dies zu installieren reicht ein einfaches:

# pacman -S libva

Sollte die Installation fehlschlagen (wie bei mir), empfiehlt es sich erst ein Upgrade auszuf├╝hren:

# pacman -Syu

Wichtig: Falls man gefragt wird, ob zuerst pacman geupgraded werden soll, dies mit Nein beantworten, da ansonsten das Update nicht richtig durchl├Ąuft.

Wiedergabetest

Als Testfilm habe ich den freien Kurzfilm Big Buck Bunny verwendet, den man sich mit

# wget http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_h264.mov

herunterladen kann (ca. 700MB).
Anschlie├čen kann man den Film mit

# omxplayer -o hdmi big_buck_bunny_1080p_h264.mov

ruckelfrei und mit Ton ├╝ber HDMI abspielen. Wird die Option -o hdmi nicht mit angegeben, wird der Ton ├╝ber die 3,5mm Klinkenbuchse auf dem Board ausgegeben.
Der omxplayer besitzt zwar keine Man-Page aber eine kleine Dokumentation unter /usr/share/doc/omxplayer/README

Raspberry Pi angekommen

Raspberry Pi LogoHeute ist mein Raspberry Pi endlich angekommen ­čśÇ Ich verfolge das Projekt schon relativ lange und freue mich schon darauf damit herumzuspielen. Als prim├Ąrer Einsatzzweck ist der Raspberry Pi bei mir f├╝r Dinge geplant, f├╝r die ich – wegen dem Energieverbrauch und dem entstehenden L├Ąrmpegel – bisher keine Lust hatte, einen normalen Rechner 24/7 angeschaltet zu lassen.

Geplant ist:

  • Eine Kamera anschlie├čen, in kurzen Zeitabst├Ąnden ein Bild auf den Server schieben und hier im Blog anzeigen
  • als kleiner privater Mailserver (weg von Gmail!)
  • CarPC

Raspberry Pi Top View Von Oben Close Up Raspberry Pi von Unten Bottom View Closeup Raspberry Pi Closeup

Java Runtime Plugin unter Firefox 11 Ubuntu/Debian wieder aktivieren installieren

UPDATE: Ich muss hier mal vor meinem eigenen Beitrag warnen. Die Deaktivierung des Java-Plugins ist nicht grundlos geschehen (siehe hier) . Eine Reaktivierung geschieht auf eigene Gefahr. Im Grunde ist es wieder mal ein Lizenzstreit. Oracle hat die “Operating System Distributor License for Java” (DLJ) gek├╝ndigt und das Oracle Java SDK darf jetzt nicht mehr von den Distributionen verteilt werden. Die letzte Version die noch unter der DLJ steht – also noch verteilt werden darf – enth├Ąlt eine Sicherheitsl├╝cke, die sich ├╝ber das Browser-Plugin ausnutzen l├Ąsst. Wegen der fehlenden Lizenz kann kein Sicherheitsupdate verteilt werden. ­čÖü Deshalb wurde es von Canonical aus Ubuntu und vom Debian-Projekt aus Debian entfernt. Christoph hat allerdings einen tollen Artikel, wie man sich ein aus den aktuellen Java-Downloads von der Oracle Homepage ein installierbares Paket generieren kann.

firefox-java-logoBei einem der letzten Updates von Firefox Version 3.6 auf Version 11.0 aus den offiziellen Repositories ging bei mir irgendwie das Java Plugin verloren. ­čÖü Dies hat zur Folge, dass Websites mit Java-Anteil (Post Portodruck, oder der online Foto-Dienst von DM) nicht mehr funktionieren.

Installation ├╝berpr├╝fen

Ob das JRE-Plugin installiert ist, kann man folgenderma├čen herausfinden:

about:plugins

in die Adresszeile des Browsers eingeben. Es erscheint eine Liste mit allen installierten Plugins. Falls hier kein Eintrag auftaucht, der “Java(TM) Plug-in 1.6.****” oder ├Ąhnlich hei├čt, ist das Java-Plugin nicht mehr richtig installiert.

Java Plugin f├╝r Firefox 11 wieder richtig installieren

Als erstes suchen wir uns die Plugin Datei:

$ locate libnpjp

Lustigerweise hei├čt das Browserplugin libpjp2.so und nicht sunjavaplugin.so oder libjavaplugin_jni.so was ich zuerst vermutete.
Als Ergebnis sollte euch der Pfad angezeigt werden, in welchem die Plugin-Datei zu finden ist. Bei mir ist das beispielsweise:

$ locate libnpjp
/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/amd64/libnpjp2.so

Falls ihr locate nicht installiert habt, erf├╝llt das gute alte find die Aufgabe nat├╝rlich ebenso (so zu suchen k├Ânnte etwas l├Ąnger dauern :mrgreen:):

$ find / -iname "*libnpjp*" -type f 2> /dev/null

Wenn die Plugin-Datei gefunden wurde, muss eine symbolischer Link zur Plugin-Datei im Plugins-Verzeichnis von Firefox angelegt werden. Bei mir w├Ąre das beispielsweise /usr/lib/mozilla/plugins. Hierzu werden root-Rechte ben├Âtigt, bei Ubuntu also ein sudo vorne anh├Ąngen:

# ln -s /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/

Dann noch Firefox neu starten und mit obiger Methode pr├╝fen, ob das Plugin wieder in der Liste auftaucht.

Quellen: [1] und [2]