====== Ubuntu 20.04 ======
Installeer Ubuntu met de **minimal 20.04 ISO**, maak een gebruiker **kodi** aan met als wachtwoord **kodi** en selecteer bij de installatie alleen **SSH server**
====== tools voor repository management ======
apt install software-properties-common
====== Deb sources voor XBMC toevoegen ======
add-apt-repository ppa:team-xbmc/ppa
====== Software installeren ======
apt update
apt upgrade
apt install kodi openbox lightdm samba lm-sensors mc binutils build-essential subversion git unzip xterm dkms
====== Samba Configureren ======
Maak een /etc/samba/smb.conf aan
mcedit /etc/samba/smb.conf
en zet hier het volgende in
smb.conf
#======================= Global Settings =====================================
[global]
unix charset = UTF8
workgroup = Blaat
netbios name = eXcyle-MCE
server string =
hosts allow =
hosts deny =
security = user
encrypt passwords = yes
max log size = 0
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
# start windows 10 stuff
usershare allow guests = yes
guest ok = yes
guest account = kodi
#map to guest = bad user
#map to guest = bad password
#username map = /etc/samba/usermap.conf
# end windows 10 stuff
wins support = yes
local master = yes
os level = 2
preferred master = yes
name resolve order = wins lmhosts bcast
printcap name = /etc/printcap
load printers = no
unix extensions = no
follow symlinks = yes
wide links = yes
#ntlm auth=true
server min protocol = SMB2
client min protocol = SMB2
#log level = 2
#======================= Shares ==============================================
[Roms]
path = /home/kodi/roms
read only = no
guest ok = yes
force user = kodi
force group = kodi
====== Geluid Configureren ======
De user kodi audio rechten geven
usermod -G cdrom,video,audio,plugdev,users,dialout,dip,input,netdev kodi
usermod -G cdrom,video,audio,plugdev,users,dialout,dip,input,netdev root
====== LIRC Configureren ======
(configuratie in combinatie met een [[:hardware:ir_reciever|homebrew Seriele IR receiver]] en een logitech harmony ingesteld als Xbox remote)
De lirc in 19.10 is niet helemaal goed, hierom gaar we lirc installeren vanaf de 18.04 repo.
voeg onderaan "/etc/apt/sources.list" de volgende repo toe: deb [[http://ca.archive.ubuntu.com/ubuntu/|http://ca.archive.ubuntu.com/ubuntu/]] xenial universe en installeer lirc
apt update
apt install lirc/xenial
apt-mark hold lirc
verwijder de repo weer uit "/etc/apt/sources.list" en update de sources list weer
apt update
Maak een /etc/lirc/hardware.conf aan
mcedit /etc/lirc/hardware.conf
en zet hier het volgende in
hardware.conf
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Home-brew (16x50 UART compatible serial port)"
REMOTE_MODULES="lirc_dev lirc_cir"
REMOTE_DRIVER=""
REMOTE_DEVICE="/dev/lirc0"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS=""
#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
#Enable lircd
START_LIRCD="true"
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"
#Try to load appropriate kernel modules
LOAD_MODULES="true"
# Default configuration files for your hardware if any
LIRCMD_CONF=""
#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""
Maak een /etc/lirc/lircd.conf aan
mcedit /etc/lirc/lircd.conf
en zet hier het volgende in
lircd.conf
#This configuration has been automatically generated via
#the Ubuntu LIRC package maintainer scripts.
#
#It includes the default configuration for the remote and/or
#transmitter that you have selected during package installation.
#
#Feel free to add any custom remotes to the configuration
#via additional include directives or below the existing
#Ubuntu include directives from your selected remote and/or
#transmitter.
#No default remote configuration was included for Home-brew (16x50 UART compatible serial port)
#You will need to include your own custom configuration for
#this remote, and file a bug at https://bugs.launchpad.net/ubuntu/ source/lirc/ filebug
begin remote
name Harmony
bits 16
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9036 4442
one 610 1620
zero 610 511
ptrail 610
repeat 9032 2187
pre_data_bits 16
pre_data 0x77E1
gap 107881
min_repeat 4
toggle_bit_mask 0x0
begin codes
Up 0xD069
Down 0xB069
Left 0x1069
Right 0xE069
Ok 0x2069
ChannelUp 0x5079
ChannelDown 0x3079
VolumeUp 0x5019
VolumeDown 0x3019
1 0x50E9
2 0x30E9
3 0x90E9
4 0x60E9
5 0x9019
6 0x6019
7 0x1099
8 0xE099
9 0x1059
0 0xE059
Clear 0x2059
Enter 0x4099
Red 0x10F9
Green 0xE0F9
Yellow 0x20F9
Blue 0x40F9
Mute 0xA019
Back 0xA019
Exit 0x50D9
Guide 0xA0B9
Menu 0x4069
Info 0xD099
Rec 0x30D9
Rew 0xD059
Fwd 0xB059
Pause 0xC019
Play 0xC0E9
Skip 0xB005
Replay 0xD005
Stop 0xA0E9
Prev 0xB099
Aspect 0x50B9
F1 0x90D9
F10 0x6079
F11 0xA079
F12 0xC079
F13 0x90B9
F14 0x60B9
F2 0x60D9
F3 0xA0D9
F4 0xC0D9
F5 0x1005
F6 0xE005
F7 0x2005
F8 0x4005
F9 0x9079
LargeDown 0xB0F9
LargeUp 0xD0F9
PwrToggle 0xC0B9
Queue 0x30B9
Sleep 0x4059
end codes
end remote
Om kodi goed te laten reageren op de lirc commando's moet je de XBMC lirc map aanpassen
maak eerst wat verplichte mappen aan voor kodi
mkdir -p /home/kodi/.kodi/userdata
mkdir -p /home/kodi/.kodi/userdata/keymaps
Maak een /home/kodi/.kodi/userdata/lircmap.xml aan
mcedit /home/kodi/.kodi/userdata/Lircmap.xml
en zet hier het volgende in
Lircmap.xml
UpDownLeftRightMenuChannelUpChannelDownVolumeUpVolumeDownClearEnterRedGreenYellowBlueMuteBackExitGuideInfoRecRewFwdPausePlaySkipReplayStopAspectF1F10F11F12F13F14F2F3F4F5F6F7F8F9LargeDownLargeUpPwrToggleQueueSleep1234567890
Maak een /home/kodi/.kodi/userdata/keymaps/Harmony.xml aan
mcedit /home/kodi/.kodi/userdata/keymaps/Harmony.xml
en zet hier het volgende in
Harmony.xml
SubtitleSearchToggleWatchedSendClick(25,14)PowerdownContextMenuXBMC.EjectTray()PreviousMenuUpdateLibrary(video)CleanLibrary(video)ActivateWindow(SubtitleSearch)SubtitleDelayNextSubtitleAudioNextLanguagePowerdownContextMenuXBMC.EjectTray()PreviousMenu
====== Kodi configureren ======
===== CPU/GPU temp =====
Maak een /home/kodi/.kodi/userdata/advancedsettings.xml aan
mcedit /home/kodi/.kodi/userdata/advancedsettings.xml
en zet hier het volgende in
advancedsettings.xml
echo "$(sensors -u | head -n10 | grep temp1_input | awk '{print $2 }' |awk '{printf("%d\n",$1 0.5);}') C"echo "$(sensors -u | head -n10 | grep temp2_input | awk '{print $2 }' |awk '{printf("%d\n",$1 0.5);}') C"
Draai vervolgens
sensors-detect
En laat alle sensors detecteren en aan het einde de modules autoloaden.
===== Autostart =====
Download en installeer Kodi-Openbox Xsession
wget -O openbox-kodi-master.zip https://github.com/lufinkey/kodi-openbox/archive/master.zip
unzip openbox-kodi-master.zip
cd kodi-openbox-master
bash ./build.sh
dpkg -i kodi-openbox.deb
Maak een /etc/lightdm/lightdm.conf aan
mcedit /etc/lightdm/lightdm.conf
en zet hier het volgende in
lightdm.conf
[Seat:*]
autologin-user=kodi
autologin-session=kodi-openbox
===== Wacht op netwerk =====
Het wil wel eens voorkomen dat kodi al gestart wordt voordat het netwerk klaar is. Om dit te voorkomen kan je onderstaande toevoegen aan het begin van "/usr/bin/kodi-openbox-session"
# Dirty hack to wait for network befor starting kodi
maxwait=20
sleeptime=3
i=0
while [ $i -lt $maxwait ]
do
numip=`ip address show dev eno1 | grep inet | grep -v inet6 | wc -l`
if [ $numip == '3' ]; then
totalwait=$(($i*$sleeptime))
echo "Slept for $totalwait seconds"
break
fi
echo "Sleeping for $sleeptime seconds"
sleep $sleeptime
((i++))
done
#End of dirty hack
===== Rechten =====
Als laatste zette we nog even de juiste rechten op alle config bestanden
chown kodi.kodi /home/kodi -R