Děkujeme za vaši dotaz! Jeden z našich pracovníků vás brzy kontaktuje.
Děkujeme za rezervaci! Jeden z našich pracovníků vás brzy kontaktuje.
Návrh Školení
Osnova kurzu
Zavedení
- historie Unixu/Linux, licence, standardy, práce se svobodným softwarem, hledání nápovědy, speleologie, filozofie Unixu
Vložené specifika
- Linux na ploše ve srovnání s Linux ve vestavěném systému, křížové/nativní toolchainy, předpřipravené toolchainy, sestavovací systémy, C knihovny,...
Eval Board
- Jak se spouští?, Podívejte se na spouštění
Yocto Úvod
- Co je Yocto? Proč používat YP? Co je YP?, Poky, BitBake, OE-Core, Metadata
YP Autobuilder
- Co je to YP Autobuilder?, Docker kontejner (pull, launch kontejner)
Pracovní postup YP
- Úvod
- Workflow, OE architektura
- Konfigurace (uživatel, metadata, stroj, zásady distribuce)
- Zdroje
- Sestavení (načítání zdroje, záplata, konfigurace/kompilace/instalace, pseudo, příklady receptur, výstupní analýza/balení, generování obrázků, generování SDK)
- Přizpůsobení obrázků (úvod, local.conf, IMAGE_FEATURES, vlastní soubory .bb, vlastní skupiny balíčků)
BitBake
- Dějiny
- Syntax
- Ladění (úroveň ladění, hledání receptů/obrázků/skupin balíčků, prostředí/úkoly/protokolování BitBake, vynucení sestavení/specifická úloha, cleansstate, zneplatnění razítka, devshell, průzkumník závislostí, zabít všechny instance BitBake, grafický obal BitBake)
Vrstvy
- Úvod, nástroj bitbake-layers, nástroj yocto-layer
BSP
- Úvod, Pracovní postup vývoje systému, BSP Developer's Guide (bsp-tool)
Jádro
- Úvod, Pracovní postup vývoje systému, Manuál vývoje jádra (defconfig, defconfig + konfigurační fragment, kmod ve stromu, kmod mimo strom, fdt,…)
Sada nástrojů pro vývoj aplikací
- Úvod, Cross-Development Toolchain, Sysroot, ADT- Eclipse Yocto Plug-in, emulátor QEMU, User Space Tools
- Instalace ADT & Toolchains
- Použití tarballu Cross-Toolchain (Úvod, Sestavení/Instalace tarballu Cross-Toolchain, Cross-Toolchain + Makefile/Autotools/Autotools lib + aplikace, recepty)
- Pomocí instalačního programu ADT (Úvod, Web Server, Sestavit obraz + instalační program ADT, Konfigurovat + spustit instalační program ADT, přidat instalační program ADT na webový server, Instalační program ADT na hostiteli)
Zatmění
- Úvod, pracovní postup vývoje aplikací
- Práce s Eclipse (funkce rootfs, jádro + fdt, rootfs, instalace JDK, instalace Eclipse, konfigurace Eclipse, instalace Yocto Plugin, Konfigurace Yocto Plugin, Vytvoření Autotooled Project, Konfigurace Cross-Toolchains, Sestavení projektu)
Ladění
- Úvod, gdb, vzdálené ladění gdb, (vzdálené ladění gdb) Ladění pomocí Eclipse, (vzdálené) Spuštění z Eclipse
Profilování/sledování
- Intro, perf, gprof, gcov, strace, ftrace, systemtap, oprofile, LTTng + Eclipse (vizualizace dat)
Balíček Management
- Práce s balíčky, IPK, vytváření feedu balíčků, instalace balíčku s opkg na cíl
Licencování
- Úvod, Přidat vlastní licenci, Soulad s licencí Open Source
Devtool
- Úvod, devtool, ukázka meta-cfengine v reálném světě
Pokud není uvedeno jinak, obsah a tato osnova kurzu podléhají licenci Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
Požadavky
Předpoklady
- Základní znalost používání systému GNU/Linux (např. Ubuntu) jako koncového uživatele v uživatelském prostoru
- Základní znalost prostředí příkazového řádku
- Základní znalost programování uživatelského/kernelového prostoru s GNU/Linux
- Středně pokročilá znalost programování v C
- Měli byste se zúčastnit Embedded GNU/Linux Systems Architecture (5 dní) (důrazně doporučujeme!), pokud již nejste obeznámeni s materiálem prezentovaným na těchto školeních.
- Ve skutečnosti potřebujete mít zkušenosti s Embedded GNU/Linux (jádro, uživatelský prostor, kořenový souborový systém, nástroje), abyste mohli absolvovat školení Yocto.
- Mohlo by být užitečné, kdybyste se zúčastnili Embedded GNU/Linux Device Drivers and Kernel Internals (5 dní) , ale to není ve skutečnosti podmínkou. Stačí vědět, jak sestavit jádro GNU/Linux, ovladače jádra ze stromu/mimo něj a fdt ze strany jádra, abyste mohli postupovat podle školení Yocto.
28 hodiny
Reference (1)
That the trainer adapts to our needs