Proyecto Yocto: Cree un sistema operativo personalizado para dispositivos integrados

14 de junio de 2020

Lang: cs en de es

El mercado de la electrónica está creciendo. Muchas empresas están desarrollando diversos proyectos con dispositivos personalizados. Estos dispositivos se denominan hardware integrado. El rendimiento del hardware ha avanzado y muchas soluciones integradas incorporan hardware potente. Y debido a todas estas razones, se están desarrollando muchos dispositivos nuevos para los que las empresas necesitan software y sistemas operativos personalizados. Hoy en día todo el mundo está optando por Linux y Yocto Project les permitirá preparar un sistema de este tipo de manera eficiente. Con Yocto Projket puedes preparar tu propia distribución para tu hardware.

Sistema de funcionamiento en el dispositivo

La mayoría de los dispositivos electrónicos actuales son en realidad ordenadores teléfonos móviles, televisores, routers. Puede que los usuarios no lo sepan, pero todos estos dispositivos suelen funcionar con GNU/Linux, que se ha convertido en el estándar para hardware embebido.

Y como Linux es un sistema de muy alta calidad y una base muy personalizable, las empresas y proyectos emergentes utilizan Linux automáticamente. Ahora los defensores a ultranza de Windows se están pasando a Linux. Incluso la propia Microsoft apoya Linux.

Empresas y desarrollo

Así que las empresas quieren usar GNU/Linux en sus dispositivos, siguiendo el ejemplo de otros. A veces las empresas no tienen experiencia y por eso no saben cómo hacerlo, por lo que cada empresa aborda el proyecto a su manera.
Desarrollar cualquier proyecto de software es un reto, especialmente los proyectos de hardware. Los desarrolladores más veteranos suelen criarse en MS DOS y los más jóvenes en Windows, por lo que desconocen la filosofía Unix. Dichos desarrolladores luchan con la preparación del sistema Linux y les resulta difícil navegar por el desarrollo de proyectos de código abierto. Aquí es donde surgen los primeros problemas derivados de la ignorancia . Sin embargo, desarrollar cualquier cosa para Linux es significativamente más fácil para el usuario conocedor.

El enfoque correcto también es importante a largo plazo. Un usuario que sólo conoce la jaula dorada de Windows suele trabajar como un elefante en la cacharrería cuando desarrolla software Unix.
Entonces es ideal que los expertos en MSDOS y Windows tomen al menos un curso básico de MSDOS y Windows Formación en Linux. También es una buena idea instalar GNU/Linux como sistema operativo principal en el ordenador del trabajo. Porque esto también proporciona al programador nuevos conocimientos y habilidades.

O una empresa puede contratar a jóvenes desarrolladores para los que Linux sea algo completamente natural.

Independientemente del tipo de desarrolladores que tenga una empresa, es para estas empresas para las que Proyecto Yocto, que les permite preparar un sistema a medida, y además universal, para que puedan preparar rápidamente el sistema para otros fines o incluso otros dispositivos. Para nuevas versiones para diferentes dispositivos. El Proyecto Yocto también agiliza el trabajo gracias a la colaboración entre desarrolladores, fabricantes y otros colaboradores. Todo lo que se necesita es familiarizarse con el Proyecto Yocto, la filosofía Unix y el código abierto.

Linux y los embebidos

Personalmente me encontré con el desarrollo embebido para linux cuando adquirí un smartphone libre OpenMoko Neo Freerunner. Por aquel entonces, programé por primera vez en lenguaje C para microprocesadores ARM. Porté con éxito las librerías de comunicación e hice interfaz con periféricos con los que con los que pude comunicarme. Hasta ahora, el fabricante de los periféricos en cuestión no soporta Linux. Pero gracias a la presión de los clientes y al trabajo de la comunidad, después de diez años al menos muestra cómo sus dispositivos pueden conectarse a Linux como lo hice una vez conectando con RasberryPI.

Por aquel entonces, la imagen del sistema se preparaba utilizando herramientas/proyectos como openembedded, buildroot o LTIB. He trabajado con todas estas herramientas....

El gran cambio se produjo cuando Linux creó el sistema de definición de HW (placa) y cuando se creó el Proyecto Yocto.

Como resultado, los desarrolladores tienen menos trabajo para preparar el sistema para otros HW, placa, o modificar el sistema según las necesidades del cliente.

Qué es el Proyecto Yocto

El Proyecto Yocto es un proyecto colaborativo de código abierto, dirigido a desarrolladores de dispositivos Linux embebidos. Entre otras cosas, el Proyecto Yocto utiliza OpenEmbedded, que utiliza la herramienta BitBake, para construir imágenes completas de Linux. Los componentes BitBake y OpenEmbedded se combinan para crear un entorno de compilación de referencia ejecutable en la máquina del desarrollador.

Con este entorno, se pueden utilizar definiciones predefinidas y personalizaciones para crear sistema completo para un dispositivo embebido específico que incluya sus aplicaciones.
Utilizando el proyecto Yocto, cualquiera puede crear su propia distribución de Linux para adaptarla a su hardware y a sus necesidades específicas. Al mismo tiempo, los principios de desarrollo de Yocto permiten la repetibilidad del proceso y garantizan autodocumentación del proyecto.

Un sistema común ya ha sido creado por otros antes que nosotros, por lo que la preparación de la primera muestra es muy fácil. Hay definiciones ya hechas para compilar e integrar programas, así que sólo tienes que especificar lo que quieres tener en tu sistema. El sistema puede adoptar la forma de un núcleo y una imagen del sistema que se cargan en la memoria flash. Los programas también se compilan como paquetes, que sólo pueden instalarse en el sistema posteriormente por lo que no hay necesidad de reconstruir toda la imagen del sistema y flashear el dispositivo cuando sólo estás haciendo un cambio programa de usuario.

Muchas plataformas están predefinidas también, y cada nueva plataforma debe ser predefinida por su fabricante. Tal definición se llama Board Support Package (BSP).

Configurar cómo compilar un sistema y programas individuales y luego construir el sistema y los paquetes a partir de ellos se define en archivos llamados recetas. Estos archivos son luego utilizados por el BitBake, que ejecuta y gestiona todo el proceso.

Vídeo Proyecto Yocto

¿Cómo se inicia Yocto?

¿Cómo se crear tu primer sistema usando Yocto se describe en el tutorial en inglés. Para realizar pruebas, basta con preparar un sistema para x86, que se ejecuta utilizando el emulador QEMU.

Brevemente, el proceso de preparación y creación de un sistema personalizado consta de los siguientes pasos:

  1. Descargar los datos fuente del proyecto Yocto.
  2. .
  3. Comprobar los requisitos del sistema e instalar las herramientas GCC make necesarias, etc.. También necesita tener mucho espacio en disco para poder hacerlo todo, porque los datos de origen son grandes y muchos, y se crearán más archivos al compilar y construir la imagen del sistema.
  4. Configura qué quieres compilar, en qué versión y para qué plataforma.
  5. Configura qué quieres compilar, en qué versión y para qué plataforma.
  6. Herramientas de compilación y construcción para compilar y construir programas y el sistema de destino. compilación cruzada (=compilar en una arquitectura diferente a la de destino) también está soportada. Así que usted no descarga ninguna cadena de herramientas (=herramienta para compilar y construir el sistema para el dispositivo), es personalizado para usted.
  7. Compilar el kernel, herramientas y programas, construir el paquete y el sistema, y construir la imagen del sistema, que se puede cargar en el dispositivo.

Colaboración

El proyecto Yocto permite trabajar eficazmente dentro de equipos y empresas. Un individuo no tiene que crear uno ya terminado. El proyecto Yocto permite a los fabricantes de hardware ofrecer dispositivos compatibles con Linux y demos listos para ejecutar del sistema. Lo que simplifica y acelera el inicio del desarrollo. El proceso de construcción del sistema puede automatizarse. Por último, pero no menos importante, un proyecto desarrollado utilizando los principios de Yocto Project es auto-documentado.

Enlaces

Proyecto Yocto
LTIB
OpenEmbedded
Buildroot
BitBake

Artículos sobre un tema similar

GitLab CI/CD: automatización de pruebas y despliegue de aplicaciones
Migración de VPS de VMware a Proxmox
Cambio en las licencias de VMware
Ejecución de Microsoft SQL Server en Linux
Copia de seguridad: el Proxmox Backup Server
Linux como router y cortafuegos
Cómo subir una imagen Docker al Registro Docker
Linux: gestión de volúmenes lógicos
Software RAID para Linux
Ejecutar una aplicación web detrás de un proxy
Migración de correo electrónico
Construcción multietapa Docker
Copia de seguridad de los datos al encender el ordenador
Podman
Importación de Windows a la virtualización Proxmox
Docker y correo PHP
Virtualización Proxmox
Docker y Cron
Lenovo ThinkPad X1 Carbon: puesta en servicio del módem LTE EM7544
Preparación de un servidor Linux para ejecutar una aplicación web en Python
Cómo solucionar el bajo rendimiento de los archivos compartidos en Docker
Cómo empezar a utilizar Docker correctamente
Instalación de Linux en un servidor HPE ProLiant DL320e dedicado
Cómo poner a prueba una aplicación web
Por qué utilizar el sistema de archivos JFS
Cómo arrancar desde un disco de 4TB con GTP usando UEFI
Sistema de archivos Btrfs
Raspberry PI
WINE - ejecución de programas Windous en Linux
Sistema operativo GNU/Linux

Boletin informativo

Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email suscripción de noticias.


+