Tabla de contenido:

Construyendo distribución GNU / Linux para Raspberry Pi usando el proyecto Yocto: 6 pasos
Construyendo distribución GNU / Linux para Raspberry Pi usando el proyecto Yocto: 6 pasos

Video: Construyendo distribución GNU / Linux para Raspberry Pi usando el proyecto Yocto: 6 pasos

Video: Construyendo distribución GNU / Linux para Raspberry Pi usando el proyecto Yocto: 6 pasos
Video: Building embedded GNU/Linux distribution for Raspberry Pi using the Yocto Project 2024, Noviembre
Anonim
Image
Image

Raspberry Pi es probablemente la computadora de placa única de bajo costo más popular del mercado. A menudo se utiliza para Internet de las cosas y otros proyectos integrados. Varias distribuciones de GNU / Linux tienen un excelente soporte para Raspberry Pi e incluso existe Microsoft Windows para Raspberry Pi 2.

Si desea crear Internet de las cosas (IoT) basado en Raspberry Pi y si desea hacerlo de manera profesional, se recomienda crear una distribución de Linux integrada que se ajuste a las necesidades exactas de su dispositivo. Para arrancar una distribución de Linux en Raspberry Pi, necesita un cargador de arranque, un kernel de Linux y varias aplicaciones en el espacio de usuario.

Una de las formas más populares de crear una distribución de Linux integrada personalizada es mediante el Proyecto Yocto. Yocto es un proyecto colaborativo de la fundación Linux que utiliza el marco Openembedded y el motor de compilación bitbake. Poky es el sistema de referencia del Proyecto Yocto con un ciclo de lanzamiento de seis meses. Proporciona metadatos divididos en capas y recetas para crear varios paquetes e imágenes.

Este tutorial proporciona los pasos exactos para crear una imagen con una distribución GNU / Linux mínima para Raspberry Pi, que incluye systemd y connman.

Paso 1: prepararse

Obtenga el código fuente
Obtenga el código fuente

Para este tutorial necesitará:

  • Computadora personal con distribución GNU / Linux, por ejemplo Ubuntu, en la que construirá la distribución GNU / Linux para Raspberry Pi.
  • Frambuesa pi
  • Tarjeta microSD o SD según la versión de su Raspberry Pi
  • Cable HDMI y monitor
  • Teclado USB
  • Fuente de alimentación

Instale los paquetes requeridos en su computadora personal dependiendo de su distribución GNU / Linux: https://www.yoctoproject.org/docs/2.0/yocto-projec… Notas (por Yunus EmreI):

  • No puede hornear una imagen si su directorio de inicio está encriptado porque no permite nombres de archivo largos
  • La compilación inicial lleva mucho tiempo si tiene una conexión lenta
  • Mientras parpadea la imagen en la tarjeta SD, asegúrese de seleccionar el / dev / sdX principal, no el / dev / sdXp1 u otra variación de la parte interna

Paso 2: Obtenga el código fuente

Realice las siguientes acciones en su computadora personal:

  • Clone Poky usando Git (en este caso estoy descargando la versión Jethro (2.0) del Proyecto Yocto):

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

  • Ir al directorio poky:

    cd poky

  • Clonar meta-raspberrypi:

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

Paso 3: configurar

Configurar
Configurar
  • Inicializar el entorno de compilación

    fuente oe-init-build-env

  • Agregue meta-raspberrypi a BBLAYERS en conf / bblayers.conf, luego debería ser similar (pero en su caso con diferentes rutas) a:

    BBLAYERS? =

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

  • Abra conf / local.conf y cambie MACHINE a raspberrypi, raspberrypi0, raspberrypi2 o raspberrypi3 dependiendo de su modelo de Raspberry Pi, por ejemplo:

    MÁQUINA ?? = "raspberrypi2"

  • Agregue la siguiente línea a conf / local.conf para configurar la memoria de la GPU en megabytes:

    GPU_MEM = "16"

  • Opcionalmente, agregue la siguiente línea a conf / local.conf para reemplazar System V con systemd:

    DISTRO_FEATURES_append = "systemd"

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

  • Opcionalmente, agregue la siguiente línea a conf / local.conf para incluir el administrador de red de línea de comando connman en la imagen:

    IMAGE_INSTALL_append = "connman connman-cliente"

Paso 4: crea una imagen

Construye una imagen
Construye una imagen
  • Ejecute el siguiente comando para crear una imagen mínima de una distribución GNU / Linux para su Raspberry Pi:

    bitbake rpi-imagen-básica

Tenga en cuenta que la compilación puede tardar varias horas, según el hardware de su computadora personal y la velocidad de la conexión a Internet.

Paso 5: Tarjeta SD Flash

Cuando se complete la compilación, la imagen se ubicará en la siguiente ruta en su directorio de compilación: tmp / deploy / images / raspberrypi2 / rpi-basic-image-raspberrypi2.rpi-sdimg.

Conecte una tarjeta microSD a su computadora, reemplace X con su ID correspondiente (que se puede encontrar a través de comandos como lsblk o fdisk -l) y ejecute los siguientes comandos para flashear la imagen en ella:

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

Alternativamente, si lo prefiere, puede usar bmaptool en lugar de dd.

Tenga mucho cuidado al flashear la tarjeta SD y asegúrese de estar usando la letra correcta para la ruta al dispositivo. Hágalo bajo su propio riesgo y tenga en cuenta que un error podría dañar una unidad de su computadora personal.

Paso 6: arranque y prueba

Inicie Raspberry Pi y ejecute los siguientes pasos para verificar que la imagen funciona correctamente:

  • Inicie sesión como root sin contraseña
  • Si connman está instalado, verifique que se hayan cargado sus servicios systemd:

    systemctl status -l connman

Recomendado: