Router Turris jako openhab server

Podobné dokumenty
Instalace Debianu pomocí debootstrap

Bc. Hynek Chmela - 1. přednáška o systému Debian Linux

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

Debian a jeho instalace. Příprava pro kurz Administrace UNIXu

Linux CryptoFS. Petr Novický

PSK3-11. Instalace software a nastavení sítě. Instalace software

Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu... 23

Instalace a základní správa herních serverů Counter Strike 1.6 na VPS serveru od Hostzona.cz Hosting

Linuxová distribuce Debian

Nová cesta ip. Stará cesta ifconfig, route. Network address translation NAT

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

LINUX ADRESÁŘOVÁ STRUKTURA. Co to, hrome, je? V této lekci se budeme brouzdat adresáři. SPŠ Teplice - 3.V

Přihlášení do VPN Univerzity Pardubice Debian GNU/Linux Lenny 32/64-bit

Střední odborná škola a Střední odborné učiliště, Hořovice

Před instalací 25 Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu...

uzly. Výpočetní uzel (Working node) výkonná jednotka clusteru.

Instalace nvidia Optimus v Ubuntu 14.04

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

Linux na desktopu Pro Běžně Frustrované Uživatele

Middleware eop. Instalační příručka pro práci s eop v prostředí Mozilla Firefox, Thunderbird a Adobe Reader na systémech Ubuntu Linux

Návod na instalaci operačního systému Debian GNU/Linux pomocí Businesscard ISO obrazu Ota Trkola

Instalace Linuxu Ubuntu v programu VirtualBox

Instalace ArcGIS Pro krok za krokem

Konfigurace Nagios. Zadání: Příprava a prvotní problémy: Instalace a konfigurace serveru:

VIRTUALBOX INSTALACE OS

Windows 7 instalace krok za krokem

1. V notebooku (v hlavním hostitelském operačním systému (MS Windows)) mít nainstalováno a nakonfigurováno:

Citrix klient a OneTimePass moje.cpas.cz. Uživatelský návod pro interní uživatele České pojišťovny a.s.

Praktické šifrování dat pomocí programu PGP

Porovnání instalací linuxových distribucí Fedora x Debian Administrace počítačových sítí (2010/2011)

Uvedené dílo (s výjimkou obrázků) podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Messenger. Novell 1.0 UMÍSTĚNÍ DOKUMENTACE K PROGRAMU NOVELL MESSENGER. STRUČ NÁ ÚVODNÍ PŘ ÍRUČ KA

Postup instalace ČSOB BusinessBanking pro MS SQL 2005/2008

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

Instalace webové služby Mydlinka

Instalace Dosemu na Linux Ubuntu 12.04

Paralelní výpočty na clusteru KMD

Spojování dvou a více map v image souborech.

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

C2115 Praktický úvod do superpočítání

Co děti v kroužku vyzkoušely

František Hudek. červen ročník

Instalace a první spuštění Programu Job Abacus Pro

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Instalační postup pro Debian (Lenny)

2. přednáška pro začátečníky

Middleware eop. Instalační příručka pro práci s eop v prostředí Mozilla Firefox, Thunderbird a Adobe Reader na systémech Ubuntu Linux

Redakční systém Joomla. Prokop Zelený

Návod pro aktualizaci map a navigačního softwaru pro přístroje ZENEC E>GO (ZE-NC2010, ZE-NC2040, ZE-NC3810, ZE-NC5010) pomocí Toolbox a Synctool

Stručná instalační příručka SUSE Linux Enterprise Server 11

MapleSim 4.5 instalační příručka

Národní šetření výsledků žáků v počátečním vzdělávání

Projekt Turris. Proč a jak? Ondřej Filip ondrej.filip@nic.cz Bedřich Košata bedrich.kosata@nic.cz / IT13.2

Windows 10 (5. třída)

MS Word 2007 Šablony programu MS Word

Návod pro připojení k síti VŠPJ prostřednictvím VPN Vysoká škola polytechnická Jihlava

1. přednáška pro začátečníky

Skripty - úvod. Linux - skripty 2

Možnosti využití Windows Server 2003

UŽIVATEL, SKUPINA, PROCES

Postup instalace UMTS modemu Huawei K3765 od Vodafone (SalixOS, ZenWalk, Slackware)

Instalace webové služby Mydlinka

PC Fand a Linux Budoucnost PC FANDu

INSTALACE SW V GNU/LINUXU

Linux připojování zařízení. 6 praktická část

Operační systémy 2. Debian, jeho instalace, překlad jádra Přednáška číslo 5

Linux-příkazový řádek

Uživatelská příručka

ZÁKLADNÍ POKYNY PRO INSTALACI PROID+ Z INSTALAČNÍHO MÉDIA

1. Předmluva. 2. Uživatelské účty. Vážení rodiče,

Instalace Microsoft SQL serveru 2012 Express

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Uživatelský manuál - základ PiPO P1

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

Windows 8.1 (5. třída)

Nastavení programu pro práci v síti

Rocrail. Nejprve: Obecný úvod. Instalace

Instalace Linux Debian ve VirtualBoxu JAKUB MAZUCH BŘEZEN 2018

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

Martin Trnečka. Katedra informatiky, Univerzita Palackého v Olomouci

Správa zařízení Scan Station Pro 550 a Servisní nástroje zařízení Scan Station

C2115 Praktický úvod do superpočítání

Jak programovat Tinykeyer?

NAS 109 Použití NAS s Linux

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

Knihovní systém Koha pro každého. Ilustrovaný návod na instalaci. Bohdan Šmilauer, 2013

Informační systém pro e-learning manuál

LINUX SOUBORY. Zadejme příkaz ls l! V této lekci se odrazíme od dlouhého výpisu příkazu ls a uvidíme, kam nás to zanese. SPŠ Teplice - 3.

Základy programování (IZP)

Na vod k nastavenı ovy ch schra nek Administrace

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

ZÁLOHA A OBNOVA ABRA GEN

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows

Tento článek navazuje na podobný článek BartPE SDI, je však určen pro Reatogo.

Střední odborná škola a Střední odborné učiliště, Hořovice

Návod pro aktualizaci map a navigačního softwaru pro přístroje ZENEC ZE-NC526 pomocí Toolbox

Základy programování Úvodní informace. doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého)

S2. Vytvoření Windows balíku pro vývoj na STM32 architektuře

Transkript:

Router Turris jako openhab server Úvod V rámci spolupráce se sdružením CZ.NIC obdržel náš Ústav aplikované informatiky Přírodovědecké fakulty Jihočeské univerzity v Českých Budějovicích jeden exemplář WiFi routeru Turris. Když jsme vymýšleli jakým způsobem s ním naložíme, napadlo nás nakonec použít jej jako základnu pro openhab. Tento článek pojednává o cestě, jak jsme tento software na Turrisu zprovoznili. Co je co Turris WiFi router vytvořený správcem české národní internetové domény, sdružením CZ.NIC. Jedná se o velmi výkonné zařízení s procesorem PowerPC Freescale P2020 a 16 GB paměti. Jako operační systém je použit upravený OpenWrt, [1] openhab Open Home Automation Bus (openhab) je otevřený a svobodný softwarový projekt, které má sloužit jako integrované prostředí pro SmartHome a Internet of Things. [2] Výchozí stav Operačním systémem použitým na projektu Turris je OpenWrt, což je varianta Linuxu. Turris lze nastavit, tak, že je možné se k tomuto prostředí přihlásit pomocí SSH do příkazové řádky a tam získat práva roota. Proto naše první pokusy se zákonitě upnuly k možnosti nainstalovat openhab nativně na Turris. Zde se však dostavilo poměrně rychle zklamání. Pro běh openhabu je nutné mít v systému nainstalovanou podporu pro Javu. Použitým OS jak bylo řečeno je sice OpenWrt, ale na platformě PPCSPE PowerPC SPE (Signal Processing Engine). Pro OpenWrt se sice na internetu dá najít několik návodů pro instalaci Javy, ale žádný z nich mi nefungoval ve výše popsaném prostředí. Navíc se v prostředí Turrisu nedostává příliš volného místa pro instalaci dalších programů. Protože se ukázal sekundární cíl ponechat základní systém Turrisu pokud možno nedotčený, bylo rozhodnuto o instalaci na SD kartu a současně bylo rozhodnuto o instalaci do chrootu. Nyní proběhla diskuze o použitém operačním systému, který bude do chrootu nainstalován. Volba padla na Debian. Instalace do chrootu je pro Debian poměrně dobře zdokumentována a současně existuje verze Debianu Wheezy pro platformu PPCSPE.

Instalace Debianu První pokusy Jak jsem již psal rozhodli jsme se Debian instalovat na SD kartu a ponechat tak původní filesystém Turrisu nedotčený. Tuto kartu je možné do systému přidat po sejmutí vrchního krytu tak jak je popsáno na stránkách výrobce. [3] Co je zde však minimálně matoucí, je skutečnost, že se všude píše o SD kartě, ve skutečnosti je, ale nutná microsd karta. Tato je po vložení a startu Turrisu v systému přístupná jako /dev/mmcblk0 a první oddíl na ní jako /dev/mmcblk0. Nyní již nebránilo instalaci Debianu. Výchozí informace pro instalaci jsme našli na stránkách [4] a [5]. Pro přípravu struktury Debianu do chrootu je třeba jiný systém založený na Debianu. Tady jsme s úspěchem použili Ubuntu 14.04. Bohužel se při prvních pokusech stalo, že systém se v pořádku vytvořil, v pořádku jsme jej přenesli na Turris, ale při aktualizaci, která byla nutná pro instalaci dalších balíků se systém rozhodil a nebyl nadále použitelný. Po několika pokusech jsme zjistili, že za vše mohou balíky libc6 a libc6-dev a bylo nutné zakázat jejich upgrade. Toto řešení jsme nalezli na stránce [6] a s úspěchem jej využili. V další kapitole nyní popíši od nuly postup jak rozběhnout Debian Wheezzy na Turrisu v chrootu. Potřebné prerekvizity Pro instalaci Debianu na Turris, potřebujete (kromě Turrisu) následující prerekvizity: MicroSD kartu minimálně 4 GB, větší je samozřejmě lepší s jedním logickým oddílem. Tuto kartu vložíme do Turrisu dle návodu [3]. Počítač s nainstalovaným Linuxem, doporučená je distribuce založená na Debianu, tedy třeba Ubuntu nebo Linux Mint. My jsme použili Ubuntu 14.04 LTS. USB disk opět minimálně 4 GB. Instalaci lze provést bez něj, ale v případě opakování, zbytečně opakujeme vkládání microsd karty do Turrisu. SSH přístup na rootovský účet na Turrisu. To lze na Turrisu nastavit přes jeho webové rozhraní. Postup instalace Debianu na Turris Do počítače s výchozím Linuxem nainstalujeme potřebné programy: apt-get install binutils debootstrap Pokud použijeme nedebianní distribuci musíme nainstalovat debootstrap ze zdrojového kódu [5]. Dále pak vytvoříme na vhodném místě adresář debian a přejdeme do něj: mkdir debian cd debian Nyní spustíme debootstrap následujícím příkazem a chvíli počkáme: debootstrap --foreign --no-check-gpg --arch powerpcspe unstable.

http://antcom.de/powerpcspe/ Po skončení výsledek zabalíme do archivu: cd.. tar cvzf debian.tgz debian a vznikne nám soubor debian.tgz, který musíme nějak překopírovat na Turris, nejlépe pomocí USB disku. Je možné samozřejmě instalovat debootstrap adresář přímo na microsd kartu, ale nedoporučuji to, v případě, že něco pokazíte, musíte microsd kartu opět z Turrisu vyjmout a znovu na ní instalovat atd. Anebo si stejně pořídíte USB disk. Přímé kopírování souboru debian.tgz na Turris, možné není, na Turrisu pro něj není dostatek volného prostoru. Soubor debian.tgz si někde dobře uschovejte, v případě potíží, jej nemusíte znovu vytvářet. Od této chvíle veškerá další činnost bude probíhat na Turrisu, kde je třeba být přihlášen přes ssh s právy roota. Nastavení hesla a ssh najdeme ve webovém rozhraní Turrisu. Nyní si připravíme microsd kartu vloženou do Turrisu (pokud jsme to již neudělali dříve). Tato karta je systémem detekována jako zařízení /dev/mmcblk0 a její první oddíl jako /dev/mmcblk0p1. Kartu naformátujeme nejlépe systémem extended2, aby práce s ní byla rychlá a nedocházelo k rychlému opotřebení při práci se journálem. Samotné formátování provedeme příkazem: mke2fs /dev/mmcblk0p1 Rozhodneme-li se pro systém extended4, pak formátování provedeme příkazem: mkfs.ext4 /dev/mmcblk0p1 Vytvoříme si přípojný bod a kartu do něj připojíme: mkdir /mnt/debian mount /dev/mmcblk0p1 /mnt/debian Nyní si připojíme i USB disk, který by měl být systémem rozpoznán jako /dev/sda. Vytvoříme si přípojný bod a připojíme: mkdir /mnt/sda1 mount /dev/sda1 /mnt/sda1 Pro jistotu se přesvědčíme, zda jsou oba disky připojené: df -h by nám mělo vrátit něco jako: Filesystem Size Used Available Use% Mounted on rootfs 249.0M 72.1M 176.9M 29% / /dev/root 249.0M 72.1M 176.9M 29% /

tmpfs 1013.8M 2.0M 1011.8M 0% /tmp tmpfs 512.0K 4.0K 508.0K 1% /dev /dev/mmcblk0p1 14.5G 2.9G 10.9G 21% /mnt/debian tmpfs 512.0K 4.0K 508.0K 1% /mnt/debian/dev /dev/sda1 3.7G 1.0G 2.5G 29% /mnt/sda1 Samozřejmě v tomto okamžiku máme (na rozdíl od tohoto výpisu) disk připojený na /mnt/debian ještě prázdný. Nyní již rozbalíme připravený archiv: cd /mnt/debian tar xzvf /mnt/sda1/debian.tgz Nyní již je čas chrootnout se do nového debianu. Pro spuštění a vypnutí debianu si můžeme připravit následující skripty, které nám ušetří spousty přepisování. Pro start debianu skript debinit.sh, pro vstup do již běžícího debianu debian.sh a pro vypnutí debianu debout.sh. Pak stačí pro požadovanou činnost pouze spustit odpovídající skript. Tyto skripty umístíme do /usr/bin (Turris nemá adresář /usr/local) a nastavíme jim práva pro spuštění např: chmod a+x /usr/bin/debinit.sh Zdrojové kódy skriptů jsou následující debinit.sh: #!/bin/bash mount /dev/mmcblk0p1 /mnt/debian -t ext4 # nebo ext2 mount -o bind /dev /mnt/debian/dev mount -o bind /proc /mnt/debian/proc mount -o bind /sys /mnt/debian/sys mount --bind /dev/pts /mnt/debian/dev/pts cp /etc/resolv.conf /mnt/debian/etc/ cp /etc/hosts /mnt/debian/etc/ chroot /mnt/debian/ /bin/bash debout.sh: #!/bin/bash umount /mnt/debian/dev/pts -l umount /mnt/debian/dev -l umount /mnt/debian/sys -l umount /mnt/debian/proc -l umount /mnt/debian -l debian.sh #!/bin/bash chroot /mnt/debian/ /bin/bash

Počáteční nastavení Debianu na Turrisu Nyní již můžeme přejít do Debianu pomocí našeho skriptu debinit.sh. To že jsme na správném místě se přesvědčíme příkazem : cat /etc/issue který by měl dát odpověď typu: Debian GNU/Linux 8 \n \l Nyní je čas upravit instalační zdroje v souboru /etc/apt/sources.list pomocí vašeho oblíbeného editoru na: deb http://ftp.de.debian.org/debian-ports unstable main deb http://ftp.de.debian.org/debian-ports experimental main deb http://ftp.de.debian.org/debian-ports unreleased main Než přistoupíme k aktualizaci systému musíme upravit jednu nepříjemnou věc. Nové balíky libc6 a libc6-dev pro Debian PPCSPE jsou rozbité a jejich instalací uvedeme systém do nepoužitelného stavu. Je nutné zakázat jejich instalaci: echo "libc6-dev hold" dpkg --set-selections echo "libc6 hold" dpkg --set-selections a teprve nyní můžeme přistoupit k aktualizaci: apt-get update apt-cache gencaches apt-get upgrade apt-get dist-upgrade a k instalaci dalších balíků. Např. Pro Midnight commander: apt-get install mc Je možné, že kvůli závislosti na nových verzích libc6 se některé balíky nainstalovat nepodaří, ale vhodným střídáním ap-get a aptitude se dá dosáhnout hodně. Čas od času je nutné sáhnout i po kalibru typu apt-get install -f. Po prvním apt-get update pravděpodobně obdržíme zprávu o chybějícím klíči, která se bude opakovat: W: GPG error: ftp://ftp.debian.org/ testing Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A53AB45AC448326E Pro její odstranění provedeme následující kroky: gpg --keyserver pgpkeys.mit.edu --recv-key A53AB45AC448326E gpg -a --export A53AB45AC448326E apt-key add -

Z Debianu zpět do Turrisu se v případě potřeby odhlásíme klasicky příkazem exit anebo klávesovou zkratkou Ctrl+D. Do Debianu se naopak vrátíme pomocí skriptu debian.sh. Jsmeli v Turrisu a chceme odpojit všechny zdroje, které Debian používá užijeme skript debout.sh. Instalace OpenHab Předpokládejme, že jsme nyní přihlášení v Debianu na Turrisu. Pro správnou funkci OpenHabu potřebujeme nainstalovanou javu. K dispozici máme openjdk ve verzích 6, 7 i 8. My jsme použili verzi 7, takže instalace proběhla takto: apt-get install openjdk-7-jdk openjdk-7-jre Po úspěšné instalaci, již můžeme nainstalovat a rozběhnout OpenHab dle instrukcí na stránce [7]. Po úspěšném rozběhnutí můžeme začít OpenHab konfigurovat. Ale to už je jiný příběh. Použitá Literatura [1] CZ.NIC. Project:Turris [online]. 2013 [cit. 2015-02-16]. Dostupné z: https://www.turris.cz/cs/ [2] OpenHAB - empowering the smart home [online]. 2015 [cit. 2015-02-16]. Dostupné z: http://www.openhab.org/ [3] Obnova systému a zavaděče z SD karty. <i>project:turris</i> [online]. 2013 [cit. 2015-02- 17]. Dostupné z: https://www.turris.cz/doc/troubleshooting/obnova_systemu_z_sd [4] PowerPCSPEPort. Debian Wiki [online]. 2013 [cit. 2015-02-17]. Dostupné z: https://wiki.debian.org/powerpcspeport [5] HOW-TO: Install Debian using debootstrap. Linuxquestions.org [online]. 2013 [cit. 2015-02-17]. Dostupné z: http://www.linuxquestions.org/questions/debian-26/how-to-install-debianusing-debootstrap-4175465295/ [6] [SOLVED] dependency problems prevent configuration of libc6-dev. Http://ilostmynotes.blogspot.cz [online]. 2012 [cit. 2015-02-17]. Dostupné z: http://ilostmynotes.blogspot.cz/2012/11/solved-dependency-problems-prevent.html [7] Getting Started. OpenHab: Getting Started [online]. 2015 [cit. 2015-02-26]. Dostupné z: http://www.openhab.org/gettingstarted.html