от Lucifer

Преди доста време бях пуснал едно промо клипче, в което се обяснява и демонстрира за какво става дума – цък. За тези, които ги мързи да гледат – идеята на проекта е да се обедини в едно устройство, управлявано от едно място мултимедийна станция базирана на KODI и ретро игрова конзола базирана на RetroPie. Това ръководство използва XBIAN, но на същия принцип можете да използвате всяка друга KODI центрирана операционна система.

Защо XBIAN?

XBIAN е операционната система, която започнах да използвам на Raspberry Pi 1. Обективно в тази ниша има 3 операционни системи, които са KODI центрирани – XBIAN, OpeneELEC и OSMC. След четене и сравняване на benchmark-ове, се спрях на XBIAN, защото е по-бърз от OSMC и по-функционално от OpenELEC. Разликата между трите можете да намерите при малко повече ровене. Освен това XBIAN има много добра поддръжка на lib CEC, който ако сте изгледали клипчето, ще разберете, че е това, което ви дава контрола на операционната система с дистанционното на телевизора.

Защо не просто KODI от RetroPie OS?

RetroPie проекта има собствен image за RaspberryPi, в който, сред другите екстри има KODI. За съжаление, не успях да намеря начин да подкарам CEC поддръжката вътре в Emulation Station (front end-a на RetroPie), а не ми се щеше при всеки рестарт на кутийката да се налага да стигам до game controller-a за да включвам KODI. За това KODI центрираната операционна система беше по-добрия избор. Оставаше само да автоматизирам процеса.

Относно процеса

Обективно в самата инсталация на отделните части няма нищо сложно или страшно. Няма нищо, което да е различно от нормална инсталация на XBIAN или на RetroPie. Проблема идва при последващия bridge. Предупреждавам, че моето решение е hacky – не е най-елегантното нещо което сте виждали, но върши безотказна работа.

Самият процес се изразява в следните стъпки:

  1. Инсталиране на XBIAN
  2. Инсталиране на zip и премaхване на връзката на unzip към busybox
  3. Инсталиране на git
  4. Клониране на RetroPie репото
  5. Инсталиране на RetroPie
  6. Инсталиране на всички онези пакети, които RetroPie setup-а не е успял да инсталира
  7. Повторна инсталация на RetroPie
  8. Нанасяне на корекции в /etc/sudoers.d/xbian
  9. Сваляне на bridge script-а
  10. Нанасяне на корекции в /opt/retropie/supplementary/runcommand/runcommand.sh
  11. Добавяне на бутона към confluence изгледа на KODI

За последните две стъпки имате -p0 patch-ове, но ще стигнем и до там.

1. Инсталиране на XBIAN

Удобна и подробна инструкция за това можете да намерите на сайта на XBIAN в частта Getting Started

2. Инсталиране на zip и премахване на връзката на unzip към busybox

Тъй като XBIAN използва busybox за част от основните bash команди, а RetroPie setup използва флагове на unzip, които busybox не поддържа, най добре е да инсталираме ZIP и да сложим unzip да сочи към zip.

$ sudo rm /usr/local/bin/unzip
$ sudo apt-get install libzip2 libzip-dev

3. Инсталиране на git

$ sudo apt-get install git

4. Клониране на RetroPie репото

$ cd ~
$ git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git

5. Инсталиране на RetroPie

$ cd RetroPie-Setup
$ sudo ./retropie_setup.sh

От отворилия се прозорец изберете Binary-base installation (recommended)

retropie install

Изчакайте едно прилично време през което ще се реди текст за инсталиране и разархивиране на различни неща. Както и много не успели да се инсталират пакети. Не се бойте – нормално е. За това и има 2 стъпки с инсталация.

6. Инсталиране на всички онези пакети, които RetroPie setup-а не е успял да инсталира

$ cd logs
$ gunzip "последния".log.gz

Прегледайте лога и инсталирайте всички пакети които не са били инсталирани. Пакет който със сигурност не може да се инсталира е libcurl4-openssl-dev, но това не бива да ви притеснява (всичко си работи ок при мен и без него).

7. Повторна инсталация на RetroPie

Изпълняваме стъпка 5 отново.

8. Нанасяне на корекции в /etc/sudoers.d/xbian

$ sudo nano /etc/sudoers.d/xbian

Към списъка на разрешените за достъп без парола елементи добавяте /bin/openvt и/usr/sbin/service

9. Сваляне на bridge script-а

$ sudo  wget https://gist.githubusercontent.com/satanasov/cd1fd212a52901db144d6375f9af9196/raw/33490e3c0a75e06263caa2885928a14377ec8006/retroswich.sh -O /opt/retroswich.sh
$ sudo chmod a+x /opt/retroswich.sh

10. Нанасяне на корекции в /opt/retropie/supplementary/runcommand/runcommand.sh

Тъй като RetroPie използва виртуалната /dev/tty конзола, която по някаква причина е недостъпна под XBIAN се налага да се нанесе малка промяна в runcommand скрипта, за да тръгват игрите (просто променяме виртуалната /dev/tty на съвсем реалната /dev/tty1)

$ cd ~
$ wget https://gist.githubusercontent.com/satanasov/32fa5074a5d4f86c5cd4f1d7014d0953/raw/5feebb9b02b0d7aae2cfe2f5e5e599aa976924cf/runcommand.patch -O runcommand.patch
$ sudo patch -p0 < runcommand.patch

11. Добавяне на бутона към confluence изгледа на KODI

Обективно това не е съвсем нужно, но ако не искате всеки път да трябва да стартирате bridge скрипта от конзола е добре да направите тази промяна в Home.xml (тя добавя малкото бутонче с пъзела, което виждате на кличето)

$ cd ~
$ wget https://gist.githubusercontent.com/satanasov/11a830f1a2d72b9593ae7e83f6c47b32/raw/31c740ceb6e6893a35fdc645677957ffb7d919fa/confluence.menu.patch -O confluence.menu.patch
$ sudo patch -p0 < confluence.menu.patch

За да видите, че няма злоумишлен код, ето и gist-овете на всички скриптове:

retroswich.sh

runcommand.patch

confluence.menu.patch

Надявам се това да помогне на някого, защото комбинацията между двете, както можете да видите от клипчето е яка!

Ваш,
Lucifer

Вашият коментар

This site uses Akismet to reduce spam. Learn how your comment data is processed.