Hi,
Da ich öfters mal eine PN bekomme, mit der Frage wie man OpenELEC kompiliert, habe ich mich entschlossen, mal ein kleines Howto zu schreiben. OpenELEC ist - für die Leute, die das noch nicht kennen - eine Art "Firmware" mit XBMC. Das system ist klein (ca 120 MB) und beinhaltet alles, was benötigt wird um einen schnellen und schlanken Mediacenter zu installieren. Das Medium läßt sich auf USB-Stick, SD oder SSD installieren und richtet neben einem Readonly System auch ein Bereich namens "storage" ein, worin u.a. auch die Config gespeichert wird.
Ist das System erfolgreich installiert, gibt es im storage Bereich ein Versteckter Ordner (über SMB ganze normal zu erreichen) namens .update, sollte man sein eigenes Images mal aktualisieren wollen ,müssen die zwei Dateien KERNEL und SYSTEM dort hinein. Nach einem Reboot wird das System dann on-the-fly aktualisiert.
So, genug geschwafelt, fangen wir mal an. Doch zuerst ein Tipp, wer so wie ich, als root kompiliert, fällt früher oder später auf den Arsch, die Scripte sind so gestaltet das man als User kompilieren MUSS, richtet euch also entweder einen extra-user ein und kompiliert mit diesem oder meldet euch als User an.
Ich habe das ganze im Home-Dir eines neues Users kompiliert. Als System kommt bei mir Ubuntu 10.04.3 LTS im Einsatz, laut openelec gehen auch andere, die sind aber von mir nicht getestet und ich beschreibe daher AUSDRÜCKLICH nur den Einsatz in 10.04.3
Ich weiss leider nicht mehr genau welche Abhängigkeiten notwendig sind, "build-essential" und "git-core" sind auf jedenfall notwendig. Ich kompiliere Übrigens für meine Zbox ID HD-40, das bedeutet, ich nehme dieses System auch als Beispiel.
Ich gehe ab hier davon aus, das Ihr zumindest einmal OpenELEC lauffähig installiert und gestartet habt. Man kann die 1.02 von hier nehmen.
Ok, let´s go!
Wir checken zuerst mal die neusten Daten aus dem Git aus und wechseln in das Verzeichnis OpenELEC.TV
Nun können wir mit dem kompilieren anfangen, bevor wir aber "make" eingeben sollten wir uns entscheiden, für welche -optimierte - Plattform wir kompilieren wollen. Im Verzeichnis ./projects (innerhalb des OpenELEC.TV Verzeichnisses) gibt es folgende Auswahl:
ATV = AppleTV ,
Fusion = Fusion Plattform
Generic = i386
Generic_OSS = wie oben nur mit OSS anstelle Alsa
Intel = Intel
ION = ION optimiert (ideal für zbox )
Ultra = Plattform
Dann gibt es zusätzlich die Möglichkeit anzugeben, ob wir 32/64 bit haben wollen und man muss festlegen, ob man PVR Unterstützung haben möchte (also xvdr, xbmc-pvr und neu, vdr als addon). Ich kompiliere für meine Zbox bspw. so (Im Root-Verzeichnis OpenELEC.TV/ eingeben):
Ab hier dauert das ganze mehrere Stunden bis es durch ist, sollte make zwischendurch abbrechen, keine Panik, einfach obigen Befehl wiederholen. Sollte es immernoch nicht klappen, fragt mal im OpenElec-Forum nach
Am Ende haben wir im Verzeichnis ./target/ zwei Dateien, eine hat die Endung .kernel die andere .system. Wir kopieren nun die beiden Dateien auf dem OpenELEC-PC ins Verzeichnis Udates, und benenne diese um. *.kernel in KERNEL und *.system in SYSTEM.
Einmal neustarten und nun startet euer neues System. Wenn Ihr euch via SSH anmeldet, seht ihr das auch als Message bzw im XBMC unter Systeminfo.
Wer mag, kann sich im Verzeichnis ./projects/XXX/ die Datei options mal ansehen, XXX entspricht dabei obig genannte Plattform, bei meinem ION bspw. ./projects/ION/options. Dort kann man einige dinge ändern, wie Arbeitsgruppe, Username, Standardpasswort etc...
MfG
KRis
Edit 17.09.2011 - 20:21
Es wird Pipelkas Openelec-Git verwendet, da darin auch das notwendige xbmc-xvdr-addon integriert ist. Danke an Jobbt für den Tipp!
Edit 19.01.2012 - 20:13
Howto angepaßt, es hat sich einiges getan