Kodi beállítása FreeBSD-hez

Raspberry Pi-n

A leírás a FreeBSD 11.1-es verziójára érvényes.

FreeBSD telepítése

Ha még nem telepítettük a FreeBSD-t a Raspberry Pi-re, akkor tegyük meg!

fetch https://download.freebsd.org/ftp/releases/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-arm-armv6-RPI-B.img.xz

Természetesen az RPI-B verzió helyett választható az RPI2 is, függően attól, hogy melyik RPi-nk van.

Ezután írjuk ki a kártyára:

xz -d -c FreeBSD-11.1-RELEASE-arm-armv6-RPI-B.img.xz | dd of=/dev/CARDDEVICE bs=1m conv=sync

Kodi telepítése és beállítása

Boot után a freebsd felhasználónévvel és freebsd jelszóval léphetünk be SSH-n. A su segítségével root felhasználóvá válhatunk, és telepíthetjük a kodi-t:

pkg install kodi

A /boot/msdos/config.txt fájlban a gpu_mem értékét 128M-re illetve Pi2 esetén 256M-re kell állítani.

Érdemes létrehozni jogosultságok miatt a /etc/devfs.conf fájlt:

own vchiq root:wheel
perm vchiq 0660

Ezután a kodi-standalone vagy kodi --standalone paranccsal indíthatjuk.

Egér nélküli webserver-aktiválás

Ha nincs közvetlen fizikai hozzáférésünk az RPi-hez (egér, billentyűzet), akkor érdemes a ~/.kodi/userdata/advancedsettings.xml fájlt létrehozni a következő tartalommal:

<advancedsettings>
  <services>
    <esallinterfaces>true</esallinterfaces>
    <webserver>true</webserver>
    <zeroconf>true</zeroconf>
  </services>
</advancedsettings>

Illetve a ~/.kodi/userdata/guisettings.xml fájlban a következő értékeket true-ra állítani (forrás):

Automatikus Kodi-indulás (on-request)

Ha nem akarjuk feleslegesen pazarolni az RPi (korábbi verziókban igen szűkös) erőforrásait, akkor egy megoldás lehet, ha az inetd segítségével indítjuk automatikusan:
  1. A /etc/services fájlba vegyük fel a
    kodi 9090/tcp
    
  2. A /etc/inetd.conf fájlba pedig a
    kodi stream tcp nowait/1/1 USER /home/USER/bin/start-kodi-inetd
    
  3. A /home/USER/bin/start-kodi-inetd tartalma pedig legyen
    #!/bin/sh
    
    HOME=/home/USER/
    LOGFILE=${HOME}/kodi.log
    KODIBIN=/usr/local/lib/kodi/kodi.bin
    
    printf "\n\n<<<<<<<<<<<<< Start: %s >>>>>>>>>>>>\n" $(date +%Y-%m-%d_%H%M%S) >> ${LOGFILE}
    ${KODIBIN} --standalone --legacy-res >> ${LOGFILE} 2>&1
    printf "<<<<<<<<<<<<< End: %s >>>>>>>>>>>>\n\n" $(date +%Y-%m-%d_%H%M%S) >> ${LOGFILE}
    
    Persze a printf-es részek elhagyhatóak. A HOME beállítása viszont szükséges, különben a Kodi hibával kilép. Azért nem a /usr/local/bin/kodi-t használjuk indításra, mert ha nem nulla visszatérési értékkel fejeződik be a Kodi futása, automatikusan újraindítja - ezt pedig nem akarjuk.
  4. Vegyük fel a /etc/rc.conf-ba a
    inetd_enable=YES
    
    sort, majd Indítsuk el az inetd szervert:
    service inetd start
    
A Yatse androidos távirányítóval jól működik, a Kore valamiért nem tud csatlakozni, ha az inetd indítja a Kodi-t.

Megjegyzés

Ha régi CRT (katódsugárcsöves) TV-nk van, akkor a /boot/msdos/config.txt fájlba a

sdtv_mode=2

sort kell felvenni, amellyel PAL szabványt kényszerítünk ki (forrás).