Boro to narzędzie wiersza poleceń NVIDIA wspierające rozwój jądra Linux w lokalnym drzewie Git programisty. Pozwala przeglądać, budować i testować łatki, a także wspomaga ich stosowanie. Andrea Righi przedstawił projekt podczas Linux Plumbers Conference 2026, która odbyła się w Pradze 5–7 października.

Boro, narzędzie NVIDIA do pracy nad jądrem Linux

Boro służy do pracy nad zmianami, zanim trafią one do publicznego obiegu, oraz do utrzymania własnych zestawów łatek, na przykład przy backportach, integracji poprawek bezpieczeństwa i pracach nad jądrem dystrybucyjnym. Backport to przeniesienie poprawki do starszej gałęzi oprogramowania.

Narzędzie działa na historii zmian w repozytorium Git. Jego polecenia pomagają przejść od analizy zakresu commitów, czyli zapisanych zmian, do budowania i testowania jądra. Repozytorium Boro opisuje te przepływy pracy oraz konfigurację narzędzia.

Przegląd, budowanie, testowanie i stosowanie łatek

Polecenie boro review COMMIT_RANGE analizuje wskazany zakres commitów i przygotowuje podsumowanie w stylu LKML, czyli listy dyskusyjnej deweloperów jądra Linux. Przegląd składa się z etapów oznaczonych numerami od 0 do 12. Obejmują one między innymi kontekst podsystemu, przepływ wykonania, bezpieczeństwo, zarządzanie zasobami i blokady, a następnie porządkowanie ustaleń oraz ich walidację.

boro build COMMIT_RANGE buduje zmiany w osobnych drzewach roboczych Git. Model analizuje log kompilacji, by pomóc ocenić jej wynik. Dzięki oddzielnym drzewom można sprawdzać wskazane zmiany bez mieszania ich z pozostałymi pracami w repozytorium.

boro test COMMIT_RANGE może uruchomić jądro w maszynie wirtualnej z użyciem virtme-ng i wykonać wybrany test ukierunkowany. W zależności od zmian może to być pasujący test kselftest, sonda użytkownika sprawdzająca zmienioną ścieżkę kodu albo — jako rozwiązanie awaryjne — analiza dmesg, dziennika komunikatów jądra. Testy wymagające sprzętu lub dłuższego czasu mogą być opisane w trybie planowania, bez ich uruchamiania.

Polecenie boro apply służy do stosowania commitów lub serii łatek pobranej z listy dyskusyjnej przez b4. Gdy podczas cherry-pickowania — przenoszenia zmian do innej gałęzi — wystąpi konflikt, Boro może zaproponować jego rozwiązanie, a model walidacyjny sprawdza proponowaną zmianę.

Konfiguracja modeli i zależności

Boro obsługuje konfigurację endpointów API zgodnych z OpenAI. Ustawienia mogą obejmować zmienne BORO_URL, BORO_KEY i BORO_MODEL, a model walidacyjny można skonfigurować osobno. Projekt opisuje również backendy agentów Claude, OpenCode i Codex.

Do budowania i testowania potrzebne jest virtme-ng. b4 jest wymagane przy stosowaniu serii łatek wskazanej identyfikatorem wiadomości, natomiast lei może służyć do pobierania wiadomości z lore.kernel.org.

Możliwa współpraca Boro z Sashiko

Opis wystąpienia na Linux Plumbers Conference przedstawiał możliwość włączenia części funkcji Boro do Sashiko jako temat do dyskusji. To potencjalny kierunek rozmowy, a nie opis gotowego połączenia obu narzędzi.

Rust i licencja Apache 2.0

Boro napisano w Rust i udostępniono na licencji Apache 2.0.