Linux na mobilních telefonech

Podobné dokumenty
Linux na mobilních zařízeních

Linuxalt

Jaroslav Řezník Martin Šenkeřík Jozef Mlích

Jaroslav Řezník Martin Šenkeřík

PB071 Úvod do jazyka C

Vývoj aplikací v Qt pro mobilní zařízení

Linux na prapodivných deskách. LinuxDays 2017, Lenka Kosková Třísková Technická univerzita v Liberci

Monitorování sítě pomocí OpenWrt

Linux (nejen) v Low End routerech

Úvod do OpenWRT. Ondřej Caletka. 1. března Uvedené dílo podléhá licenci Creative Commons Uveďte autora 3.0 Česko.

Instalace Debianu pomocí debootstrap

Multiplatformní GUI toolkity

Zabezpečení mobilních bankovnictví

Sailfish X rok poté aneb co nového v posledním nezávislém mobilním OS. Martin Kolman

OpenWrt. Otevřený systém pro domácí routery. Martin Strbačka

Srovnání Linuxu a BSD z pohledu jádra. Jan Dyrczyk

Základy programování (IZP)

Technická specifikace: MĚÚ Nové Město na Moravě

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Projekt Datové schránky

Profesionální služby kolem Linuxu

Seznámení s open source vývojem a open source řešeními pro mobilní zařízení

úvod Historie operačních systémů

Základy programování (IZP)

Liberix o.p.s. Free & Open Source software. Jazyky C, C++ Autotools. Jazyky Perl, Python, Ruby. Knihovny pro tvorbu oken.

Mini PC ITV26. Návod k použití

Vývoj pro Maemo a iné platformy

Instalace Linux Debian ve VirtualBoxu JAKUB MAZUCH BŘEZEN 2018

Programovací jazyky Přehled a vývoj

modrana: flexibilní navigační systém Martin Kolman

C2184 Úvod do programování v Pythonu podzim Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita. Úvod.

Miroslav Tichý, tic136

C2184 Úvod do programování v Pythonu podzim Mgr. Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita.

Základní informace. Operační systém (OS)

VYUŽITÍ PYTHONU PRO REALTIMOVÉ ŘÍZENÍ PERIFERIÍ

Instalace a konfigurace web serveru. WA1 Martin Klíma

Využití opensource při stavbě infrastrukturního cloudu Martin Kopta

pouˇzití USB nebo SPI

Software. Mgr. Krejčí Jan (UJEP) Software 23. října / 6

Vývoj software pro Linuxové distribuce. Installfest Praha,

1. Informace a informatika

Simluátor Trilobota. (projekt do předmětu ROB)

OpenWrt. Cesta do hlubin otevřeného systému pro domácí routery. Martin Strbačka

99 % všech desktopů na platformě MS Windows

Paralelní výpočty na clusteru KMD

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13

T-Mobile Internet. Manager. pro Windows NÁVOD PRO UŽIVATELE

Software. RNDr. Krejčí Jan, Ph.D. 5. listopadu RNDr. Krejčí Jan, Ph.D. (UJEP) Software 5. listopadu / 6

Technická specifikace: MĚÚ Nové Město na Moravě

Vestavné systémy BI-VES Přednáška 10

Příručka aplikace KMix. Gaurav Chaturvedi Vývojář: Christian Esken Vývojář: Helio Chissini de Castro Vývojář: Brian Hanson

Jak funguje GNU/Linux

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

Základy informatiky. Operační systémy

09. Operační systémy PC 1. DOS. Nejdůležitější zástupci DOSu:

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

T-Mobile Internet. Manager. pro Mac OS X NÁVOD PRO UŽIVATELE

Operační systém GNU/Linux

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Návod k obsluze. Platforma RouterBoard s přeinstalovaným RouterOS Mikrotik. i4wifi a.s.

BM100. Kompaktní bezventilátorový IPC z rodiny Intel Apollo Lake. REM-Technik je výhradním partnerem společnosti ASEM na českém a slovenském trhu.

Administrace počítačových sítí. WEB a LPT

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

dostat zdroják Petr Zemek Fakulta informačních technologií VUT v Brně izemek

SOU Valašské Klobouky. VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled. Mgr. Radomír Soural

ak. rok 2013/2014 Michal Španěl,

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

Alpine Linux: minimalistická distribuce nejen na server

SADA VY_32_INOVACE_PP1

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

MOBILNÍ TELEFON HUAWEI P9 LITE DUALSIM MOBILNÍ TELEFON, DOTYKOVÝ, 5,2" DISPLEJ, 16 GB, 2 GB RAM, ANDROID 6, ZLATÝ

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

Chytré telefony pohledem operátora. Petr Dvořáček, Jan Fišer, T-Mobile Czech Republic a.s

Příručka pro rychlé uvedení do provozu USB modem Vodafone Mobile Broadband K4607-Z. Navrženo společností Vodafone

SSH: dálková správa serveru

NÁVOD K POUŽITÍ Kamera CEL-TEC S3000 Wifi IR

Návod k obsluze. Spionazni-technika.cz Stránka 1

Co je to počítač? Počítač je stroj pro zpracování informací Jaké jsou základní části počítače? Monitor, počítač (CASE), klávesnice, myš

Systémový software Operační systémy

NOTEBOOK DELL INSPIRON 13Z 5000 TOUCH NOTEBOOK, I5-7200U, 4GB, 128GB SSD, 13.3" FHD DOTYKOVÝ, W10, ŠEDÝ, 2YNBD ON-SITE

Free & Open Source software. Liberix. prezentací. Open Source. software. Free Software. projektů pro studenty. Rekapitulace. Liberix o.p.s.

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

IT ESS II. 1. Operating Systém Fundamentals

Zpracování signálu z obrazového senzoru

DEDIKOVANÉ A MANAGED SERVERY GREENHOUSING JEDNODUCHÁ CESTA K PROFESIONÁLNÍMU SERVERHOSTINGU A VIRTUALIZACI

izákladna chytré řešení pro instalaci, monitoring, synchronizaci a backup/restore SW dotykových zařízení

Bezpečný router pro domácí uživatele. Bedřich Košata

05. Operační systémy PC 1. DOS. Nejdůležitější zástupci DOSu:

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

LINUX A JEHO DISTRIBUCE

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

VirtualBox desktopová virtualizace. Zdeněk Merta

10 490,- ACER NTB TMP253-E-20204G75Mnks ,- AKČNÍ NABÍDKA PRODUKTů

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

Matematika v programovacích

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Implementace numerických metod v jazyce C a Python

Instalace webové služby Mydlinka

Embedded vývoj v Clutteru a Mx

Transkript:

Linux na mobilních telefonech Jozef Mlích Department of Computer Graphics and Multimedia Brno University of Technology, Faculty of Information Technology Božetěchova 2, 612 66 Brno, Czech Republic imlich@fit.vutbr.cz Tvorba aplikací pro mobilní zařízení 26. 10. 2009 TAM 2009 1 / 29

Agenda Motivace Hardware Architektura Přehled distribucí Cross kompilace TAM 2009 2 / 29

Motivace TAM 2009 3 / 29

Motivace Linux je otevřený, takže můžeme zkoumat jak věci fungují a přizpůsobovat ho jak potřebujeme. Můžeme programovat a používat nové aplikace bez podepisování NDA (dohoda o mlčenlivosti) a placení licencí nebo jiných výpalných. Můžeme aktualizovat celý operační systém, připadně vyměnit za jinou distribuci.. Proč dělat něco co už máme hotové na desktopu? TAM 2009 4 / 29

Hardware Greenphone (2006) Openmoko GTA 01 GTA 02 (2008/6) GTA 03 / Plan B Nokia N900 HTC Dream TAM 2009 5 / 29

Hardware CPU ARM, málo paměti, SD karta Dotykový display / klávesnice LED GSM (GPRS, EDGE, 3G), WiFi, BT GPS Akcelerometry Vibrátor Kamera Napajení / Datový konektor (idealně USB) TAM 2009 6 / 29

Architektura Bootloader Jádro + baseos (libc, etc.) je to jediné společné pro všechny To co odlišuje jednotlivé distribuce je middleware a sada základních aplikací Mezivrstva pro komunikaci s HW Správce oken Seznam kontaktů, SMS,.. Vykreslování X Server Přímo do framebufferu TAM 2009 7 / 29

Přehled distribucí Google Android OpenEmbeded, Openmoko Hackable:1 LiMo Motomagx Maemo Qt Extended Moblin WebOS TAM 2009 8 / 29

Google Android 1 / 3 U běžně prodávaných telefonů nedostanete rootovské heslo ) ; TAM 2009 9 / 29

Google Android 2 / 3 Architektura TAM 2009 10 / 29

Google Android 3 / 3 Debug Bridge adb install push/pull logcat shell TAM 2009 11 / 29

Openmoko Timeline.. Gentoo OpenEmbeded Openmoko FSO Bitbake Ipkg / Opkg TAM 2009 12 / 29

Openmoko Architektura TAM 2009 13 / 29

Openmoko ukázky UI Openmoko UI, Qt Extended, E17 TAM 2009 14 / 29

Openmoko ukázky aplikací TAM 2009 15 / 29

Openmoko prostor pro inovace Finger friendly UI Stylus friendly UI Numpty physics hra qwo alternativní klávesnice Akcelerometry Gestures (ovládání pomocí akcelerometrů) Krokoměr, Vibroměr, Vodováha, Speechd / rozpoznání řeči Audio Location based applications Podle GPS nebo podle signálu dostupných BTS TAM 2009 16 / 29

Filesystem NAND paměti mají jiné fyzikální vlastnosti než klasické disky FAT Běžně na SD kartách (foťáky, apod) Pozor na patenty!! ext2/ext3/reiserfs Běžně linuxové systémy (mají určité vlastnosti) Vhodné pro nand jffs2 TAM 2009 17 / 29

Přímý přístup k hardware Akcelerometry /dev/input/event3 echo 1 > /sys/devices/platform/gta02 led.0/leds\:gta02 aux\:red/brightness echo 0 > /sys/bus/platform/devices/neo1973 pm gsm.0/power_on LED: GSM TAM 2009 18 / 29

Pomocí DBUS / FSO mdbud s org.freesmartphone.frameworkd /org/freesmarphone/device/powercontrol/bluetooth SetPower 1 mdbus s org.freesmartphone.ogsmd /org/freesmartphone/gsm/device org.freesmartphone.gsm.device.getinfo mdbus s org.freesmartphone.ogsmd /org/freesmartphone/gsm/device org.freesmartphone.gsm.sms.sendmessage 0049987654321 "test message" [] TAM 2009 19 / 29

Interpretované jazyky Bash Perl Python... Jak na to? Stáhne se interpret přeložený pro příslušnou architekturu, nakopiruje se skript a spustí se no problem TAM 2009 20 / 29

Python Ukázka přečtení SMS Ukázka odeslání SMS TAM 2009 21 / 29

Cross compilation Proč nepřekládáme nativně? Příprava na překlad toolchain pro ARM architekturu stačí stáhnout příslušný.deb balíček, případně devkit např. http://downloads.openmoko.org/developer/toolchains/ Co je toolchain a co umí? překladač + knihovny Můžeme ho spustit na desktopu. Vytvořená binárka se dá pustit na jiné architektuře Jake knihovny? Všechny! Od libc až po gtk. ( opkg cl ) TAM 2009 22 / 29

Cross compilation hello world $ vi main.c $ /usr/local/openmoko/arm/bin/arm angstrom linux gnueabi gcc./main.c g o hello $ scp hello root@192.168.0.202:/tmp $ ssh root@192.168.0.202 $./hello TAM 2009 23 / 29

Cross compilation Makefile $ vi Makefile main: main.o $ make $. /usr/local/openmoko/arm/bin/setup env $ rm f main main.o $ make TAM 2009 24 / 29

Cross compilation knihovny, autotools, etc. Překlad na více platformách je vždy problem Různé distribuce mají knihovny jinde gcc hello_camera.c `pkg config cflags libs opencv` Integer nemusí být 32 bit, FPU nemusí být vůbec ASM část kódu můžeme úplně zahodit.. Různé nástroje se to snaží řešit autotools, cmake, imake,... TAM 2009 25 / 29

Cross compiling autotools autoreconf, aclocal, autoconf, autoheader, automake, libtoolize Makefile.am + configure.ac autoreconf./configure make TAM 2009 26 / 29

Balíčkování Balíčkování (ipkg s autotools) Nezapomenout.desktop a /share/pixmaps/* $ om make ipkg. tangogps.control TAM 2009 27 / 29

Balíčkování Build service Nejlepší možnost je vyrobit skript, který umožňuje automatické zabalíčkování a zařazení do distribuce. V debianu / ubuntu / hackable:1 /... $ dhmake V gentoo / OpenEmbeded / openmoko bitbake TAM 2009 28 / 29

Literatura http://developer.android.com/guide/basics/ http://wiki.openmoko.org Linux From Scratch http://www.linuxfromscratch.org/ TAM 2009 29 / 29