Embedded Linux Utvikling i 6 Easy Steps

Siste måned jeg introduserte Yocto prosjektet her på Linux.com med den fengende tittelen Komme i gang med embedded Linux og Yocto Project. Men til tross for tittelen, det var svært lite i det innlegget som er beskrevet akkurat hvordan du skal komme i gang. Jeg er her i dag for å rette opp denne situasjonen.

Det beste å gjøre er å stole på dokumentasjonen Yocto Project, starter med Yocto Prosjekt Kort innføring. Det som følger nedenfor er en rask destillasjon av informasjonen i hurtigveiledningen, men det anbefales sterkt å lese hele dokumentet før du begynner. Selvfølgelig er dette bare toppen av isfjellet for embedded Linux utvikling.

    Bruk en Linux desktop system som vert. Den Yocto Prosjekt fungerer best med en stor desktop distro som Opensuse, Fedora, CentOS, eller Ubuntu, men (teoretisk) kan gjøres for å fungere med alle Linux-system. Sørg for å installere alle nødvendige pakker fra distro depot -. Se Hurtigstart for en liste (bla ned til Pakkene)

    Last ned Yocto prosjektverktøy ved å gripe den gzip -ed tar filen for den nyeste utgaven, Poky 7.0 "Denzil", fra Yocto Prosjekt nettstedet nedlastingssiden, eller fra kommandolinjen som vist:
    wget http://downloads.yoctoproject.org/releases/yocto/yocto -1,2 /poky-Denzil-7.0.tar.bz2; tjære xvjf poky-Denzil-7.0.tar.bz2

    Alternativt kan du bruke følgende kommando for å få den samme utgivelsen bruker git:
    git -b Denzil git: //git.yoctoproject.org/poky.git

    I begge tilfeller ender du opp med Yocto Prosjekt bygge verktøy, i form av en forekomst av Poky build system. Poky er en referansesystem
    for Yocto Project -. Det er en fungerende eksempel på Yocto prosjektet i aksjon

    Opprett en bygge katalogen og konfigurere arbeidsmiljøet riktig med en enkelt kommando:
    kilde poky /oe-init-build-env build

    Denne kommandoen setter miljøvariabler, skaper og fyller en arbeidskatalog kalt bygge som en underkatalog av gjeldende arbeidskatalog, og gjør denne nye Plasseringen arbeidskatalogen. Du er klar til å bygge nå ... nesten.

  1. Sett opp hoved build konfigurasjonsfilen conf /local.conf for bygg din. Dette er enklere enn det høres ut. Bare redigere filen og se etter følgende konfigurasjons linjer å endre eller uncomment. Set tråder
    2x antall kjerner i vertssystemet - for en quad-core vert, for eksempel, vil dette tallet være 8. Dette vil i stor grad fremskynde byggingen din ved å utnytte alle tilgjengelige prosessorkjerner .
    BB_NUMBER_THREADS = " tråder
    " PARALLEL_MAKE = "j tråder
    " maskin? = "qemux86"

    MACHINE innstillingen angir en kjent 32-bits Intel-arkitektur med en vri - det er satt opp automatisk for å bruke QEMU hardware emulator for å kjøre det nye bildet uten å kreve noe hardware. Andre støttede verdiene for denne innstillingen er vist i conf /local.conf, inkludert qemuarm samt en rekke maskinvarearkitekturer.

  2. Bygg din distro. Merk: Dette kan ta en stund, så BitBake må laste ned alle pakkene den trenger for denne bygge, selv om vi bare bruker en minimal system. Avhengig av hastigheten på nettverkstilkoblingen, kan dette ta mellom 1,5 og 4 timer. Påfølgende bygger bare ta omtrent en time.
    Bitbake kjerne-image-minimal

    På tide å se resultatene! Starte opp nytt bilde i en QEMU emulator. Etter bootloader meldinger går forbi, kan du logge inn med root, ingen passord kreves.
    Runqemu qemux86

    Og det er det! Du har nettopp bygget og kjøre embedded Linux-distribusjon. Neste måned vil vi snakke om variasjoner på denne prosessen, særlig ved hjelp av Hob grafisk grensesnitt. (. For de som ønsker å lese videre, skriver platetopp i build katalog) Hvis du vil se enda mer av denne prosessen i aksjon, sjekk ut denne videoen:. Komme i gang med Yocto Project - New Developer Screen Tutorial

    Om forfatteren: Jeff "Jefro" Osier-Mixon har blitt vandrende hallene av Linux konferanser og innebygde og åpen kildekode programvareselskaper for ... vel, lang tid. Han jobber for Intel Corporation og fungerer som community manager for Yocto Project. Dette er den andre artikkelen i en ny månedlig serie fra Yocto prosjektet på Linux.com.