Yocto/Bitbake w VS Code

Yocto/Bitbake w VS Code

6 maja, 2026

Od kiedy pamiętam do pracy z YOCTO zawsze używałem terminala.

Modyfikowanie recept, szukanie różnych rzeczy, odpalanie build’ów z bitabake itp.

Ale poza tym lubię też korzystać z VS Code, szczególnie gdy mam więcej do napisania np. przy modyfikowania kodu źródłowego.

Wypadałoby obie te rzeczy połączyć.

Przez długi czas nie było dobrej nakładki, czyli extension do VS Code dla Yocto, ale jakiś czas temu się to zmieniło i jest oficjalna nakładka.

W związku z tym postanowiłem w końcu się za nią zabrać, skonfigurować i zobaczyć czy sprawdza się z moim stylem pracy.

Setup

Co potrzebujemy:

Host: Dowolne distro Linuxa (pracuję na Ubuntu).

Edytor: Zainstalowany VS Code.

Projekt: Środowisko Yocto (np. Poky z Mega-Manual Quick Build).

Wtyczka: W panelu Extensions szukamy „BitBake”. Upewnij się, że autorem jest yoctoproject.org.

Optymalizacja: Nie obciążaj CPU

Yocto generuje tysiące plików w folderze build. Jeśli VS Code zacznie je indeksować (szukać symboli, śledzić zmiany), Twój komputer szybko złapie zadyszkę.

W katalogu projektu stwórz .vscode/settings.json i dodaj wykluczenia:

Copy to Clipboard

Konfiguracja Dockera (CROPS)

Standardem pracy z Yocto jest kontener crops/poky. Problem w tym, że wtyczka oczekuje ścieżek, które „widzi” wewnątrz środowiska BitBake. Jeśli Twój projekt leży w /home/user/project, a w kontenerze montujesz go jako /workdir, ścieżki się rozjadą.

Rozwiązaniem jest parametr bitbake.commandWrapper. Musimy stworzyć skrypt (np. bitbake-crops-wrapper.sh), który będzie pośrednikiem:

Copy to Clipboard

Następnie w settings.json wskazujemy wtyczce, jak ma wywoływać BitBake:

Copy to Clipboard

 

Co zyskujemy?

Po poprawnej konfiguracji wtyczka oferuje możliwości, które w pewnych przypadkach mogą być bardzo wygodne:

  • Syntax Highlighting: Receptury (.bb, .bbappend) i pliki konfiguracyjne (.conf) stają się bardziej czytelne.

  • BitBake Explorer: Przeglądanie dostępnych warstw, receptur i zmiennych bezpośrednio z panelu bocznego. Dodatkowo po kliknięciu Ctrl+Lewy klawisz myszy możemy od razu przejść do definicji innej recepty. 

  • Build Control: Możliwość uruchamiania tasków (build, clean, fetch) kliknięciem, bez wpisywania komend z palca.

linuxdev.pl

Szukasz szkolenia z Linuxa embedded?

Szukasz szkolenia z Linuxa Embedded?

Posiadam szerokie doświadczenie w integracji i szkoleniach z Linuxa Embedded