Plan Szkolenia

  1. Pierwsze kroki
    1. Uzyskiwanie Buildroot
    2. Wymagania dotyczące systemu kompilacji
    3. Terminologia międzykompilatorowa: kompilacja, host, cel, sysroot
    4. Wybór właściwego systemu docelowego
    5. Budowanie minimalnego systemu wbudowanego i uruchamianie go
    6. Zawartość wynikowego obrazu systemu plików
    7. Równoległe kompilacje
    8. Pełne i częściowe przebudowy
  2. Cele projektowe Buildroot
  3. Wybory do podjęcia
    1. Biblioteka C: glibc lub uClibc lub musl?
    2. System początkowy: busybox vs sysVinit vs systemd
    3. Zarządzanie węzłami urządzeń w /dev
    4. Wybór innych pakietów
  4. Zrozumienie instrukcji kompilacji
    1. Składnia plików Kconfig (Confog.in)
    2. Funkcje GNU Make używane przez pliki Buidroot Makefile
    3. Przewodnik po stylach dla plików Config.in i *.mk
    4. Jak dodać prosty pakiet oparty na Autotools
    5. Różnica między katalogami przejściowymi i docelowymi
    6. Potrzeba pakietów hosta
    7. Jak wyrażać zależności i opcjonalne funkcje
    8. Wsparcie dla języków innych niż C i systemów kompilacji innych niż Autotools
    9. Debugowanie plików Makefile
    10. Przebudowa pojedynczego pakietu
  5. Analizowanie wyników kompilacji
    1. Co zajęło tak dużo czasu kompilacji?
    2. Co zajęło tak dużo miejsca na dysku?
    3. Dlaczego ten pakiet został zbudowany?
  6. Organizowanie zewnętrznych drzew pakietów
  7. Przepływ pracy dla twórców aplikacji
    1. Jak używać lokalnego katalogu źródłowego
    2. Zastępowanie instrukcji kompilacji
    3. Debugowanie aplikacji
    4. Przyspieszanie przebudowy
    5. Przeglądanie dzienników kompilacji
  8. Radzenie sobie z typowymi problemami kompilacji krzyżowej
    1. Jak napisać własne oprogramowanie, aby było przyjazne dla kompilatorów krzyżowych
  9. Przepływ pracy dla programistów jądra
    1. Jak uruchamia się jądro w systemie wbudowanym
    2. Zmiana opcji konfiguracyjnych i dodawanie łatek
    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 oprogramowania sprzętowego
    4. Aktualizacja do nowej wersji Buildroot
    5. Zgodność z licencjami open-source

Wymagania

  • Uczestnik musi przynajmniej raz zbudować jądro dla tradycyjnego systemu desktopowego (nie wbudowanego) Linux.
  • Wie, z jakich komponentów składa się przestrzeń użytkownika Linux w systemie desktopowym.
  • Wie, jak generować i używać łatek.
  • Musi być w stanie wyjaśnić, czym jest GNU Make, Autotools, jakie inne systemy kompilacji istnieją.
  • Idealnie, utrzymuje co najmniej jeden pakiet Linux, albo jako autor upstream, albo w dowolnej tradycyjnej dystrybucji Linux desktop.
  • Wcześniejsze doświadczenie z rozwojem wbudowanym nie jest wymagane i nie zastępuje wiedzy o tradycyjnych Linux desktopach określonych powyżej.
 7 godzin

Liczba uczestników


Cena za uczestnika (netto)

Propozycje terminów