This is a description on how I got my Kodi (OSMC to be specific) set up on my Raspberry Pi. Documented here in case anything goes wrong and I got to do it all over again. Obviously this is not a headless installation, so a screen and a way to do some input it assumed 😉
-
Get the latest RPi2 disk image from OSMC.tv, write the image to an (Micro)SD-card, put the card in the Pi and boot
-
After the first boot it will ask to input the language, timezone, optionally a device name, SSH access (best to be turned on), network settings and what skin you like (I prefer to start with
Classic). MySQL settings for the master profile can be set already as well -
Go to
My OSMC->Updates->Manual controls, start a scan for updates and install if necessary -
Go to
My OSMC->Networkto set a static ip if not done at first boot -
Go to System (settings) ->
Live TV Settings->Playbackand disableStart playback minimised -
Go to System (settings) ->
Service Settings->Controlto configure theweb server(set username and password) andapplication control. Don't forget to turn onAllow remote control from application on other systemsNow you should be able to control Kodi by using an app like Yatse
-
Go to System (settings) ->
Interface settings->Screensaverand set theScreensaver modetoNone -
Go to System (settings) ->
System settings->Displayand set theResolutionto1080p -
Go to System (settings) ->
System settings->Audioand- Set
Number of channelsto match your hardware - Turn off
Send low volume noise(this really fucked up my AVR when on) - Enable
Allow Passthroughand flick on any audio stream the AVR understands
- Set
-
Go to System (settings) ->
System settings->Input->Peripherals->CEC Adapterand turnEnabledoff
- Restore from previous Kodi setup:
- Open FileZilla and connect to the Pi
- Upload or create the
/home/osmc/.kodi/userdata/advancedsettings.xmlcontaining the information to connect to the MySQL database - Restart the app (or reboot)
- Manually configure:
- Go to
My OSMC->Network->MySQL - Enable the databases you want and enter the configuration details
- Go to
- Go to
My OSMC->App store->TVHeadend server->Installand hitapply - Open up the TVHeadend web interface (
ip:9981) and enable the devices.
Now either continue configuring in the interface...- Fire up Putty and connect to the Pi
- Stop TVHeadend:
sudo systemctl stop tvheadend - Open FileZilla and connect to the Pi
- Upload the folder
channel,input/dbv/networks - Start TVHeadend:
sudo systemctl start tvheadend
- ...or restore your backup:
- In the TVHeadEnd web interface go to
Configuration->DVB Inputs->Networks, edit the existing network or create a new one with the correctNetwork ID: (for me that's43136),Save - Go to
DVB Inputs->Muxesand add a new mux with the correctFrequencyandSymbol Rate(for me that's164000000and6900000, setScan statustoPENDandcreate - Scanning should start now automaticly, whait till it's finished
- If any muxes have
FAILEDasScan result, select these and set the status toPENDagain to force a rescan - Go to
DVB Inputs->Services, all found services should be listed here - Go to
Channel / EPGand do aMap app services, you probably don't want to map the encrypted services - Once the services are mappend it's time to set the correct numbers
- In the TVHeadEnd web interface go to
- Go to
Add-ons->My add-ons->PVR clients->Tvheadend HTSP ClientConfigureit: set theUsernameandPasswordEnable
- Use FileZilla to upload the TV channel logo's to
/home/osmc/tvlogos
- Install SqueezeLite using Putty:
sudo apt-get install squeezelite - Download the ARM version of SqueezeLite 1.8 from SourceForge
- Unpack the downloaded file:
tar -xvzf squeezelite-1.8.x.xxx-armv6hf.tar.gz - Optionally back-up the packaged binary:
mv /usr/bin/squeezelite ~/squeezelite.backup - Move the downloaded binary to the correct folder:
mv -f squeezelite /usr/bin/squeezelite - Edit the configuration:
sudo nano /etc/default/squeezelite- Optionally set the hostname
- Set the
SB_EXTRA_ARGSto-C 10 -a 180
- Restart SqueezeLite:
sudo systemctl restart squeezelite - Download the repository from Marcel van der Veldt (using Putty):
wget https://github.com/marcelveldt/repository.marcelveldt/raw/master/repository.marcelveldt/repository.marcelveldt-1.0.1.zip - Go to
Add-ons->My add-ons->..->Install from zip file->Home folderand select the downloaded file - Go to
Add-ons->My add-ons->..->Install from repository->Marcelveldt's->Music add-ons->Squeezebox for Kodi->Install - Once the add-on is installed go to
Configure - In
Squeezeliteturn onDo not auto start squeezelite - In Putty do
ifconfig eth0and enter the HWAddr inSqueezelite->Mac-address manually - In
LMS Serverset the IP address of the LMS as the hostname
- Download all the files in this gist either by using Git or by downloading as zip (
wget -O BillyNateOSMCGist.zip https://gist.github.com/BillyNate/556d1efda66617d84fa074d742b2aec2/archive/master.zip) and unpacking it (unzip BillyNateOSMCGist.zip) - If the files are in a subdiretory now, move the files:
mv 556d1efda66617d84fa074d742b2aec2-master/* ./ - Make the shell script excecutable:
sudo chmod +x move.sh - Run the shell script:
./move.sh - Download the LGTV turn off program add-on (because LG did not implement CEC support properly):
wget -O kodi.screensaver.turnofflgtv.zip https://github.com/BillyNate/Kodi.Script.TurnOffLGTV/archive/master.zip - Download the HDMI-CEC service add-on:
wget -O service.cec.zip https://github.com/BillyNate/service.cec/archive/master.zip - Go to
Add-ons->My add-ons->..->Install from zip file->Home folderand select the downloaded files - Go to
Add-ons->My add-ons->Program add-onsandConfigurethe LG add-on - Go to
Add-ons->My add-ons->ServicesandConfigurethe CEC add-on - Go to
Add-ons->My add-ons->Program add-onsand enable the Powerkey and State Change add-ons - Go to
Add-ons->My add-ons->..->Install from repository->Kodi add-on repository->Services->Kodi callbacks->Install - Configure the add-on; add two tasks:
- Built-in:
RunScript(kodi.script.turnofflgtv) - Python:
/home/osmc/.kodi/addons/script.stagechange/default.py
- Built-in:
- Add the events:
- On idle time of 1800 seconds run task 1
- On any playback state change run task 2 and add the new state (
play,resume,pause,end) as the first parameter and%mtas the second
- Install
YouTubefromVideo add-ons - Install
VimeofromVideo add-ons - Install
UitzendinggemistfromVideo add-ons - Install
Opensubtitles.orgfromSubtitles(though the one from their site is said to work better)
- Go to System (settings) ->
Profile settingsand add some profiles. Use the default directory and when asked to copy or start fresh, do a copy from default - Open up the userdata directory of each profile (
/home/osmc/.kodi/userdata/profiles/*) and upload the correct advancedsettings.xml, passwords.xml and sources.xml - Log off the master profile, go into each profile and enable the previously installed add-ons
- Copy over the
addon_datafrom each installed add-on from the master profile to the other profiles - Copy over the keymap files from the master profile to other profiles
- Install
AutosubfromServices, configure it to excludeLive TVandHTTP sources - Install
TraktfromProgram add-onsand connect to your trakt.tv profile
- Download the kodi-brasil repo from their website and install it from zip file
- Install the
Aeon MQ 7 Kryptonadd-on fromKodi Brasil Forum Repository->Look and feel->Skin - Install the
Skin themes - Aeon MQ7add-on fromKodi Brasil Forum Repository->Look and feel->Image collections - Enable the new skin
- Go to
Skin settings->Themesand enableDarkness - Copy over
/home/osmc/.kodi/addons/resource.images.skinthemes.aeonmq/resources/darkness/programs.jpgto/home/osmc/.kodi/addons/skin.aeonmq7/backgrounds/vnodes.jpg - If you want to be able to change the colors in the theme, you'll have to install the colorpicker add-on
- If you ever want to change the background of the profile overview, you'll need to change
/home/osmc/.kodi/addons/skin.aeonmq7/backgrounds/vnodes.jpg
- Put a
splash.pngin the home directory sudo mv /usr/splash.png /usr/splash.old.pngsudo mv splash.png /usr/splash.png
- I ended up setting Aeon MQ7 for all profiles, but somehow the skin settings get mixed up when (un)loading the profiles.
To fix this I've set the
settings.xml(inaddon_data/skin.aeonmq7) to read-only (444) and set theCustomMyThemeinsettings.xmltospecial://profile/backgrounds/with abackgrounddirectory in each profile
In order to get the Netflix plugin running in OSMC-KODI18 follow the steps outlined in asciidisco/plugin.video.netflix#665 (comment)