Bądźmy w kontakcie

Plan Szkolenia

  1. Wprowadzenie
    1. Pobieranie Buildroot
    2. Wymagania systemu budowania
    3. Terminologia kompilatora krzyżowego: build, host, target, sysroot
    4. Wybór właściwego celu
    5. Budowanie minimalnego systemu wbudowanego i jego uruchomienie
    6. Zawartość wynikowego obrazu systemu plików
    7. Równoległe budowanie
    8. Pełne i częściowe przebudowy
  2. Cele projektowe Buildroot
  3. Decyzje do podjęcia
    1. Biblioteka C: glibc, uClibc czy musl?
    2. System init: busybox vs sysVinit vs systemd
    3. Zarządzanie węzłami urządzeń w /dev
    4. Wybór innych pakietów
  4. Zrozumienie instrukcji budowania
    1. Składnia plików Kconfig (Confog.in)
    2. Cechy GNU Make używane w Makefiles Buildroot
    3. Przewodnik stylu dla plików Config.in i *.mk
    4. Jak dodać prosty pakiet oparty na Autotools
    5. Różnica między katalogami staging a target
    6. Potrzeba pakietów hosta
    7. Jak wyrażać zależności i opcjonalne funkcje
    8. Obsługa języków innych niż C oraz systemów budowania innych niż Autotools
    9. Debugowanie Makefiles
    10. Przebudowa pojedynczego pakietu
  5. Analiza wyników budowania
    1. Co zajęło tak dużo czasu?
    2. Co zajęło tak dużo miejsca na dysku?
    3. Dlaczego ten pakiet został zbudowany?
  6. Organizacja zewnętrznych drzew pakietów
  7. Przepływ pracy dla developerów aplikacji
    1. Jak korzystać z lokalnego katalogu źródłowego
    2. Nadpisywanie instrukcji budowania
    3. Debugowanie aplikacji
    4. Przyspieszanie przebudów
    5. Przeglądanie logów budowania
  8. Rozwiązywanie typowych problemów z kompilacją krzyżową
    1. Jak pisać własne oprogramowanie, aby było przyjazne dla kompilatorów krzyżowych
  9. Przepływ pracy dla developerów jądra
    1. Jak jądro uruchamia się na systemie wbudowanym
    2. Zmiana opcji konfiguracyjnych i dodawanie łat
    3. Mechanizmy ładowania modułów
  10. Tworzenie gotowego produktu
    1. Uruchamianie demonów podczas startu
    2. Dostarczanie niestandardowych plików konfiguracyjnych
    3. Dostępne mechanizmy aktualizacji firmware
    4. Aktualizacja do nowej wersji Buildroot
    5. Przestrzeganie licencji open-source

Wymagania

  • Uczestnik musi przynajmniej raz skompilować jądro dla tradycyjnego systemu Linux na komputerze stacjonarnym (nie wbudowanym).
  • Wie, z jakich komponentów składa się przestrzeń użytkownika Linux na systemie stacjonarnym.
  • Wie, jak generować i stosować łaty.
  • Musi umieć wyjaśnić, czym są GNU Make, Autotools oraz jakie istnieją inne systemy budowania.
  • Najlepiej, aby uczestnik zarządzał przynajmniej jednym pakietem Linux, czy to jako autor upstream, czy w dowolnej tradycyjnej dystrybucji Linux na komputerze stacjonarnym.
  • Doświadczenie w rozwoju systemów wbudowanych nie jest wymagane i nie zastępuje wiedzy o tradycyjnych systemach Linux na komputerach stacjonarnych, określonej powyżej.
 7 godzin

Liczba uczestników


Cena za uczestnika (netto)

Propozycje terminów

Powiązane Kategorie