These are my notes from installing Kodi (formerly XMBC) on several Raspberry Pi’s (original and 2) to create media-centers.
Note that quality of the USB power supply really matters, especially for the original RPi. I had to unsolder the fuse from the original RPi due to excessive voltage drop, otherwise even high-quality power adapters could not power it reliably. In my experience, USB power adapters for Samsung tablets work well. No-name Chinese adapters never work reliably on the original RPi. With crappy power adapters, I have experienced all sorts of strange behaviors. The RPi might hang, or reboot, or the video might go black, or networking might fail while the rest of the system continues to function. If it’s unstable, I would guess that your power supply cannot hold a stable voltage. The RPi can fail piecemeal under low-voltage situations.
The ideal installer for Raspbian has changed over time. Currently the best seems to be
raspbian-au-netinst. Download the latest installer from the GitHub page:
dd it to an SD (for the original RPi) or a microSD (for the RPi 2) card. 2GB card or larger should work, although I’m using SanDisk 8GB cards. I could have gotten 16GB no-name cards for the same price, but in a professional setting I have seen terrible reliability issues with no-name cards. Go quality over quantity.
Insert the card. Plug in an ethernet cable. Power on, and it will auto-install.
After the install completes and it reboots, log in as
root with the password
Set your timezone:
If you install Kodi later it will create the user
kodi, but most RPi tutorials expect the user
pi. Just go with the norm. Add the user and add it to various groups so that it can access the
useradd pi usermod -a -G audio pi usermod -a -G video pi usermod -a -G input pi usermod -a -G dialout pi usermod -a -G plugdev pi usermod -a -G tty pi
Install some extra packages that I would consider fundamental:
apt-get install sudo raspi-config nfs-common firmware-realtek wpasupplicant
If you bought an H264 license to enable the hardware decoder (which I consider mandatory for the
original RPi), install it now to
/boot/config.txt. If you buy the
codec from the raspberrypi foundation, you’ll get
an email explaining what to paste into this file. For the Raspberry Pi 2, it’s optional (the
processor is plenty powerful for most video).
Here is the original
/etc/network/interfaces for wired:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
Modify it to enable the wireless adapter, and not expect the wired connection to be present:
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid myssid wpa-psk mypassword
Add NFS mounts to
/etc/fstab. Of course, also
mkdir these mount points. For me, they are:
server:/pool/Movies /pool/Movies nfs defaults 0 0 server:/pool/Music /pool/Music nfs defaults 0 0 server:/pool/Library /pool/Library nfs defaults 0 0
I also enable sshd (easy with
For generic use, with a desktop environment that can play movies:
apt-get install omxplayer xfce4 iceweasel lightdm
To make movies clickable, right-click on a movie, select “Open With Other Application…”, and use
the custom command
xterm -e omxplayer -b.
To dedicate the RPi as a media-center, start by installing Kodi:
apt-get install kodi
Create new ‘input’ group
addgroup --system input
Add some udev rules:
…with these lines:
SUBSYSTEM==input, GROUP=input, MODE=0660 KERNEL==tty[0-9]*, GROUP=tty, MODE=0660
…with these lines:
# input KERNEL=="mouse*|mice|event*", MODE="0660", GROUP="input" KERNEL=="ts[0-9]*|uinput", MODE="0660", GROUP="input" KERNEL==js[0-9]*, MODE=0660, GROUP=input # tty KERNEL==tty[0-9]*, MODE=0666 # vchiq SUBSYSTEM==vchiq, GROUP=video, MODE=0660
/etc/defaults/kodi, to make it start automatically and run as our user
Note that X11 is not installed. Therefore,
kodi won’t work, but
kodi-standalone should. Be
sure to set
/etc/defaults/kodi, and reboot.
To complete the picture, the RPi’s are serving media from both the internet and from my FreeBSD-based server running ZFS with mirrored vdevs.