- Learn Linux
- Learn Electronics
- Raspberry Pi
- LPI certification
- News & Reviews
I've been running XBMC using RaspBMC on a Raspberry Pi for some time. I've digitised my music and videos and this allows me to watch them on various TVs around the home accessing from a central server PC. Recently the XBMC project has now renamed itself as Kodi to reflect that it has changed from it's original idea as a X-Box Media Centre. RaspBMC is going through a similar transition rebranding itself as OSMC (Open Source Media Centre) which will also see other platforms supported in future.
As I write the initial version of OSMC is in alpha, but there have been many performance improvements that I wanted to try it out before waiting for the final version. Whilst I have RaspBMC in my lounge as well it is only the one in my bedroom that I have upgraded so far. I have only just installed it, so have not yet been able to put it through a rigorous test, but so far I am very impressed with the performance improvements. The interface is more responsive and fast-forward and rewind inside a video work much better. When I upgraded I did take the opportunity to switch to a faster SD card, but I believe the majority of the improvements are down to changes in the way that Linux is setup and configured and the performance improvements in the latest version of Kodi. I am still running on the same Raspberry Pi as before with only 256Mb of memory (an old model B), although the recommended configuration is a Raspberry Pi B / B+ with 512Mb of memory. There are however a few things missing from the old version including a way to configure a different network configuration which I've provided some details of below.
Raspbmc is already well known for it's simple configuration and install procedure, but that has been made even easier for OSMC with an automatic installer which provides an application that can download and install the image onto an SD Card. The installer is available for Windows, OSX and Linux. The installer does provide an opportunity to configure the network interfaces manually at this point, although I've instead provided instructions to do this manually below.
Once the image is copied to the SD card it's a case of putting that into the Raspberry Pi and then waiting patiently for a few minutes whilst it completes the install. After a reboot it looks similar to the old XBMC on Raspbmc, but it says Kodi in the top left.
One of the good features of Raspbmc was the RaspBMC configuration tool which provided a way to configure OS specific features through the TV interface. This is no longer available in OSMC or at least not in the alpha version that I tried. During the install I had let the installer use the wired ethernet connection using default dhcp configuration, but later decided to change it to a fixed IP address so that I could use my mobile phone as remote control. This meant logging in to the Raspberry Pi using ssh and then manually configuring the network connection.
The System information page provides the IP address given by the dhcp server so I could login using ssh. The default login details for OSMC are provided below.
First thing I noticed as a "hardcore vi user" is that the choice of text editor is limited. This is one of the very few Linux systems where vi is not installed. You can of course install it yourself, but I just decided to use nano which is installed.
The standard place on Linux for the network configuration is /etc/network/interfaces , but OSMC uses connman which is a lightweight network controller designed for embedded devices. Connman uses different files to the traditional Linux network configuration files. To define a static IP address one should create a config file in the /var/lib/connman directory with a filename ending with .config.
In my case I created a file: /var/lib/connman/ethernet.config
Type = ethernet
IPv4 = 192.168.0.12/255.255.255.0/192.168.0.1
Nameservers = 18.104.22.168
This uses my local network settings (IP address/subnet mask/default gateway) and I've set the dns entry to one of Googles public DNS servers.
If you need something a bit more advanced (perhaps wifi with encryption) then more examples are available in the config-format.txt file on git.
I then rebooted the Raspberry Pi and it came up with the new IP address (the changes can be applied dynamically, but I prefer to reboot whenever making network changes to make sure that they come up correctly at start-up).
Whilst OSMC is still in alpha it appears to work well with my setup (wired ethernet and IR remote control). The lack of system configuration program is a bit frustrating (hopefully something similar will be added in a future release), but manual IP configuration is still available for those willing to edit configuration files through ssh.