Sommario:

Creazione di una distribuzione GNU/Linux per Raspberry Pi utilizzando il progetto Yocto: 6 passaggi
Creazione di una distribuzione GNU/Linux per Raspberry Pi utilizzando il progetto Yocto: 6 passaggi

Video: Creazione di una distribuzione GNU/Linux per Raspberry Pi utilizzando il progetto Yocto: 6 passaggi

Video: Creazione di una distribuzione GNU/Linux per Raspberry Pi utilizzando il progetto Yocto: 6 passaggi
Video: Building embedded GNU/Linux distribution for Raspberry Pi using the Yocto Project 2024, Dicembre
Anonim
Image
Image

Raspberry Pi è probabilmente il computer a scheda singola a basso costo più popolare sul mercato. Viene spesso utilizzato per Internet of Things e altri progetti embedded. Diverse distribuzioni GNU/Linux hanno un eccellente supporto per Raspberry Pi e c'è persino Microsoft Windows per Raspberry Pi 2.

Se vuoi creare Internet of Things (IoT) basato su Raspberry Pi e se vuoi farlo in modo professionale, ti consigliamo di creare una distribuzione Linux incorporata che si adatti alle esigenze esatte del tuo dispositivo. Per avviare una distribuzione Linux su Raspberry Pi hai bisogno di un bootloader, kernel Linux e varie applicazioni nello spazio utente.

Uno dei modi più popolari per creare una distribuzione Linux incorporata personalizzata è utilizzare il progetto Yocto. Yocto è un progetto collaborativo della fondazione Linux che utilizza il framework Openembedded e il motore di compilazione bitbake. Poky è il sistema di riferimento del Progetto Yocto con un ciclo di rilascio di sei mesi. Fornisce metadati suddivisi in livelli e ricette per la creazione di vari pacchetti e immagini.

Questo tutorial fornisce i passaggi esatti per creare un'immagine con una distribuzione GNU/Linux minima per Raspberry Pi, che include systemd e connman.

Passaggio 1: prepararsi

Ottieni il codice sorgente
Ottieni il codice sorgente

Per questo tutorial avrai bisogno di:

  • Personal computer con distribuzione GNU/Linux, ad esempio Ubuntu, su cui costruirete la distribuzione GNU/Linux per Raspberry Pi.
  • Lampone Pi
  • Scheda microSD o SD a seconda della versione del tuo Raspberry Pi
  • Cavo HDMI e un monitor
  • Tastiera USB
  • Alimentazione elettrica

Installa i pacchetti richiesti sul tuo personal computer a seconda della tua distribuzione GNU/Linux: https://www.yoctoproject.org/docs/2.0/yocto-projec…Note (di Yunus EmreI):

  • Non puoi creare un'immagine se la tua directory home è crittografata perché non consentirà nomi di file lunghi
  • La compilazione iniziale richiede molto tempo se hai una connessione lenta
  • Durante il flashing dell'immagine sulla scheda SD assicurati di selezionare il /dev/sdX principale, non il /dev/sdXp1 o altre variazioni della parte interna

Passaggio 2: ottieni il codice sorgente

Esegui le seguenti azioni sul tuo personal computer:

  • Clona Poky usando Git (in questo caso sto scaricando la versione Jethro (2.0) del progetto Yocto):

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

  • Vai alla directory poky:

    cd poky

  • Clona meta-raspberrypi:

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

Passaggio 3: configurazione

Configura
Configura
  • Inizializza l'ambiente di compilazione

    sorgente oe-init-build-env

  • Aggiungi meta-raspberrypi a BBLAYERS in conf/bblayers.conf, dopodiché dovrebbe essere simile (ma nel tuo caso con percorsi diversi) a:

    BBLAYER ?=

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

  • Apri conf/local.conf e cambia MACHINE in raspberrypi, raspberrypi0, raspberrypi2 o raspberrypi3 a seconda del tuo modello Raspberry Pi, ad esempio:

    MACCHINA ??= "raspberrypi2"

  • Aggiungi la seguente riga a conf/local.conf per impostare la memoria GPU in megabyte:

    GPU_MEM = "16"

  • Facoltativamente, aggiungi la seguente riga a conf/local.conf per sostituire System V con systemd:

    DISTRO_FEATURES_append = " systemd"

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

  • Facoltativamente, aggiungi la seguente riga a conf/local.conf per includere il gestore di rete della riga di comando connman nell'immagine:

    IMAGE_INSTALL_append = "connmanconnman-client"

Passaggio 4: crea un'immagine

Costruisci un'immagine
Costruisci un'immagine
  • Esegui il seguente comando per creare un'immagine minima di una distribuzione GNU/Linux per il tuo Raspberry Pi:

    bitbake rpi-basic-image

Tieni presente che la compilazione potrebbe richiedere fino a diverse ore a seconda dell'hardware del tuo personal computer e della velocità della connessione Internet.

Passaggio 5: scheda SD flash

Quando la build sarà completata, l'immagine verrà posizionata nel seguente percorso nella directory di build: tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg.

Collega una scheda microSD al tuo computer, sostituisci X con il suo ID corrispondente (che può essere trovato tramite comandi come lsblk o fdisk -l) ed esegui i seguenti comandi per far lampeggiare l'immagine su di esso:

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

In alternativa, se preferisci puoi usare bmaptool invece di dd.

Fai molta attenzione durante il flashing della scheda SD e assicurati di utilizzare la lettera giusta per il percorso del dispositivo. Fallo a tuo rischio e tieni presente che un errore potrebbe danneggiare un'unità sul tuo personal computer!

Passaggio 6: avvio e test

Avvia Raspberry Pi ed esegui i seguenti passaggi per verificare che l'immagine funzioni correttamente:

  • Accedi come root senza alcuna password
  • Se connman è installato, verifica che i suoi servizi systemd siano stati caricati:

    systemctl status -l connman

Consigliato: