Innehållsförteckning:
Video: Bygga GNU/Linux -distribution för Raspberry Pi med hjälp av Yocto -projektet: 6 steg
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Raspberry Pi är förmodligen den mest populära lågkostnadsdator på marknaden. Det används ofta för Internet of Things och andra inbäddade projekt. Flera GNU/Linux -distributioner har utmärkt stöd för Raspberry Pi och det finns till och med Microsoft Windows för Raspberry Pi 2.
Om du vill skapa Internet of Things (IoT) baserat på Raspberry Pi och om du vill göra det professionellt rekommenderas det att bygga en inbäddad Linux -distribution som passar din enhets exakta behov. För att starta en Linux -distribution på Raspberry Pi behöver du en bootloader, Linux -kärna och olika applikationer i användarutrymmet.
Ett av de mest populära sätten att bygga anpassad inbäddad Linux -distribution är att använda Yocto -projektet. Yocto är ett samarbetsprojekt av Linux -stiftelsen som använder Openembedded -ramverket och bitbake -byggmotorn. Poky är referenssystemet för Yocto -projektet med en sex månaders släppcykel. Det ger metadata uppdelade i lager och recept för att bygga olika paket och bilder.
Denna handledning ger de exakta stegen för att bygga en bild med minimal GNU/Linux -distribution för Raspberry Pi, som inkluderar systemd och connman.
Steg 1: Gör dig redo
För denna handledning behöver du:
- Personlig dator med GNU/Linux -distribution, till exempel Ubuntu, på vilken du kommer att bygga GNU/Linux -distributionen för Raspberry Pi.
- Raspberry Pi
- microSD- eller SD -kort beroende på versionen av din Raspberry Pi
- HDMI -kabel och en bildskärm
- USB -tangentbord
- Strömförsörjning
Installera de nödvändiga paketen på din dator beroende på din GNU/Linux-distribution: https://www.yoctoproject.org/docs/2.0/yocto-projec…Notes (av Yunus EmreI):
- Du kan inte baka en bild om din hemkatalog är krypterad eftersom den inte tillåter långa filnamn
- Initial build tar väldigt lång tid om du har en långsam anslutning
- När du blinkar bilden till SD -kortet, se till att du väljer main /dev /sdX, inte /dev /sdXp1 eller annan variant av intern del
Steg 2: Hämta källkoden
Utför nedanstående åtgärder på din persondator:
-
Klon Poky med Git (i det här fallet laddar jag ner release Jethro (2.0) av Yocto Project):
git klon -b jethro git: //git.yoctoproject.org/poky
-
Gå till katalogen poky:
cd poky
-
Klon meta-raspberrypi:
git klon -b jethro git: //git.yoctoproject.org/meta-raspberrypi
Steg 3: Konfigurera
-
Initiera byggmiljön
källa oe-init-build-env
-
Lägg till meta-raspberrypi till BBLAYERS i conf/bblayers.conf, efter det borde det vara liknande (men i ditt fall med olika vägar) till:
BBLAYERS? =
/home/leon/poky/meta \/home/leon/poky/meta-yocto \/home/leon/poky/meta-yocto-bsp \/home/leon/poky/meta-raspberrypi \"
-
Öppna conf/local.conf och ändra MASKIN till raspberrypi, raspberrypi0, raspberrypi2 eller raspberrypi3 beroende på din Raspberry Pi -modell, till exempel:
MASKIN ?? = "raspberrypi2"
-
Lägg till följande rad till conf/local.conf för att ställa in GPU -minne i megabyte:
GPU_MEM = "16"
-
Alternativt kan du lägga till följande rad till conf/local.conf för att ersätta System V med systemd:
DISTRO_FEATURES_append = "systemd"
VIRTUAL-RUNTIME_init_manager = "systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" VIRTUAL-RUNTIME_initscripts = ""
-
Alternativt kan du lägga till följande rad till conf/local.conf för att inkludera kommandoradsnätverkshanteraren Connman i bilden:
IMAGE_INSTALL_append = "connman connman-klient"
Steg 4: Skapa en bild
-
Utför följande kommando för att bygga en minimal bild av en GNU/Linux -distribution för din Raspberry Pi:
bitbake rpi-basic-image
Observera att bygget kan ta upp till flera timmar beroende på maskinvaran på din persondator och hastigheten på internetanslutningen.
Steg 5: Flash SD -kort
När bygget är klart kommer bilden att placeras på följande sökväg i din byggkatalog: tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg.
Anslut ett microSD -kort till din dator, ersätt X med motsvarande ID (som kan hittas genom kommandon som lsblk eller fdisk -l) och kör följande kommandon för att blinka bilden på den:
sudo umount /dev /sdX
sudo dd if = tmp/deploy/images/raspberrypi2/core-image-weston-raspberrypi2.rpi-sdimg av =/dev/sdX synkronisering sudo umount/dev/sdX
Alternativt kan du använda bmaptool istället för dd om du föredrar det.
Var mycket försiktig när du blinkar SD -kortet och se till att du använder rätt bokstav för sökvägen till enheten. Gör det på egen risk och tänk på att ett misstag kan skada en enhet på din persondator!
Steg 6: Starta och testa
Starta Raspberry Pi och kör följande steg för att verifiera att bilden fungerar:
- Logga in som root utan något lösenord
-
Om connman är installerat, kontrollera att dess systemd -tjänster har laddats:
systemctl status -l connman