The Yocto Project - An Overview - hands-on ( yp1 | 28 hours )
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.
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.
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).
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