Zkuste nás kontaktovat

Návrh Školení

Úvod do projektu OpenBMC

  • Co je to Baseboard Management Controller (BMC)?
  • Historie projektu OpenBMC a jeho řízení pod záštitou Linux Foundation
  • Podporované platformy: x86, ARM i OpenPOWER
  • Přehled softwarového ekosystému projektu OpenBMC

Architektura OpenBMC

  • Rámec Phosphor a systém komunikace D-Bus
  • Integrace s nástrojem Systemd a správa služeb
  • Systém Entity Manager určený k evidenci a sledování komponent systému
  • Struktura repozitářů projektu a vzájemné propojení jeho jednotlivých součástí

Nastavení vývojového prostředí

  • Instalace potřebných nástrojů na distribuci Ubuntu.
  • Použití kontejnerů Docker pro zajištění reprodukovatelnosti výstupu kompilace.
  • Stažení zdrojového kódu projektu OpenBMC.
  • Nastavení nástroje Gerrit určeného k recenzování přispěvků do projektu.

Základy nástrojů Yocto a BitBake

  • Struktura vrstev OpenEmbedded: meta-phosphor, meta-aspeed.
  • Pochopení principů receptů (recipes), souborů bbappend a konfiguračních souborů.
  • Sestavení referenčního obrazu určeného k testování v prostředí QEMU.
  • Praktické práce s soubory local.conf a bblayers.conf.

Vytvoření prvního obrazu firmwaru BMC

  • Výběr cílové hardwarové platformy pro kompilaci.
  • Spuštění příkazu bitbake obmc-phosphor-image.
  • Porozumění struktuře výstupních souborů vzniklých po kompilaci.
  • Nahrání hotového obrazu do reálného hardware nebo emulátoru QEMU.

Přizpůsobení a konfigurace firmwaru

  • Přidávání nových vrstvě pro podporu různých typů hardware.
  • Úprava rozhraní D-Bus pomocí souborů s popisem ve formátu YAML.
  • Konfigurace entit v systému Entity Manager prostřednictvím formátu JSON.
  • Modifikace konfiguračních souborů nástroje Systemd určených k ovládání jednotlivých služeb.

Ladění a řešení problémů

  • Analýza chyb vznikajících při procesu kompilace a ladění nástroje BitBake.
  • Použití nástroje journalctl k zjištění stavových informací o běhu systému na jednotce BMC.
  • Komunikace s jednotkou BMC prostřednictvím připojení SSH či konzole pro účely ladění.
  • Praktické řešení běžných problémů vyskytujících se při přenášení firmware na nový hardware.

Nejnovější změny a moderní postupy vývoje

  • Přechod na vazby typu C++ s využitím nástroje sdbusplus.
  • Implementace nového webového rozhraní (Vue.js) a serveru Redfish bmcweb.
  • Využívání moderních testovacích frameworků a integrace do CI pipeline systémů.

Požadavky

  • Základní znalosti správy systémů na platformě Linux
  • Orientaci v konceptech embedded systémů
  • Praktické zkušenosti s nástrojem Git a verzováním kódu

Pro koho je kurz určen

  • Inženýři vyvíjející embedded firmwarové řešení
  • Systémoví administrátoři spravující serverový hardware
  • DevOps inženýři odpovědní za infrastrukturu datových center
 14 Hodiny

Počet účastníků


Cena za účastníka

Reference (4)

Nadcházející kurzy

Související kategorie