The Yocto Project - An Overview - hands-on ( yp1 | 28 hours )

Prerequisites:

Wymagania wstępne

  • Podstawowa znajomość korzystania z systemu GNU/Linux (np. Ubuntu) jako użytkownik końcowy w przestrzeni użytkownika.
  • Podstawowa znajomość powłoki wiersza poleceń
  • Podstawowa znajomość programowania w przestrzeni użytkownika/jądra z GNU/Linux
  • Średnio zaawansowana znajomość programowania w języku C
  • Powinieneś uczestniczyć w Embedded GNU/Linux Systems Architecture (5 dni) (zdecydowanie zalecane!), chyba że jesteś już zaznajomiony z materiałem przedstawionym na tych szkoleniach.
  • W rzeczywistości musisz mieć doświadczenie z Embedded GNU/Linux (jądro, przestrzeń użytkownika, główny system plików, narzędzia), aby wziąć udział w szkoleniu Yocto.
  • Pomocne może być uczestnictwo w szkoleniu Embedded GNU/Linux Device Drivers and Kernel Internals (5 dni), ale nie jest to warunek konieczny. Wystarczy wiedzieć, jak zbudować jądro GNU / Linux, sterowniki jądra w / poza drzewem i fdt od strony jądra, aby przejść szkolenie Yocto.
Overview:

Opis

To czterodniowe szkolenie łączy teorię z praktycznymi ćwiczeniami w celu wprowadzenia Yocto Project.
Odpowiada na często zadawane pytania, takie jak:

  • Czy naprawdę konieczne jest używanie innej wersji toolchaina/bibliotek/pakietów dla każdego projektu GNU/Linux, a na dodatek stosowanie innego przepływu pracy?
  • Czy można zapewnić, że środowisko programistyczne jest identyczne dla wszystkich deweloperów/dostawców i że za ponad 10 lat nadal będzie można tworzyć identyczne kompilacje jak dziś?
  • Czy YP może pomóc dowiedzieć się, na jakich licencjach oprogramowania są licencjonowane używane pakiety?

Sesje praktyczne są przeprowadzane na docelowym sprzęcie (np. Beagle Bone Black Rev. C - http://beagleboard.org/BLACK). Po zakończeniu szkolenia będziesz mógł pobrać obraz docker z Ubuntu 14.x i wszystkimi preinstalowanymi zależnościami oraz przykładami, aby pracować z materiałem kursu we własnych laboratoriach. Należy pamiętać, że nie jest to kurs wprowadzający do Embedded GNU/Linux. Powinieneś już wiedzieć, jak działa Embedded GNU/Linux i jak skonfigurować / zbudować jądro GNU/Linux i sterowniki jądra.

Kto powinien wziąć udział?

Używasz już GNU/Linux w swoich projektach i prawdopodobnie słyszałeś o Yocto Project, ale nie odważyłeś się przyjrzeć mu bliżej lub miałeś trudności z jego użyciem. Nie wiesz, czy i jak twój codzienny przepływ pracy może być dostosowany do YP i ogólnie uważasz, że YP jest raczej skomplikowany. Po co nam to wszystko, skoro wcześniej wszystko było (podobno) o wiele łatwiejsze? Po szkoleniu powinieneś być w stanie zdecydować, czy potrzebujesz YP, czy nie. Warsztaty skierowane są do programistów, programistów, inżynierów systemowych, testerów, administratorów, inżynierów i innych osób zainteresowanych YP, z solidną znajomością Embedded GNU/Linux.

Course Outline:

Konspekt szkolenia

Wstęp

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

Wbudowane specyfikacje

  • Linux na pulpicie w porównaniu do Linux w systemie osadzonym, międzynatywne/natywne łańcuchy narzędzi, gotowe łańcuchy narzędzi, systemy kompilacji, biblioteki C,...

Tablica ewaluacyjna

  • Jak się uruchamia?, Zobacz, jak się uruchamia

Wprowadzenie Yocto

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

Twórca samochodów YP

  • Co to jest YP Autobuilder?, Docker kontener (wyciągnij, uruchom kontener)

Przepływ pracy YP

  • Wprowadzenie
  • Przepływ pracy, architektura OE
  • Konfiguracja (użytkownik, metadane, maszyna, zasady dystrybucji)
  • Źródła
  • Kompilacja (pobieranie źródeł, łatanie, konfiguracja/kompilacja/instalacja, pseudo, przykłady receptur, analiza wyników/pakowanie, generowanie obrazu, generowanie SDK)
  • Dostosowywanie obrazów (Intro, 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 BitBake/zadania/rejestrowanie, wymuszanie kompilacji/konkretne zadanie, stan czyszczenia, unieważnianie stempla, devshell, eksplorator zależności, zabijanie wszystkich instancji BitBake, opakowanie graficzne BitBake)

Warstwy

  • Wprowadzenie, narzędzie do tworzenia warstw bitbake, narzędzie do tworzenia warstw yocto

BSP

  • Wprowadzenie, Przepływ pracy w zakresie rozwoju systemu, Podręcznik programisty BSP (bsp-tool)

Jądro

  • Wprowadzenie, przepływ pracy związany z tworzeniem systemu, podręcznik tworzenia jądra (defconfig, defconfig + fragment konfiguracji, kmod w drzewie, kmod poza drzewem, fdt,…)

Zestaw narzędzi do tworzenia aplikacji

  • Wprowadzenie, Cross-Development Toolchain, Sysroot, wtyczka ADT-Eclipse Yocto, emulator QEMU, narzędzia przestrzeni użytkownika
  • Instalowanie ADT i łańcuchów narzędzi
    • Korzystanie z archiwum tar Cross-Toolchain (Wprowadzenie, tworzenie/instalowanie archiwum tar Cross-Toolchain, Cross-Toolchain + Makefile/Autotools/Autotools lib + aplikacja, przepisy kulinarne)
    • Korzystanie z instalatora ADT (Wprowadzenie, Web Server, Zbuduj obraz + instalator ADT, Skonfiguruj + uruchom instalator ADT, dodaj instalator ADT do serwera WWW, instalator ADT na hoście)

Zaćmienie

  • Wprowadzenie, proces tworzenia 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, konfigurowanie Cross-Toolchains, budowanie projektu)

Debugowanie

  • Wprowadzenie, gdb, zdalne debugowanie gdb, (gdb Remote) Debugowanie za pomocą Eclipse, (zdalnie) Uruchom z Eclipse

Profilowanie/śledzenie

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

Pakiet Management

  • Praca z pakietami, IPK, tworzenie kanału pakietowego, instalowanie pakietu z opkg na celu

Koncesjonowanie

  • Wprowadzenie, Dodaj licencję niestandardową, Zgodność z licencją Open Source

Narzędzie deweloperskie

  • Wprowadzenie, narzędzie deweloperskie, prezentacja meta-cfengine w świecie rzeczywistym

O ile nie zaznaczono inaczej, treść i niniejszy zarys kursu są objęte licencją na podstawieUznanie autorstwa-Użycie niekomercyjne-Na tych samych warunkach 4.0 Międzynarodowe (CC BY-NC-SA 4.0).

Sites Published:

Qatar - The Yocto Project - An Overview - hands-on

Egypt - The Yocto Project - An Overview - hands-on

Saudi Arabia - The Yocto Project - An Overview - hands-on

Brasil - The Yocto Project - An Overview - hands-on

澳門 - The Yocto Project - An Overview - hands-on

台灣 - The Yocto Project - An Overview - hands-on

Österreich - The Yocto Project - An Overview - hands-on

Schweiz - The Yocto Project - An Overview - hands-on

Deutschland - The Yocto Project - An Overview - hands-on

Czech Republic - The Yocto Project - An Overview - hands-on

Denmark - The Yocto Project - An Overview - hands-on

Estonia - The Yocto Project - An Overview - hands-on

Finland - The Yocto Project - An Overview - hands-on

Greece - The Yocto Project - An Overview - hands-on

Magyarország - The Yocto Project - An Overview - hands-on

Ireland - The Yocto Project - An Overview - hands-on

Israel - The Yocto Project - An Overview - hands-on

Luxembourg - The Yocto Project - An Overview - hands-on

Latvia - The Yocto Project - An Overview - hands-on

España - El Proyecto Yocto - Una Visión General - Práctico

Italia - The Yocto Project - An Overview - hands-on

Lithuania - The Yocto Project - An Overview - hands-on

Nederland - The Yocto Project - An Overview - hands-on

Norway - The Yocto Project - An Overview - hands-on

Portugal - The Yocto Project - An Overview - hands-on

România - The Yocto Project - An Overview - hands-on

Sverige - The Yocto Project - An Overview - hands-on

Türkiye - The Yocto Project - An Overview - hands-on

Malta - The Yocto Project - An Overview - hands-on

Belgique - The Yocto Project - An Overview - hands-on

France - The Yocto Project - An Overview - hands-on

日本 - The Yocto Project - An Overview - hands-on

Australia - The Yocto Project - An Overview - hands-on

Malaysia - The Yocto Project - An Overview - hands-on

New Zealand - The Yocto Project - An Overview - hands-on

Thailand - The Yocto Project - An Overview - hands-on

Vietnam - The Yocto Project - An Overview - hands-on

Argentina - El Proyecto Yocto - Una Visión General - Práctico

Chile - El Proyecto Yocto - Una Visión General - Práctico

Costa Rica - El Proyecto Yocto - Una Visión General - Práctico

Ecuador - El Proyecto Yocto - Una Visión General - Práctico

Guatemala - El Proyecto Yocto - Una Visión General - Práctico

Colombia - El Proyecto Yocto - Una Visión General - Práctico

Panama - El Proyecto Yocto - Una Visión General - Práctico

Peru - El Proyecto Yocto - Una Visión General - Práctico

Uruguay - El Proyecto Yocto - Una Visión General - Práctico

Venezuela - El Proyecto Yocto - Una Visión General - Práctico

Polska - The Yocto Project - An Overview - hands-on

United Kingdom - The Yocto Project - An Overview - hands-on

South Korea - The Yocto Project - An Overview - hands-on

Pakistan - The Yocto Project - An Overview - hands-on

Sri Lanka - The Yocto Project - An Overview - hands-on

Bulgaria - The Yocto Project - An Overview - hands-on

Bolivia - El Proyecto Yocto - Una Visión General - Práctico

Indonesia - The Yocto Project - An Overview - hands-on

Kazakhstan - The Yocto Project - An Overview - hands-on

Moldova - The Yocto Project - An Overview - hands-on

Morocco - The Yocto Project - An Overview - hands-on

Tunisia - The Yocto Project - An Overview - hands-on

Kuwait - The Yocto Project - An Overview - hands-on

Oman - The Yocto Project - An Overview - hands-on

Slovakia - The Yocto Project - An Overview - hands-on

Kenya - The Yocto Project - An Overview - hands-on

Nigeria - The Yocto Project - An Overview - hands-on

Botswana - The Yocto Project - An Overview - hands-on

Slovenia - The Yocto Project - An Overview - hands-on

Croatia - The Yocto Project - An Overview - hands-on

Serbia - The Yocto Project - An Overview - hands-on

Bhutan - The Yocto Project - An Overview - hands-on

Nepal - The Yocto Project - An Overview - hands-on