![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](https://i.howwhatproduce.com/images/004/image-9092-13-j.webp)
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03
![Image Image](https://i.howwhatproduce.com/images/004/image-9092-15-j.webp)
![](https://i.ytimg.com/vi/zVLKPtGCtN4/hqdefault.jpg)
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](https://i.howwhatproduce.com/images/004/image-9092-16-j.webp)
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](https://i.howwhatproduce.com/images/004/image-9092-17-j.webp)
-
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](https://i.howwhatproduce.com/images/004/image-9092-18-j.webp)
-
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
Zalecana:
Oparty na LoRa system monitoringu wizualnego dla rolnictwa Iot - Projektowanie aplikacji frontowej przy użyciu Firebase i Angular: 10 kroków
![Oparty na LoRa system monitoringu wizualnego dla rolnictwa Iot - Projektowanie aplikacji frontowej przy użyciu Firebase i Angular: 10 kroków Oparty na LoRa system monitoringu wizualnego dla rolnictwa Iot - Projektowanie aplikacji frontowej przy użyciu Firebase i Angular: 10 kroków](https://i.howwhatproduce.com/images/001/image-2514-j.webp)
Oparty na LoRa system monitoringu wizualnego dla rolnictwa Iot | Projektowanie aplikacji fronted przy użyciu Firebase i Angular: W poprzednim rozdziale mówiliśmy o tym, jak czujniki współpracują z modułem loRa w celu zapełnienia bazy danych Firebase Realtime i widzieliśmy bardzo wysoki diagram, jak działa cały nasz projekt. W tym rozdziale porozmawiamy o tym, jak możemy
Automatyczny karmnik dla zwierząt przy użyciu AtTiny85: 6 kroków
![Automatyczny karmnik dla zwierząt przy użyciu AtTiny85: 6 kroków Automatyczny karmnik dla zwierząt przy użyciu AtTiny85: 6 kroków](https://i.howwhatproduce.com/images/006/image-17149-j.webp)
Automatyczny podajnik karmy dla zwierząt korzystający z AtTiny85: O trabalho Automatyczny karmnik dla zwierząt korzystający z AtTiny85 de PET Engenharia obliczeń i licencji Creative Commons - Atribuição 4.0 Internacional
Prototyp projektu sygnalizacji świetlnej oparty na Atmega16 przy użyciu 7-segmentowego wyświetlacza (symulacja Proteus): 5 kroków
![Prototyp projektu sygnalizacji świetlnej oparty na Atmega16 przy użyciu 7-segmentowego wyświetlacza (symulacja Proteus): 5 kroków Prototyp projektu sygnalizacji świetlnej oparty na Atmega16 przy użyciu 7-segmentowego wyświetlacza (symulacja Proteus): 5 kroków](https://i.howwhatproduce.com/images/009/image-25286-j.webp)
Prototyp projektu sygnalizacji świetlnej oparty na Atmega16 z wykorzystaniem 7-segmentowego wyświetlacza (symulacja Proteus): W tym projekcie zamierzamy stworzyć projekt sygnalizacji świetlnej oparty na Atmega16. Tutaj wzięliśmy jeden 7 segmentów i 3 diody LED do oznaczania sygnałów sygnalizacji świetlnej
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków
![Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków](https://i.howwhatproduce.com/images/001/image-2825-28-j.webp)
Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Uruchamianie Rainbow na Neopixel Ws2812 Używając M5stack M5stick C Używając Arduino IDE: Cześć chłopaki, w tej instrukcji dowiemy się, jak używać neopikselowych ws2812 LED lub taśmy LED lub matrycy LED lub pierścienia LED z płytką rozwojową m5stack m5stick-C z Arduino IDE i zrobimy wzór tęczy z nim
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: 18 kroków (ze zdjęciami)
![DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: 18 kroków (ze zdjęciami) DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: 18 kroków (ze zdjęciami)](https://i.howwhatproduce.com/images/003/image-6629-65-j.webp)
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: to moja pierwsza publikacja eva artykułu o majsterkowaniu w Internecie. Więc przepraszam za literówki, protokoły itp. Poniższe instrukcje pokazują, jak zrobić PRACOWĄ lutownicę na gorące powietrze odpowiednią do WSZYSTKICH zastosowań wymagających lutowania. To lutowanie gorącym powietrzem