Single post

How-To: XBMC Ubuntu 11.04 Minimal Installation
(Inkl. XVDR & Sound over HDMI)

Hallo Zusammen,

in der letzten Zeit habe ich häufiger versucht mein HTPC mit XBMC zum Laufen zu bekommen.
Ich hoffe das das jetzt die finale Installation wird :-)
Die Installation beschreibe ich mal als How-To für die Nachwelt.

Hardware

Auf folgender Hardware findet die Installation statt:

  • Mainboard: Biostar GF6100 M7 (Onboard Sound ist deaktiviert)
  • Arbeitsspeicher: 2 x 512 MB
  • Grafikkarte: Colorful GT210 (Nvidia Chip für VDPAU)
  • Festplatte: Mindestens 5 GB freier Speicher, mehr währe nicht schlecht.

Software

Folgende Software soll nach der Installation laufen:

  • Ubuntu 11.04 (Natty) Minimal Installation
  • Open SSH server
  • Samba Server
  • Direkter Start von XBMC
  • Aktiviertes XVDR Addon (VDR Server läuft auf einem anderen Rechner)

How-To

 

Ubuntu

Als Erstes lädt man sich die Ubuntu Minimal installation hier runter. Ich habe die 32 Bit Version benutzt.
Danach brennt man die ISO Datei auf eine CD oder nutz den Universal USB Installer um die ISO auf einen USB Stick zu packen und von diesem zu booten.
Als nächstes installiert man Ubuntu. Der Nutzer der angelegt werden soll heißt xbmc. Mein Rechner heißt livingroom. Bei der Auswahl was installiert werden soll, wählt man Basic Ubuntu Server, Open SSH Server und Samba Server aus.
Ich hatte noch das Problem das Grub nicht auf der Festplatte installiert wurde, sondern auf dem USB Stick. Ich habe dann von dem USB Stick das installierte Ubuntu gestartet und dann mittels

grub-install /dev/sda

grub auf die erste Platte installiert, das muss man aber wahrscheinlich nur dann machen wenn (wie bei mir) bereits ein Windows 7 installiert ist.

Nach der Installation stelle ich Ubuntu immer so ein das ich mich direkt als root anmelden kann (mir geht dieses sudo … auf’n Keks) . Dafür geht man wie folgt vor:

Anmelden als user xbmc
xbmc@livingroom:~$ sudo su
xbmc@livingroom:~$ passwd

Danach kann man sich mit dem root direkt anmelden. Alles was ich jetzt beschreibe wird mit dem Nutzer root durchgeführt (Ausser da steht was anderes).

Als nächstes wird dem Rechner mal eine feste IP verpasst. Dafür wird in die Datei /etc/network/interfaces so abgeändert das sie so aussieht (address & gateway müßt ihr natürlich auf euer Netzwerk anpassen):

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.1.36   # Zu benutzende Adresse
    netmask 255.255.255.0  # Netzwerkmaske
    gateway 192.168.1.1    # Standard-Gateway

Ein

/etc/init.d/networking restart

startet das Netzwerk durch.

Danach stellen wir erstmal die Konsole auf deutsch, einfach den Masken folgen:

dpkg-reconfigure keyboard-configuration

XBMC Sourcen holen

Als nächstes holen wir mal das aktuellste XBMC aus den Sourcen von opdenkamp. Dort sind derzeit die aktuellsten Sourcen für PVR.

Dafür brauchen wir erstmal git

apt-get install git

Danach holen wir uns mal die sourcen

cd /usr/src/
git clone https://github.com/opdenkamp/xbmc.git 
cd xbmc
git checkout Eden-pvr

damit wären wir fertig.

Um die ganzen Abhängikeiten zu installieren, müssen wir eine PPA zu unserer Repository hinzufügen. Das macht man mit add-apt-repository das wir aber erst noch installieren müssen.

apt-get install python-software-properties
add-apt-repository ppa:team-xbmc/ppa/xbmc
apt-get update

Wenn man dann sowas bekommt:

W: Fehlschlag beim Holen von http://ppa.launchpad.net/team-xbmc/xbmc-ppa-build-depends/ubuntu/dists/natty/main/source/Sources 404 Not Found
W: Fehlschlag beim Holen von http://ppa.launchpad.net/team-xbmc/xbmc-ppa-build-depends/ubuntu/dists/natty/main/binary-i386/Packages 404 Not Found
E: Manche Indexdateien konnten nicht heruntergeladen werden. Sie wurden ignoriert oder an ihrer Stelle ältere verwendet.

dann liegt das daran das in dem PPA vom XBMC noch kein Natty (Ubuntu 11.04) existiert. Das ist aber nicht schlimm, die Datei /etc/apt/sources.list.d/team-xbmc-ppa-natty.list muss wie folgt aussehen:

deb http://ppa.launchpad.net/team-xbmc/ppa/ubuntu maverick main
deb-src http://ppa.launchpad.net/team-xbmc/ppa/ubuntu maverick main

Danach dann noch folgende  beiden Aufrufe

apt-get update
apt-get build-dep xbmc

und wir haben alle Abhängigkeiten um XBMC zu kompilieren (Ja das ist eine Menge, bei mir sind das schlappe 412 MB).

Als nächstes brauchen wir die aktuellen Nvidia Treiber

apt-get install libvdpau-dev libvdpau1 nvidia-current nvidia-common nvidia-settings

Das sind dan nochmal 121 MB.

Alsa

Wir wollen ja nicht nur was sehen, sondern auch was hören, deswegen installieren wir auch mal eben alsa

add-apt-repository ppa:ubuntu-audio-dev/ppa
apt-get update
apt-get upgrade
apt-get install alsa-base alsa-utils linux-alsa-driver-modules-$(uname -r)

das sind auch nur 2.740 kB.
Wo wir schonmal dabei sind richten wir alsa auch mal eben ein (hahaha, mal eben, ich habe mehre Tage für das Finden der richtige Einstellung gebraucht) für meine Konfiguration (Colorful GT210, Sound over HDMI) muss ich folgendes machen:

In die Datei /etc/modprobe.d/alsa-base.conf kommt am Ende der Eintrag

options snd-hda-intel enable_msi=0 probe_mask=-2

Danach wird alsa mit

alsa reload

neu gestartet. Im alsamixer müssen dann noch alle drei S/PDIF  Eintrag auf unmute gestellt werden (m auf dem Keyboard bis dort OO steht). Speichern mit

alsactl store

nicht vergessen. Danach erstellen wir die Datei /etc/asound.conf mit

touch /etc/asound.conf

und tragen da folgendes ein:

pcm.!default {
    type hw
    card 0
    device 7
}

Danach wird alsa mit

alsa reload

neu gestartet. Alsa sollte jetzt gehe. Damit XBMC den Sound benutzen kann muss der Nutzer noch in die Gruppe audio

usermod -a -G audio xbmc

Mit dem folgenden Aufruf kann der Sound getestet werden (auch wenn der Fernseher oder Receiver Dolby Sorround und DTS kann, ich habe an dieser Stelle nur 2 Kanäle testen können, in XBMC geht aber DD und DTS)

speaker-test -c 2 -r 48000 -D hw:0,7

Bei Problemen mit Alsa kann man im XBMC Wiki oder bei Problemen mit Sound over HDMI bei Nvidia Karten hier nachlesen.

XBMC kompilieren

Die Sourcen für XBMC haben wir uns ja bereits im vorherigen Schritt geholt. Bevor wir mit dem Kompilieren startenn brauchen wir aber noch ein paar Programme

apt-get install autopoint xinit libyajl-dev libplist-dev yasm mesa-utils upower acpi-support policykit-1 avahi-daemon

Aber dann geht’s ans kompilieren, das dauert eine Weile.
(Bei einem Mehrkernprozessor kann an das make ein -jx wobei x für die Anzahl der Prozessorkerne steht anhängen , z.B. für einen Core2Duo „make -j2“)

cd /usr/src/xbmc
./bootstrap
./configure --prefix=/usr --enable-vdpau --enable-airplay
make
make install

An dieser Stelle haben wir dann ein lauffähiges XBMC, das müssen wir aber beim Starten des X-Servers direkt mitstarten.
Also legen wir die Datei /home/xbmc/.xinitrc an

vi /home/xbmc/.xinitrc

und schreiben dort folgendes rein:

#!/bin/bash
exec /usr/bin/xbmc --standalone

Dann noch ausführbar machen

chmod +x /home/xbmc/.xinitrc

und fertig.

Jetzt können wir testen ob alles geklappt hat, dafür muss man sich als User xbmc anmelden und

startx

ausführen. Jetzt sollte XBMC automatisch starten.

Um den Sound hinzubekommen, musste ich folgendes einstellen:

Autostart vom XBMC

Wenn wir den Rechner einschalten soll direkt XBMC gestartet werden. Dafür schreiben wir ganz am Ende in die Datei /home/xbmc/.bashrc

startx

Damit wird der X-Server direkt beim Login gestartet und beim Starten des X-Servers haben wir oben bereits konfiguriert das XBMC starten soll.

Jetzt müssen wir den User XBMC nur beim Starten direkt anmelden, dafür brauchen wir mingetty

apt-get install mingetty

danach muss die Datei /etc/init/tty1.conf wie folgt geändert werden:

# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/mingetty --autologin xbmc tty1

Jetzt noch ein

reboot

zum Testen hinterher.

XVDR Addon

Als letztes müssen wir noch das XVDR Addon kompilieren und installieren. Dafür sollte mindestens einmal der XBMC gestartet worde sein (Das ist der Fall wenn du penibel nach dieser Anleitung vorgegangen bist 😉
Wir holen uns also erstmal die aktuellen Sourcen:

cd /usr/src
git clone https://github.com/pipelka/xbmc-addon-xvdr.git
cd xbmc-addon-xvdr
./autogen.sh
./configure --prefix=/home/xbmc/.xbmc
make
make install

Poweroff/Suspend to Ram

Um aus dem XBMC heraus den Rechner runterfahren zu können oder diesen in den Ruhezustand zu bringen muss man noch folgende Datei angelegt werden:

vi /etc/polkit-1/localauthority/50-local.d/xbmc_rule.pkla

Inhalt

[Actions for xbmc user]
Identity=unix-user:xbmc
Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.*
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Jetzt ein

reboot

hinterher um den xbmc neu zu starten. Im XBMC müsst ihr jetzt nur noch das XVDR Addon aktivieren und richtig konfigurieren.

Fertig ist unser HTPC mit XBMC.

Weitere Info’s

Senderlogos fürPVR

Nur so nebenbei, Senderlogos für PVR gibt’s es hier:

http://forum.xbmc.org/showthread.php?t=86047

vdr-plugin-xvdr

Im VDR muss natürlich das passende XVDR Plugin geladen sein, damit xvdr richtig funktioniert.
Das kann man hier finden:

git clone https://github.com/pipelka/vdr-plugin-xvdr.git
Maik
Juni 15th, 2011 at 11:57 pm

Toller Post.Habe einige frische Gedankenanstoesse gekriegt. Warte auf weitere Posts zum Thema.

Peter
Juni 19th, 2011 at 10:40 am

Hi, nein das hab ich noch nicht auspropiert. Ich wollte unabhängig von XBMC-PPAs sein, damit ich Änderungen im PVR relativ schnell testen kann.
Hast du für den Autostart auch mingetty installiert und die Datei /etc/init/tty1.conf wie oben beschrieben angepasst?
Man kann das natürlich auch mit der .bash_profile machen wie du das beschrieben hast. „Es gibt mehrere Wege nach Rom“

lothar
Juni 27th, 2011 at 9:12 am

grub muss man händisch installieren, dann kann man auch das Device Eingeben.
Meistens ist das dann /dev/sdb

Michael
August 18th, 2011 at 10:42 pm

Hi,

ich habe versucht XBMC genau nach deinem How-To zu installieren aber wenn ich XBMC kompilieren will erhalte ich folgenden fehler und „make“ bricht ab:

checking for main in -lyajl… no
configure: error: Could not find a required library. Please see the README for your platform.

Google hilft mir leider nicht weiter :/

Michael
August 18th, 2011 at 10:46 pm

sorry ich habe einen Fehler in meinem Letzten Kommentar gemacht! Die Fehlermeldung kommt nicht bei „make“ sondern bei „./configure –prefix=/usr“

Peter
August 19th, 2011 at 8:45 am

Hi,
ich glaube da wurde an der JSON Schnittstelle noch was gemacht.
Gib mal vor dem configure noch:
apt-get install libyajl-dev
ein.
Danach müsste das configure und make durchlaufen. Falls das geklappt hat, dann kannste das ja hier posten. Ich bau das dann in die Anleitung mit ein.

Michael
August 19th, 2011 at 10:50 am

Hallo Peter,

genau das Paket hatte mir gefehlt, danach ging alles reibungslos! Vielen Dank für die gute Anleitung!

LEAVE A COMMENT

theme by teslathemes