Mediabox: Difference between revisions
Line 64: | Line 64: | ||
5. <tt>/etc/apt/sources.list.d/debian-multimedia.list</tt> erstellen und einen der Mirrors von http://debian-multimedia.org/debian-m-testing.php hinzufügen. Den Repository-Key findet man auf http://debian-multimedia.org/faq.php |
5. <tt>/etc/apt/sources.list.d/debian-multimedia.list</tt> erstellen und einen der Mirrors von http://debian-multimedia.org/debian-m-testing.php hinzufügen. Den Repository-Key findet man auf http://debian-multimedia.org/faq.php |
||
6. <tt>apt-get update</tt> und <tt>xbmc- |
6. <tt>apt-get update</tt> und <tt>xbmc-live</tt> sowie <tt>xinit</tt> installieren. |
||
7. ALSA updaten (für HDMI-Audio): <tt>apt-get install alsa-utils</tt> |
7. ALSA updaten (für HDMI-Audio): <tt>apt-get install alsa-utils module-assistant</tt>, <tt>m-a update&&m-a prepare&&m-a a-i -t alsa-source</tt> |
||
8. Sound und X testen: <tt>aplay -l</tt> (da sollten sowohl HDA Intel als auch NVIDIA HDMI Geräte auftauchen), dann <tt>startx</tt>. |
8. Sound und X testen: <tt>aplay -l</tt> (da sollten sowohl HDA Intel als auch NVIDIA HDMI Geräte auftauchen), dann <tt>startx</tt>. |
||
9. Als normaler Benutzer einloggen und xbmc testen: <tt>startx</tt> <tt>xbmc</tt> |
9. Als normaler Benutzer einloggen und xbmc testen: <tt>startx</tt>, gefolgt von <tt>xbmc</tt> |
||
10. Ein init-Skript für XBMC einrichten: |
|||
<pre> |
|||
#! /bin/sh |
|||
### BEGIN INIT INFO |
|||
# Provides: xbmc |
|||
# Required-Start: $remote_fs $syslog |
|||
# Required-Stop: $remote_fs $syslog |
|||
# Default-Start: 2 3 4 5 |
|||
# Default-Stop: 0 1 6 |
|||
# Short-Description: XBMC |
|||
# Description: This init script launches XBMC in standalone mode |
|||
### END INIT INFO |
|||
PATH=/sbin:/usr/sbin:/bin:/usr/bin |
|||
DESC="XBMC" |
|||
NAME=xbmc |
|||
PIDFILE=/var/run/$NAME.pid |
|||
SCRIPTNAME=/etc/init.d/$NAME |
|||
[ -r /etc/default/$NAME ] && . /etc/default/$NAME |
|||
. /lib/init/vars.sh |
|||
. /lib/lsb/init-functions |
|||
do_start() { |
|||
su -l xbmc -c /usr/bin/startx & |
|||
echo "$!" > $PIDFILE |
|||
} |
|||
do_stop() { |
|||
if [ -e $PIDFILE ]; then |
|||
PID=`cat $PIDFILE` |
|||
[ -n "$PID" ] && kill $PID |
|||
RETVAL="$?" |
|||
rm -f $PIDFILE |
|||
return "$RETVAL" |
|||
fi |
|||
return 1 |
|||
} |
|||
case "$1" in |
|||
start) |
|||
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" |
|||
do_start |
|||
case "$?" in |
|||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; |
|||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; |
|||
esac |
|||
;; |
|||
stop) |
|||
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" |
|||
do_stop |
|||
case "$?" in |
|||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; |
|||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; |
|||
esac |
|||
;; |
|||
*) |
|||
#echo "Usage: $SCRIPTNAME {start|stop}" >&2 |
|||
echo "Usage: $SCRIPTNAME {start|stop}" >&2 |
|||
exit 3 |
|||
;; |
|||
esac |
|||
</pre> |
|||
== Links == |
== Links == |
Revision as of 20:28, 25 October 2010
Motivation
Nach der Überschwemmung, die auch unsere alte Popcorn Hour A-100 weggeschwemmt hat, stehen wir nun ohne Mediaplayer für die Filmecke da.
Eine kurze Evaluation und Rundfrage hat ergeben: Diesmal schaffen wir etwas schnelleres mit schönerer Oberfläche an.
Hardware
- Zotac ZBOX ID-HD11
- Intel Atom D510 (1.66GHz, 64bit, SSE, Dualcore, HyperThreading)
- NVIDIA ION2 (GeForce GT218)
- DVI-I, HDMI, Gbit-Ethernet, eSATA, Cardreader, 5x USB
- Audio über HDMI, S/PDIF (optisch) oder Klinke
- Aktiv gekühlt
- 2 USB-Ports mit Stromversorgung im Standby-Modus, Wake-from-S3 möglich
- miniPCIe-Slot mit Atheros AR9285 WLAN-Adapter (B/G/N)
- 1GB PC800 DDR2 SDRAM
- hama MCE Remote (IR)
- Kingston SSDnow VSeries 30GB
Software
- Ubuntu 10.10
- XBMC
Installation
1. Netboot-Servers mit tftpd und dhcpd einrichten (wird hier nicht im Detail beschrieben, siehe Links).
2. http://archive.ubuntu.com/ubuntu/dists/maverick/main/installer-amd64/current/images/netboot/netboot.tar.gz herunterladen und ins TFTP-Verzeichnis entpacken.
3. Installation konfigurieren, eine Partition für das Betriebssystem, keinen Swap (ist unnötig). Bei tasksel keine Pakete auswählen. Alles Nötige wird später manuell installiert. Automatische Sicherheitsupdates aktivieren, das spart manuellen Administrationsaufwand.
4. Nach dem ersten Boot vom neuen System: /etc/fstab editieren und den Mountoptionen für / noatime,discard hinzufügen. Reduziert die SSD-Abnutzung. Ausserdem kann man einige Verzeichnisse als RAM-Disk einrichten:
tmp /tmp tmpfs size=32M,nodev,mode=1777 0 0 run /var/run tmpfs size=32M,nodev,mode=0755 0 0 lock /var/lock tmpfs size=32M,nodev,mode=1777 0 0
5. Das XBMC-PPA (https://launchpad.net/~team-xbmc/+archive/ppa) hinzufügen und auf lucid ändern, da es immer noch keine maverick-builds gibt. Dann die Software installieren.
# apt-get install python-software-properties pkg-config # add-apt-repository ppa:henningpingel/xbmc # nano /etc/apt/sources.list.d/team-xbmc-ppa-maverick.list maverick auf lucid ändern, Ctrl-x, y # apt-get update # apt-get install xbmc-standalone nvidia-current libvdpau1 alsa-utils samba-common # nvidia-xconfig
6. TODO: /etc/init/xbmc erstellen
99. Wenn der Maverick-Build von Henning Pingel endlich durchläuft, von Team-XBMC auf dieses PPA wechseln, dann haben wir auch VDR-Streaming.
Neuer Versuch mit Debian squeeze
Ubuntu macht zuviel Ärger, versuchen wir mal Debian.
1. Debian netboot laden und einrichten, z.B. von http://ftp.ch.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/netboot.tar.gz
2. Standardinstallation, in tasksel alles abwählen.
3. TRIM aktivieren, in /etc/fstab noatime,discard beim rootfs eintragen.
4. In /etc/apt/sources.list contrib und non-free anfügen, apt-get update und apt-get install nvidia-vdpau-driver nvidia-xconfig nvidia-settings. Dann nvidia-xconfig ausführen. Neustart.
5. /etc/apt/sources.list.d/debian-multimedia.list erstellen und einen der Mirrors von http://debian-multimedia.org/debian-m-testing.php hinzufügen. Den Repository-Key findet man auf http://debian-multimedia.org/faq.php
6. apt-get update und xbmc-live sowie xinit installieren.
7. ALSA updaten (für HDMI-Audio): apt-get install alsa-utils module-assistant, m-a update&&m-a prepare&&m-a a-i -t alsa-source
8. Sound und X testen: aplay -l (da sollten sowohl HDA Intel als auch NVIDIA HDMI Geräte auftauchen), dann startx.
9. Als normaler Benutzer einloggen und xbmc testen: startx, gefolgt von xbmc
10. Ein init-Skript für XBMC einrichten:
#! /bin/sh ### BEGIN INIT INFO # Provides: xbmc # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: XBMC # Description: This init script launches XBMC in standalone mode ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="XBMC" NAME=xbmc PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME [ -r /etc/default/$NAME ] && . /etc/default/$NAME . /lib/init/vars.sh . /lib/lsb/init-functions do_start() { su -l xbmc -c /usr/bin/startx & echo "$!" > $PIDFILE } do_stop() { if [ -e $PIDFILE ]; then PID=`cat $PIDFILE` [ -n "$PID" ] && kill $PID RETVAL="$?" rm -f $PIDFILE return "$RETVAL" fi return 1 } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; *) #echo "Usage: $SCRIPTNAME {start|stop}" >&2 echo "Usage: $SCRIPTNAME {start|stop}" >&2 exit 3 ;; esac
Links
Referenzen:
- https://help.ubuntu.com/community/Installation/Netboot (Installation von Ubuntu per Netboot)
- http://wiki.xbmc.org/index.php?title=XBMCbuntu (XBMC-Installation unter Ubuntu)
- http://www.mythtv.org/wiki/MCE_Remote (M$ Media Center Remotes mit Linux)
- http://forum.xbmc.org/showpost.php?p=506251 ("krumme" Bildwiederholraten)
- http://www.vdr-portal.de/board/thread.php?threadid=95292 (für VDR-Streaming)
- https://launchpad.net/~henningpingel/+archive/xbmc (PPA für die Version mit VDR-Support)
- http://blog.lawrenceso.ca/2008/10/ssd-optimization-on-ubuntu.html (Systemoptimierungen für SSDs)