Course Outline Buildroot: a Firmware Generator for Embedded Systems ( buildroot | 7 hours )

Prerequisites:
  • 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.
Overview:

Buildroot to projekt typu open-source, który zawiera skrypty tworzące zestaw narzędzi do kompilacji krzyżowej, konfigurowalny obraz głównego systemu plików i Linux jądro dla urządzeń wbudowanych. Podczas tego praktycznego kursu uczestnicy dowiedzą się, jak z niego korzystać:

  • Jak wybrać oprogramowanie, które trafi do głównego systemu plików.
  • Jak dodawać nowe pakiety i modyfikować istniejące.
  • Jak dodać wsparcie dla nowych płyt wbudowanych.

Podczas kursu zostaną utworzone bootowalne obrazy systemu plików. Kursy zdalne są dostarczane przy użyciu emulatora QEMU, podczas gdy w klasie można korzystać z QEMU lub prawdziwych płyt wbudowanych wybranych przez trenera.

Inne projekty o podobnych celach obejmują projekt Yocto i OpenWRT. Skorzystaj z tych prezentacji, aby określić, który z nich jest właściwym wyborem dla Twoich potrzeb.

Course Outline:
  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
Sites Published:

United Arab Emirates - Buildroot: a Firmware Generator for Embedded Systems

Qatar - Buildroot: a Firmware Generator for Embedded Systems

Egypt - Buildroot: a Firmware Generator for Embedded Systems

Saudi Arabia - Buildroot: a Firmware Generator for Embedded Systems

South Africa - Buildroot: a Firmware Generator for Embedded Systems

Brasil - Buildroot: a Firmware Generator for Embedded Systems

Canada - Buildroot: a Firmware Generator for Embedded Systems

中国 - Buildroot: a Firmware Generator for Embedded Systems

香港 - Buildroot: a Firmware Generator for Embedded Systems

澳門 - Buildroot: a Firmware Generator for Embedded Systems

台灣 - Course Outline Buildroot: a Firmware Generator for Embedded Systems

USA - Buildroot: a Firmware Generator for Embedded Systems

Österreich - Buildroot: a Firmware Generator for Embedded Systems

Schweiz - Buildroot: a Firmware Generator for Embedded Systems

Deutschland - Buildroot: a Firmware Generator for Embedded Systems

Czech Republic - Course Outline Buildroot: a Firmware Generator for Embedded Systems

Denmark - Buildroot: a Firmware Generator for Embedded Systems

Estonia - Buildroot: a Firmware Generator for Embedded Systems

Finland - Buildroot: a Firmware Generator for Embedded Systems

Greece - Buildroot: a Firmware Generator for Embedded Systems

Magyarország - Buildroot: a Firmware Generator for Embedded Systems

Ireland - Buildroot: a Firmware Generator for Embedded Systems

Israel - Buildroot: a Firmware Generator for Embedded Systems

Luxembourg - Buildroot: a Firmware Generator for Embedded Systems

Latvia - Buildroot: a Firmware Generator for Embedded Systems

España - Buildroot: a Firmware Generator for Embedded Systems

Italia - Buildroot: a Firmware Generator for Embedded Systems

Lithuania - Buildroot: a Firmware Generator for Embedded Systems

Nederland - Buildroot: a Firmware Generator for Embedded Systems

Norway - Buildroot: a Firmware Generator for Embedded Systems

Portugal - Buildroot: a Firmware Generator for Embedded Systems

România - Buildroot: a Firmware Generator for Embedded Systems

Sverige - Buildroot: a Firmware Generator for Embedded Systems

Türkiye - Course Outline Buildroot: a Firmware Generator for Embedded Systems

Malta - Buildroot: a Firmware Generator for Embedded Systems

Belgique - Buildroot: a Firmware Generator for Embedded Systems

France - Buildroot: a Firmware Generator for Embedded Systems

日本 - Buildroot: a Firmware Generator for Embedded Systems

Australia - Buildroot: a Firmware Generator for Embedded Systems

Malaysia - Buildroot: a Firmware Generator for Embedded Systems

New Zealand - Buildroot: a Firmware Generator for Embedded Systems

Philippines - Buildroot: a Firmware Generator for Embedded Systems

Singapore - Buildroot: a Firmware Generator for Embedded Systems

Thailand - Buildroot: a Firmware Generator for Embedded Systems

Vietnam - Course Outline Buildroot: a Firmware Generator for Embedded Systems

India - Buildroot: a Firmware Generator for Embedded Systems

Argentina - Buildroot: a Firmware Generator for Embedded Systems

Chile - Buildroot: a Firmware Generator for Embedded Systems

Costa Rica - Buildroot: a Firmware Generator for Embedded Systems

Ecuador - Buildroot: a Firmware Generator for Embedded Systems

Guatemala - Buildroot: a Firmware Generator for Embedded Systems

Colombia - Buildroot: a Firmware Generator for Embedded Systems

México - Buildroot: a Firmware Generator for Embedded Systems

Panama - Buildroot: a Firmware Generator for Embedded Systems

Peru - Buildroot: a Firmware Generator for Embedded Systems

Uruguay - Buildroot: a Firmware Generator for Embedded Systems

Venezuela - Buildroot: a Firmware Generator for Embedded Systems

Polska - Course Outline Buildroot: a Firmware Generator for Embedded Systems

United Kingdom - Buildroot: a Firmware Generator for Embedded Systems

South Korea - Buildroot: a Firmware Generator for Embedded Systems

Pakistan - Buildroot: a Firmware Generator for Embedded Systems

Sri Lanka - Buildroot: a Firmware Generator for Embedded Systems

Bulgaria - Course Outline Buildroot: a Firmware Generator for Embedded Systems

Bolivia - Buildroot: a Firmware Generator for Embedded Systems

Indonesia - Buildroot: a Firmware Generator for Embedded Systems

Kazakhstan - Buildroot: a Firmware Generator for Embedded Systems

Moldova - Buildroot: a Firmware Generator for Embedded Systems

Morocco - Buildroot: a Firmware Generator for Embedded Systems

Tunisia - Buildroot: a Firmware Generator for Embedded Systems

Kuwait - Buildroot: a Firmware Generator for Embedded Systems

Oman - Buildroot: a Firmware Generator for Embedded Systems

Slovakia - Buildroot: a Firmware Generator for Embedded Systems

Kenya - Buildroot: a Firmware Generator for Embedded Systems

Nigeria - Buildroot: a Firmware Generator for Embedded Systems

Botswana - Buildroot: a Firmware Generator for Embedded Systems

Slovenia - Buildroot: a Firmware Generator for Embedded Systems

Croatia - Buildroot: a Firmware Generator for Embedded Systems

Serbia - Buildroot: a Firmware Generator for Embedded Systems

Bhutan - Buildroot: a Firmware Generator for Embedded Systems

Nepal - Buildroot: a Firmware Generator for Embedded Systems