Plan Szkolenia

Plan szkolenia

Wprowadzenie

  • historia Unix/Linux, licencje, standardy, praca z wolnym oprogramowaniem, szukanie pomocy, eksploracja, filozofia Unix

Specyfika systemów wbudowanych

  • Linux na desktopie w porównaniu do Linuxa w systemie wbudowanym, łańcuchy narzędziowe cross-/native, prekompilowane łańcuchy narzędziowe, systemy budowania, biblioteki C,...

Płyta ewaluacyjna

  • Jak się uruchamia? Zobacz uruchamianie

Wprowadzenie do Yocto

  • Czym jest Yocto? Dlaczego używać YP? Czym jest YP?, Poky, BitBake, OE-Core, Metadane

YP Autobuilder

  • Czym jest YP Autobuilder?, Kontener Docker (pobieranie, uruchamianie kontenera)

Przepływ pracy YP

  • Wprowadzenie
  • Przepływ pracy, architektura OE
  • Konfiguracja (Użytkownik, Metadane, Maszyna, Polityka dystrybucji)
  • Źródła
  • Budowanie (Pobieranie źródeł, Łatanie, Konfiguracja/Kompilacja/Instalacja, Pseudo, Przykłady przepisów, Analiza wyników/Pakowanie, Generowanie obrazu, Generowanie SDK)
  • Dostosowywanie obrazów (Wprowadzenie, local.conf, IMAGE_FEATURES, niestandardowe pliki .bb, niestandardowe grupy pakietów)

BitBake

  • Historia
  • Składnia
  • Debugowanie (poziom debugowania, znajdowanie przepisów/obrazów/grup pakietów, środowisko/zadania/logowanie BitBake, wymuszenie budowania/konkretnego zadania, cleansstate, unieważnienie stempla, devshell, eksplorator zależności, zabicie wszystkich instancji BitBake, graficzna nakładka BitBake)

Warstwy

  • Wprowadzenie, narzędzie bitbake-layers, narzędzie yocto-layer

BSP

  • Wprowadzenie, Przepływ pracy rozwoju systemu, Przewodnik dewelopera BSP (narzędzie bsp-tool)

Jądro

  • Wprowadzenie, Przepływ pracy rozwoju systemu, Podręcznik rozwoju jądra (defconfig, defconfig + fragment konfiguracji, moduł jądra w drzewie, moduł jądra poza drzewem, fdt,...)

Zestaw narzędzi do rozwoju aplikacji

  • Wprowadzenie, Łańcuch narzędziowy do rozwoju krzyżowego, Sysroot, Wtyczka Eclipse Yocto, Emulator QEMU, Narzędzia przestrzeni użytkownika
  • Instalowanie ADT & łańcuchów narzędziowych
    • Używanie archiwum krzyżowego łańcucha narzędziowego (Wprowadzenie, Budowanie/Instalowanie archiwum krzyżowego łańcucha narzędziowego, Krzyżowy łańcuch narzędziowy + Makefile/Autotools/Autotools lib + App, przepisy)
    • Używanie instalatora ADT (Wprowadzenie, Serwer WWW, Budowanie obrazu + instalator ADT, Konfiguracja + uruchomienie instalatora ADT, dodanie instalatora ADT do serwera WWW, instalator ADT na hoście)

Eclipse

  • Wprowadzenie, Przepływ pracy rozwoju aplikacji
  • Praca z Eclipse (funkcje rootfs, jądro + fdt, rootfs, instalacja JDK, instalacja Eclipse, konfiguracja Eclipse, instalacja wtyczki Yocto, konfiguracja wtyczki Yocto, tworzenie projektu Autotooled, konfiguracja krzyżowych łańcuchów narzędziowych, budowanie projektu)

Debugowanie

  • Wprowadzenie, gdb, zdalne debugowanie gdb, (zdalne) Debugowanie z Eclipse, (zdalne) Uruchamianie z Eclipse

Profilowanie/Śledzenie

  • Wprowadzenie, perf, gprof, gcov, strace, ftrace, systemtap, oprofile, LTTng + Eclipse (wizualizacja danych)

Zarządzanie pakietami

  • Praca z pakietami, IPK, tworzenie kanału pakietów, instalowanie pakietu za pomocą opkg na docelowym urządzeniu

Licencjonowanie

  • Wprowadzenie, Dodawanie niestandardowej licencji, Zgodność z licencjami Open Source

Devtool

  • Wprowadzenie, devtool, rzeczywisty przykład meta-cfengine

Z wyjątkiem miejsc, w których zaznaczono inaczej, treść i plan tego szkolenia są licencjonowane na podstawie Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Wymagania

Wymagania wstępne

  • Podstawowa znajomość systemu GNU/Linux (np. Ubuntu) jako użytkownik końcowy w przestrzeni użytkownika
  • Podstawowa znajomość pracy z wierszem poleceń
  • Podstawowa wiedza na temat programowania w przestrzeni użytkownika/jądra w GNU/Linux
  • Średnia znajomość programowania w języku C
  • Powinieneś uczestniczyć w szkoleniu Embedded GNU/Linux Systems Architecture (5 dni)  (zalecane!), chyba że już znasz materiał przedstawiony na tych szkoleniach.
  • Musisz mieć doświadczenie z Embedded GNU/Linux (jądro, przestrzeń użytkownika, system plików root, narzędzia), aby móc uczestniczyć w szkoleniu Yocto.
  • Może być pomocne, jeśli uczestniczyłeś w szkoleniu Embedded GNU/Linux Device Drivers and Kernel Internals (5 dni), ale nie jest to wymóg. Wystarczy wiedzieć, jak zbudować jądro GNU/Linux, sterowniki jądra w/poza drzewem oraz fdt z perspektywy jądra, aby móc uczestniczyć w szkoleniu Yocto.
 28 godzin

Liczba uczestników


Cena za uczestnika

Opinie uczestników (1)

Propozycje terminów

Powiązane Kategorie