Budowanie dystrybucji GNU/Linux dla Raspberry Pi przy użyciu projektu Yocto: 6 kroków
Budowanie dystrybucji GNU/Linux dla Raspberry Pi przy użyciu projektu Yocto: 6 kroków

Wideo: Budowanie dystrybucji GNU/Linux dla Raspberry Pi przy użyciu projektu Yocto: 6 kroków

Wideo: Budowanie dystrybucji GNU/Linux dla Raspberry Pi przy użyciu projektu Yocto: 6 kroków
Wideo: Yocto Project - stwórzmy własną dystrybucję Linuksa dla systemu wbudowanego! - Marcin Słoniewski 2025, Styczeń
Anonim
Image
Image

Raspberry Pi jest prawdopodobnie najpopularniejszym tanim komputerem jednopłytkowym na rynku. Jest często używany w projektach Internetu Rzeczy i innych wbudowanych projektach. Kilka dystrybucji GNU/Linux ma doskonałe wsparcie dla Raspberry Pi i jest nawet Microsoft Windows dla Raspberry Pi 2.

Jeśli chcesz stworzyć Internet rzeczy (IoT) w oparciu o Raspberry Pi i chcesz robić to profesjonalnie, zaleca się zbudowanie wbudowanej dystrybucji Linuksa, która dokładnie odpowiada potrzebom Twojego urządzenia. Aby uruchomić dystrybucję Linuksa na Raspberry Pi, potrzebujesz bootloadera, jądra Linuksa i różnych aplikacji w przestrzeni użytkownika.

Jednym z najpopularniejszych sposobów budowania niestandardowej wbudowanej dystrybucji Linuksa jest użycie projektu Yocto. Yocto to wspólny projekt fundacji Linux, który wykorzystuje framework Openembedded i silnik kompilacji Bitbake. Poky to system referencyjny projektu Yocto z sześciomiesięcznym cyklem wydawniczym. Udostępnia metadane podzielone na warstwy i receptury do budowania różnych pakietów i obrazów.

Ten samouczek zawiera dokładne kroki tworzenia obrazu z minimalną dystrybucją GNU/Linux dla Raspberry Pi, która obejmuje systemd i connman.

Krok 1: Przygotowanie

Uzyskaj kod źródłowy
Uzyskaj kod źródłowy

Do tego samouczka będziesz potrzebować:

  • Komputer osobisty z dystrybucją GNU/Linux, np. Ubuntu, na którym zbudujesz dystrybucję GNU/Linux dla Raspberry Pi.
  • Malina Pi
  • karta microSD lub SD w zależności od wersji Raspberry Pi
  • kabel HDMI i monitor
  • Klawiatura USB
  • Zasilacz

Zainstaluj wymagane pakiety na swoim komputerze osobistym w zależności od twojej dystrybucji GNU/Linux: https://www.yoctoproject.org/docs/2.0/yocto-projec…Notatki (by Yunus EmreI):

  • Nie możesz upiec obrazu, jeśli twój katalog domowy jest zaszyfrowany, ponieważ nie pozwala na długie nazwy plików
  • Wstępna kompilacja trwa bardzo długo, jeśli masz wolne połączenie
  • Podczas flashowania obrazu na kartę SD upewnij się, że wybrałeś główny /dev/sdX, a nie /dev/sdXp1 lub inną odmianę części wewnętrznej

Krok 2: Uzyskaj kod źródłowy

Wykonaj poniższe czynności na swoim komputerze osobistym:

  • Clone Poky za pomocą Gita (w tym przypadku pobieram wersję Jethro (2.0) projektu Yocto):

    git clone -b jethro git://git.yoctoproject.org/poky

  • Przejdź do katalogu poky:

    cd poky

  • Klon meta-raspberrypi:

    git clone -b jethro git://git.yoctoproject.org/meta-raspberrypi

Krok 3: Skonfiguruj

Konfiguruj
Konfiguruj
  • Zainicjuj środowisko kompilacji

    źródło oe-init-build-env

  • Dodaj meta-raspberrypi do BBLAYERS w conf/bblayers.conf, potem powinno być podobne (ale w twoim przypadku z różnymi ścieżkami) do:

    BBLAYERS ?=

    /home/leon/poky/meta / /home/leon/poky/meta-yocto / /home/leon/poky/meta-yocto-bsp / /home/leon/poky/meta-raspberrypi \"

  • Otwórz conf/local.conf i zmień MASZYNĘ na raspberrypi, raspberrypi0, raspberrypi2 lub raspberrypi3 w zależności od modelu Raspberry Pi, na przykład:

    MASZYNA ??= "raspberrypi2"

  • Dołącz następujący wiersz do conf/local.conf, aby ustawić pamięć GPU w megabajtach:

    GPU_MEM = "16"

  • Opcjonalnie dołącz następujący wiersz do conf/local.conf, aby zastąpić System V słowem systemd:

    DISTRO_FEATURES_append = "system"

    VIRTUAL-RUNTIME_init_manager = "systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" VIRTUAL-RUNTIME_initscripts = ""

  • Opcjonalnie dołącz następujący wiersz do pliku conf/local.conf, aby do obrazu dołączyć menedżera sieci wiersza poleceń connman:

    IMAGE_INSTALL_append = " connman connman-client"

Krok 4: Zbuduj obraz

Zbuduj obraz
Zbuduj obraz
  • Wykonaj następujące polecenie, aby zbudować minimalny obraz dystrybucji GNU/Linux dla twojego Raspberry Pi:

    bitbake rpi-basic-image

Należy pamiętać, że kompilacja może potrwać do kilku godzin w zależności od sprzętu komputera osobistego i szybkości połączenia internetowego.

Krok 5: Karta Flash SD

Po zakończeniu kompilacji obraz zostanie umieszczony w następującej ścieżce w katalogu kompilacji: tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg.

Podłącz kartę microSD do komputera, zastąp X odpowiednim identyfikatorem (który można znaleźć za pomocą poleceń takich jak lsblk lub fdisk -l) i wykonaj następujące polecenia, aby sflashować na niej obraz:

sudo umount /dev/sdX

sudo dd if=tmp/deploy/images/raspberrypi2/core-image-weston-raspberrypi2.rpi-sdimg of=/dev/sdX sync sudo umount /dev/sdX

Alternatywnie, jeśli wolisz, możesz użyć bmaptool zamiast dd.

Bądź bardzo ostrożny podczas flashowania karty SD i upewnij się, że używasz właściwej litery dla ścieżki do urządzenia. Zrób to na własne ryzyko i pamiętaj, że pomyłka może uszkodzić dysk na Twoim komputerze osobistym!

Krok 6: Uruchom i przetestuj

Uruchom Raspberry Pi i wykonaj następujące kroki, aby sprawdzić, czy obraz działa poprawnie:

  • Zaloguj się jako root bez hasła
  • Jeśli connman jest zainstalowany, sprawdź, czy jego usługi systemd zostały załadowane:

    systemctl status -l connman