OpenEmbedded Marcin Juszkiewicz



Podobne dokumenty
HaeRWu Marcin Juszkiewicz. OpenEmbedded. Wprowadzenie. Marcin Juszkiewicz. Poznań OpenEmbedded.

Spis treści. Wstęp... 10

Tworzenie oprogramowania

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj Poznań, Polska

DLACZEGO DYSTRYBUCJE NIE OBSŁUGUJĄ MOJEGO URZĄDZENIA? Marcin Juszkiewicz Software Engineer

Linux is linux is linux?

Otwarte oprogramowanie w systemach wbudowanych i pomiarowych. Rok akademicki: 2015/2016 Kod: EEL PT-s Punkty ECTS: 3

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko

EMBEDDED LINUX ON ARM9 CORE EMBEDDED LINUX NA PROCESORACH Z RODZINY ARM9

Embedded GNU/Linux. Krzysztof Mazur

MAMP Mac + Apache + MySQL + PHP. Kraków 8 czerwca 2009, Adam Strzelecki,

SPECYFIKACJA TECHNICZNA OPROGRAMOWANIA

Dokumentacja kompilacji źródeł aplikacji 1.0

Komputery bezdyskowe - wprowadzenie

Kernel Kompilacja jądra

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Gdy dystrybucja Linuksa staje się niepotrzebna

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Linux - System Wbudowany

Środowiska i platformy programistyczne

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Spis treści. O autorze 9. O recenzentach 10. Przedmowa 13. Rozdział 1. Oto Linux Mint 17_

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

April 20, 2015 KSEM WETI PG. Programowanie Systemów Wbudowanych. Kompilacja OS dla systemu wbudowanego. OpenEmbedded.

System UNIX 2. Micha l Tanaś, PhD Adam Mickiewicz University, Faculty of Physics Michal.Tanas@amu.edu.

Systemy operacyjne na platformach mobilnych 2 Wstęp do systemu Linux

Programowanie w C. dr inż. Stanisław Wszelak

Kompilacja jądra systemu Linux

Spis treści. Wstęp... 17

K. Konopko; Toolchain. Toolchain. dr inż. Krzysztof Konopko

RAPORT KOŃCOWY PROJEKTU

System kontroli dostępu ACCO NET Instrukcja instalacji

GIT. Rozproszony system kontroli wersji

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Thinkcore W325A. Pełny opis produktu. Wbudowany komputer przemysłowy z GSM/GPRS, 1x LAN, 2x RS-232/422/485, SD, RISC CPU. [Nowy moduł GSM/GPRS]

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Jesień Linuksowa - Embedded Linux Security

Materiały dodatkowe. Raspberry Pi

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

Tworzenie plików w formacie DjVu z wykorzystaniem oprogramowania DocumentExpress Enterprise Edition

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Pracownia Technik Obliczeniowych

Metody analizy ruchu sieciowego

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

System Zarządzania Dystrybucją

TECHNOLOGICALLY TOUCHED

Sprawozdanie z zadania 2. Artur Angiel, śr. 12:15

Konfiguracja i kompilacja jądra Linux. Based on Free Electrons

Niezbędne narzędzia. Przed rozpoczęciem pracy z PHP należy zainstalować odpowiednie narzędzia: środowisko PHP serwer WWW serwer baz danych MySQL

Instrukcja instalacji oprogramowania dla środowiska Windows

Pomoc: konfiguracja PPPoE

Programowanie Systemów Wbudowanych

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

Linux Kernel. Michał Kulling.

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

Budowanie interfejsów do baz danych

Uruchomienie Raspberry Pi

Systemy czasu rzeczywistego wstęp

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Embedded Systems z Linuksem w tle Czym są Embedded Systems?

FORMA SZKOLENIA MATERIAŁY SZKOLENIOWE CENA CZAS TRWANIA

Programowanie niskopoziomowe

Programista do działu testów PDT/1401/T/TBG

Linux -- u mnie działa!

Podstawy programowania w Qt4

Zastosowanie emulatorów w rozbudowie systemów wbudowanych

Historia systemów operacyjnych - Unix

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

Automatyczna instalacja oraz zmiana konfiguracji w ramach całego klastra.

Nowe produkty w ofercie Red Hat

Oprogramowanie Alternatywne

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

Produkty. ESET Produkty

Opis administracji terminali ABA-X3 v.1.5.0

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

7. zainstalowane oprogramowanie zarządzane stacje robocze

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Wybrane środowiska szybkiego prototypowania

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Dystrybucje Linuksa c.d.

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

egroupware czy phpgroupware jest też mniej stabilny.

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

REFERAT PRACY DYPLOMOWEJ

Transkrypt:

OpenEmbedded Marcin Juszkiewicz

Budowanie ręczne Skąd wziąć kompilator? Czy będzie on wspierał moje urządzenie? Która biblioteka jest potrzebna do zbudowania XYZ? Dlaczego nie mogę skompilować POX? Oops, jeszcze ta łatka jest potrzebna... znów 6h na budowanie... Ufff... zbudowało się. Ale dlaczego to nie działa?!?!?@?!? @!@!$@%@$!!!!!

Czym jest OpenEmbedded? zbiorem metadanych służących do określenia jak budować oprogramowanie w pełni otwartym rozwiązaniem problemów z kompilacją skrośną systemem rozwijanym przez pasjonatów projektem niezależnym od żadnej firmy komercyjnej narzędziem umożliwiającym budowanie pojedynczych programów, toolchainów a także całych dystrybucji za pomocą jednej komendy narzędziem tworzącym systemy plików gotowe do użycia na docelowych urządzeniach odpowiedzią na dystrybucje wymagające 200 MiB dysku na podstawowy system (X11 + GPE + PIM == 16MiB Flash)

Możliwości OpenEmbedded budowanie programów, toolchainów, SDK, filesystemów i całych dystrybucji bezproblemowa obsługa kompilacji skrośnej budowanie wszystkich potrzebnych narzędzi oraz bibliotek przed kompilacją docelowego pakietu budowanie z zależnościami od docelowego urządzenia, dystrybucji, architektury obsługa wielu architektur sprzętowych oraz optymalizacje dla poszczególnych wersji (np. XScale kontra EP93xx) wspieranie soft-float dla ARM i PowerPC (dla wersji bez FPU) niezależność od dystrybucji i architektury automatycznie generowane zależności pomiędzy pakietami prosty format opisów pakietów, urządzeń docelowych duża granulacja pakietów (dokumentacja osobno, lokalizacje osobno) możliwość definiowania dowolnej liczby zadań w ramach pakietu możliwość kooperacji różnych projektów w ramach jednych metadanych

Formaty wyjściowe Pakiety: Filesystemy: ipkg cpio deb cramfs tarball squashfs (także z lzma) rpm jffs2 ext2/ext3 tarball (tar, gz, bzip2)

BitBake OpenEmbedded to tylko dane. BitBake wykonuje całą pracę. napisany w Pythonie (min. wersja 2.3) parser metadanych OE odpowiada za wykonywanie zadań odpowiedzialnych za budowanie zawiera moduły pobierające dane z FTP, HTTP, CVS, SVN, SVK, GIT, Perforce umożliwia wielowątkowe budowanie pierwotnie część OpenEmbedded, wydzielony jako projekt w 2004 roku W planach: architektura client<>server UI (dumb, ncurses, gtk, qt)

Wykonywane zadania do_fetch do_unpack do_patch do_configure do_compile do_install do_package do_package_write do_package_qa do_populate_staging do_deploy do_build

Przykładowy opis pakietu DESCRIPTION = "Linux Kernel" SECTION = "kernel" LICENSE = "GPL" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.19.tar.bz2 \ file://defconfig" SRC_URI_append_progear = "file://progear_bl-r5.patch;patch=1" S = "${WORKDIR}/linux-2.6.19" inherit kernel KERNEL_IMAGETYPE = "bzimage" do_configure_prepend() { } install -m 0644 ${WORKDIR}/defconfig ${S}/.config

Oprogramowanie ponad 4000 gotowych recept opisujących różne biblioteki, programy, pliki konfiguracyjne wybór Glibc lub uclibc gcc 3.3/3.4/4.1 różne środowiska graficzne (GPE, OPIE, XFCE, Enlightment) usługi sieciowe języki programowania (m.in. Mono, Perl, Php, Python, Ruby) bootloadery (m.in. grub, apex, u-boot) narzędzia developerskie/testowe

Klasy wspierające Klasy wspierające mogą dodawać/modyfikować zadania oraz zmienne. autotools binconfig cpan distutils icecc gpe kernel opie pkgconfig rubyextension xfce

Wspierane urządzenia palmtopy webpady routery serwery plików różne devboardy komputery domowe settopboksy telefony

Przykładowy opis urządzenia #@NAME: Progear #@DESCRIPTION: Machine configuration for Progear 1050HX+ webpad TARGET_ARCH = "i686" PACKAGE_EXTRA_ARCHS = "x86 i386 i486 i586" PREFERRED_PROVIDER_virtual/kernel = "linux" MACHINE_FEATURES = "kernel26 usbhost ext2 pci pcmcia screen alsa irda acpi" IMAGE_FSTYPES = "tar.gz" MACHINE_EXTRA_RRECOMMENDS = "\ progear-ac progear-battery kernel-module-snd-ali5451 \ kernel-module-i2c-ali1535 kernel-module-i2c-ali15x3 \ kernel-module-yenta-socket"

Cechy urządzeń i dystrybucji Urządzenie: acpi alsa apm bluetooth ext2 irda kernel24/kernel26 keyboard pci pcmcia phone screen usbgadget usbhost wifi Dystrybucja: alsa bluetooth cramfs ext2 ipsec ipv6 irda nfs pci pcmcia ppp smbfs usbgadget usbhost wifi

Kto używa OpenEmbedded Dystrybucje: Firmy, organizacje, uczelnie: Ångström Familiar JLime Nylon OpenOmap OpenSlug OpenZaurus 4G Systems AMD BEC Systems CELF (Consumer Electronics Linux Forum) Dream Multimedia TV FIC / OpenMoko Kernel Concepts M&N Solutions OpenedHand Techsol Wolfson Microelectronics Plc University of Twente (Holandia) University of Frankfurt

Dystrybucja Ångström Jedna dystrybucja obsługująca wszystkie urządzenia Obsługa najnowszych technologii dostępnych w świecie embedded Pierwsza dystrybucja wykorzystująca ARM EABI Używana przez developerów Debiana do prac nad portem armel

Przykładowa dystrybucja #@NAME: OpenOMAP #@DESCRIPTION: OE Distribution for TI OMAP Development Boards INHERIT += " package_ipk debian multimachine" TARGET_OS = "linux" TARGET_FPU = "soft" PREFERRED_VERSION_linux-omap1_omap5912osk?= "2.6.18-omap1" # toolchain PREFERRED_VERSION_gcc = "4.1.1" PREFERRED_VERSION_gcc-cross = "4.1.1" PREFERRED_VERSION_gcc-cross-initial = "4.1.1" PREFERRED_VERSION_binutils = "2.17" PREFERRED_VERSION_binutils-cross = "2.17" PREFERRED_VERSION_linux-libc-headers = "2.6.15.99" PREFERRED_VERSION_glibc = "2.4" PREFERRED_VERSION_glibc-intermediate = "2.4" # We want images supporting the following features (for task-base) DISTRO_FEATURES = "nfs pcmcia usbhost" PCMCIA_MANAGER = "pcmciautils"

Efekt 3 lata rozwoju 45 developerów z prawem zapisu 260 osób na developerskiej liście mailingowej kilkanaście dystrybucji zbudowanych w oparciu o OpenEmbedded ponad 100 tysięcy użytkowników naszych dystrybucji wspierane wszystkie platformy używane w systemach embedded dla platformy ARM obsługa soft-float/hard-float, OABI/EABI soft-float/hard-float także dla architektury PowerPC działające systemy zawarte w 2MiB pamięci

Pytania?

Kontakt Marcin Juszkiewicz www: http://www.hrw.one.pl/ mailto: mailto:haerwu@hrw.one.pl Jabber: hrw@jabber.org telefon: +48 608 093 708