Avaleht
uus teema   vasta Hinnavaatlus »  Kasulikud näpunäited »  FreeBSD baasil KODI install (HTPC) märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: m.hv.ee :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
aht0
HV veteran

liitunud: 14.10.2003



Autoriseeritud ID-kaardiga

sõnum 20.04.2017 15:26 FreeBSD baasil KODI install (HTPC) vasta tsitaadiga

OSA I
Sissejuhatus
Miks FreeBSD? Miks mitte Linux? Parem riistvara tugi jne (tavaline argument).Vastuküsimus, kui juba Linux parema riistvaratoe tõttu, miks mitte siis juba kohe Windows? Veelgi parem riistvara tugi icon_rolleyes.gif

Isikliku maitse küsimus. FreeBSD kehv riistvara tugi on nüüdseks pigem linnalegend, vähemalt x86/64 arhitektuuril. Jah – teatud piirangud eksiteerivad kuid neid täpselt teades pole nende vältimine eriti raske. Samuti eksisteerivad analoogsed piirangud Linuxile, need on lihtsalt erinevad, kuigi ei saa vaielda et Linuxi riistvara tugi on parem – minu silmis on Linuxi natuur („lipp-lipi-peal-lapp-lapi-peal”) lihtsalt rõve.
Tonn erinevaid distributsioone, nagu kari kirjusid koeri - igaühel omad eelised, aga ka omad hädad ja eripärad millega pidevalt arvestada ning mis varieeruvad isegi ühe distro piirides versiooninumbri muutudes ning korraliku dokumentatsiooniga keegi jännata väga ei viitsi.

Näitematerjalina kasutatav masin on Asus eeePC 1225B, stock konfis, v.a väljavõetud wifimoodul ja sissepandud suurem SATA ketas. FreeBSD baasinstallis kasutasin UFS2 failisüsteemi ja tegin KODI jaoks tavakasutaja nimega 'kodi'.

Eelised Linuxi ees, subjektiivselt
- native ZFS tugi. Pea kümme aastat juba (aastast ca 2008). Kui on masinas rohkem kettaid ja korralikult mälu, perfektne. Eriti head on tavakasutaja perspektiivist AMD protsessoriga ja Asuse emaplaadiga (näiteks M5A99X-seeriast), kombod, mis lubavad kasutada ka unbuffered-ECC mälusid. FreeBSD UFS2 on midagi Linuxi EXT4/XFS laadset.
- selge tugi TRIM'ile. Linuxis on TRIM tugi tingimuslik, sõltuvalt margist-mudelist peab kasutama discard optsiooni asemel crontab task'i.
- selged piirid operatsioonisüsteemi ja kasutajaprogrammide vahel. Kasutaja mant läheb /usr/local alla ja kõik! Linuxis "hajuvad" laiali sajasse eri kataloogi, nagu /etc /bin/ sbin /usr/share jne
- puudub systemd-init, mis on kodukasutaja tagasihoidlike vajaduste jaoks sama kui kasutada kuuraketti poodi piima järele minekuks. Kel vaja saab kasutada TrueOS'iga OpenRC'd.
- süsteem on puhtam, "millegi tegemiseks" installib pakihaldur alati "omast tarkusest" minimaalse hädavajaliku hulga pakette ja pakkide imesõltuvusi kohtab vähem. Pmst on FreeBSD nagu "skelett" mille peale saad "ehitada" endale meeldiva ja vajalikul tasemel funktsioneeriva "looma", ilma et saaks kaasa küsimata ekstra-featuure - nagu teine saba või viies jalg.

Puudused Linuxiga võrreldes
- uuemad Radeonid (alates R-seeriast), Intel'i Kaby Lake ja Skylake graafika pole (veel) toetatud. Probleem pole mitte FreeBSD arendajates kuivõrd faktis et ei AMD ega Intel pole suvatsenud FreeBSD draiveritele tähelepanu pöörata. Et olemasolevaid FOSS draivereid kasutada, tuleks neid käivitada üle Linuxi emulatsioonikihi aga see on kinni kernelis 2.6 - Linuxi uuemad kernelid kasutavad niipalju "linuxisme" et neid on raske või isegi võimatu BSD kernelis emuleerida. Nvidia kaartidega probleemi pole - Nvidia väljasta regulaarselt FreeBSD binaardraivereid.
- kasutajaid on vähem
- Palju vaba tarkvara on kirjutatud puhtalt Linuxit arvestades ning kuna Linux ei pea POSIX standardist meelega kinni, nõuab lahtise lähtekoodiga tarkvara BSD peale portimine pahatihti korralikku pingutust. Samamoodi virisevad muide Linuxi arendajad et peavad tõsiselt punnitama et OpenSSH'd (OpenBSD arendus) Linuxile portida. Probleem eksisteerib mõlemat pidi, kuid süüdi on siiski Linux ise kes lööb igasugusele ühilduvusele teiste Unix-laadsete operatsioonisüsteemidega teadlikult ja uljalt käega..

Baassüsteemi paigaldus
Eeldan et FreeBSD installeerimisega saate ise hakkama. ISO või USB img leiab https://www.freebsd.org/where.html. Mingit hüpergraafilist installi ei eksisteeri. DOS-laadne graafika on kõik. Funktsionaalne ja töötav. Ja peletab 'bling-bling' otsijad varakult eemale.

Soovitan valida 11.0-RELEASE. ’RELEASE’ uuendamine on lihtsaim, freebsd-update utiliidi abil. Ei teki vajadust midagi kompileerima hakata.

ISO kirjutate plaadile, img faili võib kirjutada kas sekundaarsele kettale või USB pulgale, utikaks sobib tavaline dd (Linux) või Windowsi puhul on väga hea programm Win32 Disk Imager (https://sourceforge.net/projects/win32diskimager/). Viimane muide aitab ka Kubuntu ja OpenSUSE hübriidsete isode USB pulgale panekul.

Algus
Logige sisse juurkasutajana (root). Kontrollige et masinal oleks netiühendus. Ifconfig aitab sellega. Jah, Free/Open/NetBSD endiselt kasutavad seda. Milleks sättida võrku saja eri jubinaga kui üks töötab?

Kontrolli uuendusi
#freebsd-update fetch

Installi leitud uuendused
#freebsd-update install

aja käima pakimajandus
#pkg update

installi "mugavuspakett" Nano
#pkg install nano

Seadistamine
Login sisse juurkasutajana. Annan shellis korralduse
#nano /boot/loader.conf
lisan faili järgneva sisu

kern.ipc.shmseg=1024
kern.ipc.shmmni=1024
kern.maxproc=10000
hint.acpi_throttle.0.disabled=1
machdep.disable_mtrrs=1
kern.cam.scsi_delay=500

Salvestan faili (Ctrl+X).

Tee kindlaks milline graafika on sinu masinas. dmesg | grep xxxx aitab. Võimalusi palju pole (Nvidia/Radeon/Intel). Minu masina näol on tegemist Asus eeePC 1225B'ga, mille sees on Radeon HD6290 integreeritud graafika. Seega Radeon.
kontrollin kas oletused vastavad tõele ja mis võiks olla draiverimooduli nimi.
#ls /boot/kernel | grep radeon
hmm.. radeonkms.ko, ülejäänud paistavad olevat firmware-moodulid.
Katsetan moodulit laadides, mis saab
#kldload radeonkms
ekraan läheb mustaks, ja taastub, kuid juba oluliselt kõrgemal resolutsioonil. Seega õige draiver.

Avan uue ja erineva faili
#nano /etc/rc.conf
juba olemasoleva mudru taha kirjutan uue rea (kiigates /boot/kernel sisu ja lisades ka muu vajalikuna tunduva)

kld_list=”radeonkms acpi_asus_wmi acpi_asus acpi_video amdtemp tmpfs libiconv msdosfs_iconv snd_driver”


osad moodulid võivad juba olla kernelisse sisse kompileeritud (msdosfs või mmc näiteks) ja nende lisamisel pole pointi. Aga see ei tee ka midagi katki.
Paigaldan X serveri

Lihtsaim viis, Xorg metapakki installides. Kes tahab, võib installida individuaalseid vajalikke pakke ühekaupa (a la xorg-server, xf86-video-intel, xf86-input-mouse jne). Hal on Hardware Abstraction Layer, pmst jubin mida Linuxile kirjutatud tarkvara kipub vajama. Ilma selleta KODI ei käivitu.
#pkg install xorg hal

lisan vajalikud HAL ja DBUS teenused faili /etc/rc.conf
#nano /etc/rc.conf

dbus_enable=”YES”
hald_enable=”YES”


annan käsud (annavad õiguse tavakasutajale kodi saada ligipääs OpenGL'ile lisades ta gruppi 'video' [sisuliselt])
#pw groupmod video -g 44
#pw groupmod video -m kodi

Installime SLiM login manager'i
installime Slim'i. Teemapaketi slim-themes järgi puudub vajadus. Autologin puhul nagunii pole SLIM'i ennastki näha.
#pkg install slim
Lisan Slim teenuse faili /etc/rc.conf
#nano /etc/rc.conf

slim_enable="YES"

avan SLIM'i konfiguratsioonifaili (kasutaja installitud softi konfifailid leiab /usr/local/etc alt.
#nano /usr/local/etc/slim.conf

jätan alles järgneva sisu (põhimõtteliselt kustutan pea kõik failis olevad kommenteeritud laused, v.a mõni üksik vajalik ja tehes mõned üksikud muudatused teistes [default_user ja auto_login])

default_path        /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin
default_xserver     /usr/local/bin/X
xserver_arguments   -nolisten tcp vt09
halt_cmd            /sbin/shutdown -p now
reboot_cmd          /sbin/shutdown -r now
console_cmd         /usr/local/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/motd; exec /usr/bin/login"
suspend_cmd        /usr/sbin/acpiconf -s 3
xauth_path         /usr/local/bin/xauth
authfile           /var/run/slim.auth
login_cmd           exec /bin/sh - ~/.xinitrc %session
sessiondir              /usr/local/share/xsessions
screenshot_cmd      import -window root /slim.png
default_user        kodi
auto_login      yes
current_theme       default
lockfile            /var/run/slim.pid
logfile             /var/log/slim.log


KODI paigaldus
Paigaldan kodi ja lirc paketid. Viimase juhul kui teil on IrDA andur ja pult käepärast.
#pkg install kodi lirc

login nüüd juurkasutaja välja (või lülitun teisele terminalile [CTRL+ALT+F2]) ja login sisse kodi jaoks loodud tavakasutajana.
loon .xinitrc faili
#touch .xinitrc

avan selle
#nano .xinitrc
lisan järgneva rea ja vajutan lõpus ka ENTER (uue rea loomine), väljun salvestades (Ctrl+X)
exec /usr/local/bin/kodi

login tavakasutajast välja ja juurkasutajana sisse/lülitun tagasi juurkasutaja terminalile.
lisan paki sudo
#pkg install doas
ava doas konfifail
#nano /usr/local/etc/doas.conf
lisa sisu

permit persist :wheel #eeldusel et grupis 'wheel' on kasutaja
permit nopass kodi as root cmd reboot
permit nopass kodi as root cmd shutdown

ülalolev annab võime vajadusel tavakasutajana konsoolilt masinat välja lülitada.
Dubleerime klaviatuurilt Ctrl+Alt+Del restardiga
#nano /boot/loader.conf
lisame rea

kern.vt.kbd_reboot=1

Kui klaviatuur sisaldab ka "shutdown" nuppu, võib lisada ka rea

kern.vt.kbd_poweroff=1



Shutdown/Restart KODI menüü kaudu
#pkg install upower
#nano /usr/local/etc/polkit-1/localauthority/50-local.d/custom-actions.pkla
lisa failile järgnev sisu ja salvesta väljumisel

[Actions for KODI users]
Identity=kodi:kodi
Action=org.freedesktop.upower.*
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Pmst kõik. Restartimisel peaks masin jooksma joonelt KODI'sse. Kui ei ole protsessi käigus tekkinud kirjavigu, näites kasutatav riistvara on liialt erinev - ei sobi ja katsetaja jäi jänni jne. Järgnevad postitused (paari päeva jooksul) teen peenseadistamise kohta (HDMI väljundist tuleva pildi resolutsiooni "käsitsi masseerimine" näiteks) ja troubleshootingu teemadel.
EDIT: toimetatud, tehtud puhas step-by-step install kirjapandu järgi, lisatud mõned kahe silma vahele jäänud asjad ja veendutud et tulemuseks on töötav KODI masin.
EDIT2: sudo asendatud doas
EDIT3: kohendatud, lisatud nipet-näpet..


viimati muutis aht0 21.04.2017 12:47, muudetud 3 korda
Kommentaarid: 68 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
Uhuu
HV kasutaja
Uhuu

liitunud: 08.04.2004




sõnum 20.04.2017 16:11 vasta tsitaadiga

Muidu asjalik õpetus, kuid eelised Linuxi ees ei ole minu arvates päris põhjendatud. Näiteks systemd-d võrreldakse tagasihoidlikule kodukasutajale kuuraketiga (mille kasutamine ja vea diagnoosimine on minu arvates on kordades lihtsam klassikalistest init- skriptidest), kuid samas eeldatakse. et tohutu hulga tekstifailide ja käsurea käskude sisse toksimine on talle igati jõukohane. Ka ei huvita tavakasutajat ilmselt kuhu paigutatakse programmifailid (süsteemi "puhtuse" huvides), kui paketihaldur kogu töö nagunii ära teeb. Pigem võrdleks NASA rakettidega failisüsteemi ZFS mille eeliseid vist nõudlikum kasutaja hinnata oskaks kuid see on ka Linuxile saadaval (ZFSOL).

Leian et Linuxi ja Windowsi ühte patta panemine ei ole vast ka päris kohane, kuna erinevused tulevad kohe välja ka hinnas ja privaatsusküsimustes.
Ei taha kuidagi väita et FreeBSD Kodi installiks ei kõlba, ise kasutan ka, kuigi muudel eesmärkidel, lihtsalt hakkas mõni asi silma.

Aga see on ka muidugi ainult minu subjektiivne arvamus. beer_yum.gif

_________________
Windows ei ole viirus, viirus teeb midagi...
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 11
tagasi üles
vaata kasutaja infot saada privaatsõnum
aht0
HV veteran

liitunud: 14.10.2003



Autoriseeritud ID-kaardiga

sõnum 25.04.2017 20:11 vasta tsitaadiga

OSA II

Olen hädas.. ja lihtsalt nipet-näpet

1. Boot failib
-Juhtus kogemata kirjaviga konfifailis ja nüüd masin keeldub lõpuni bootimast, "kukkudes" single-user shell'i. Ketas on ühendatud read-only ja midagi teha ei saa..
Spoiler Spoiler Spoiler

- Kogemata kirjutasin konfifaili read millega laetakse vale draiver, vales failis vms. Näiteks kirjutades radeonkms_load="YES" /etc/rc.conf asemel /boot/loader.conf'i kuid jättes firmware failid defineerimata (üks võimalik stsenaarium kuidas süsteem "katki" teha). Peamine probleem - süsteem läheb "katki" peale käivitust ennem kui tekib võimalus midagi muuta (pilt kaob/freezib enne shelli jõudmist vms). Vahe on selles et /etc/rc.conf'i pole vaja kõiki sõltuvaid mooduleid kirja panna - vajalikud firmware-moodulid laetakse seal asuva kirje korral automaatselt. /boot/loader.conf'is "majandades" pead see-eest täpselt teadma mida teed!
Spoiler Spoiler Spoiler

- MBR bootsektor sai kuidagi "haiget".
Spoiler Spoiler Spoiler


2. SliM ei tööta
-kontrolli et /etc/rc.conf sisaldaks slim_enable="YES". Et kuskil ei oleks tähti või jutumärke puudu
-kontrolli et kodi kasutaja kataloog sisaldaks faili .xinitrc ja et see fail sisaldaks ettenähtud rida, ja fail lõpeks uuel (tühjal) real.
-kontrolli et /usr/local/etc/slim.conf ei oleks moondunud. Putty (ssh) kaudu copy-paste võib muuta jutumärgid (console_cmd real) suvasümboliteks ja see omakorda paneb SLim'i käituma ettearvamatult.

SLiM testimiseks ei ole vaja masinat iga kord restartida. FreeBSD käsitleb seda teenusena ja seda saab vastavalt peatada, käivitada, taaskäivitada jne..
#service slim stop|start|restart|status

3. Ei saa HDMI'st kätte heli??
Nvidia kaart (tinglik, mälu järgi. Kirjutamise hetkel puudub mul Nvidia kaart)
Spoiler Spoiler Spoiler

AMD Radeon
Spoiler Spoiler Spoiler

4. Mul on SSD, kuid ma ei tea kas TRIM on sees või kust seda kontrollida.

UFS2 failisüsteem.
Spoiler Spoiler Spoiler

ZFS puhul

Spoiler Spoiler Spoiler


5. KODI versioon ei ole bleeding edge või uusim (hetkel FreeBSD KODI binaarpakk versiooninumbriga 16.1.11)

keegi ei keela ise endale meeldivat versiooni kompileerimast. Peate ainult sortsu alla tõmbama ja "linuxismid" välja patchima.Uusim 'stabiilne' 17.1 on tegelikult "valmiskujul" portide all olemas, kui viimasest stabiilsest versioonist piisab ei ole vajadust midagi 'häkkida'
Spoiler Spoiler Spoiler

6. Kuidas muuta terminali ja erinevate väljundite resolutsioone.
Spoiler Spoiler Spoiler

7. Kuidas vaadata temperatuure ilma GUI'ta.
Spoiler Spoiler Spoiler

8. Tahan värvilist shell'i nagu Linuxis
Spoiler Spoiler Spoiler

9. FreeBSD lihtne võrgu seadistamine ilma GUI'ta
Kui ei seadnud seda üles FreeBSD installeriga:ja ei huvita keerulisem konfiguratsioon (nt jail-konteinerites)
võrguseadmeid kontrollib /etc/rc.conf kuhu läheb relevantne informatsioon.
a la
tsitaat:

ifconfig_em0="DHCP"
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA DHCP country ee"

täpsem rc.conf dokumentatsioon https://www.freebsd.org/cgi/man.cgi?rc.conf(5)
FreeBSD võrgukaardid markeeritakse süsteemis erinevalt Linuxist draiverinime ja järjekorranumbriga.
em0 - Inteli võrgukaart, kui neid on süsteemis veel, siis need markeeritakse em1 em2 jne, aluseks MAC
iwn0 - Inteli dual-band wifi kaart
wifi vajab täiendavat seadistamist /etc/wpa_supplicant.conf'is
süntaks on lihtne ja kirjeldatud FreeBSD manuaalilehe alumises osas valmis näidetega
https://www.freebsd.org/cgi/man.cgi?wpa_supplicant.conf(5)
kui failid on redigeeritud, siis võrgu saab restartida
#service netif restart

------------------------------------------------------------------------------------------------------------------------------------------------------------
akf Uhhuu Kuna uut posti ei lase eraldi enda posti järel teha, ei hakka hetkel ka teema puhtuse huvides vastama. Tänud arvamuse eest.
EDIT: uuendan järk-järgult, nii kuidas uusi lisatavaid asju pähe tuleb[/quote]
Kommentaarid: 68 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Hinnavaatlus »  Kasulikud näpunäited »  FreeBSD baasil KODI install (HTPC)
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.