¿Cuál es la mejor manera de aprender Linux embebido? ¿Es razonable asistir a un curso de introducción de Linux incrustado a un precio de US $ 400?

La forma de aprender algo depende únicamente de cada persona, ya que prefieren diferentes estilos y técnicas.

Estos “cursos introductorios” son muchas veces inútiles ya que se adhieren a cosas extremadamente básicas como configurar el entorno Eclipse CDT y usar el complemento Target Management RSE (entorno de sistema remoto) para comunicarse con la placa / PC de destino. Al final del curso, tendrá conocimientos básicos y apuesto a que podría haber obtenido lo mismo de Internet, pero en general, pero con un período de tiempo limitado, uno no puede enfocarse en conceptos para la depuración, con la construcción de cadenas de herramientas, kernel, cargadores de arranque, redes y sistemas de archivos raíz o desarrollo de controladores de dispositivo.
En pocas palabras, terminará en Internet en busca de aumentar su conocimiento sin importar en qué curso se inscriba.

Aprender de Internet es una buena opción … excelente, pero es un proceso largo, requiere autodisciplina y sinceridad.
Libros: Embedded Linux Primer: Un enfoque práctico del mundo real (uno bueno) y mucho más (toneladas de ellos).

Aplicar su conocimiento es el aspecto más importante para que disfrute de una experiencia fluida y placentera.
Tener algunos tableros genuinos puede ayudarlo más que estos cursos introductorios:
BeagleBoard.org – hueso

BeagleBone (no BeagleBoard), Hawkboard y Raspberry Pi (en cierto modo) son buenas opciones y ahora con Intel, AMD, también presentando kits y placas a la comunidad de desarrolladores para competir con los SoC preexistentes, es un ecosistema bastante bueno que ha sido creado incluso para un principiante para comenzar con toneladas de recursos que estas juntas están ofreciendo además de su comunidad saludable en la red de Internet.

La esencia de mi respuesta es que la mejor manera de aprender Linux Embebido es emprendiendo un proyecto: grande o pequeño es una decisión que tomas dependiendo del tiempo que tengas.

He pasado por un dilema similar y voy a compartir lo que hice.

Tuvimos que comenzar un proyecto basado en visión por computadora en abril y teníamos 2 meses para completar. Tenía prácticamente cero experiencia en el uso de sistemas operativos integrados. Nuestra plataforma de hardware fue Beagleboard xM. Después de una investigación en línea, llegué a saber que Ubuntu tiene una gran base de usuarios y debería ser un buen comienzo. Entonces, lo instalamos. Luego vino la cuestión de aprender cómo usar las cosas más básicas para comenzar con nuestro desarrollo.

Lo primero que hicimos fue aprender a usar el terminal .
Los recursos que utilizamos fueron las páginas de la comunidad y la documentación del hombre.

Lo segundo que hicimos: Google-ed vorazmente . Hubo muchos casos en los que no teníamos claro qué teníamos que usar, pero la mayoría de las veces sabíamos lo que queríamos lograr. El bloque central parecía una caja negra porque éramos nuevos en el sistema operativo. Nosotros google-ed. Vorazmente Lento pero seguro, comenzamos a entender que Linux se trata de dividir las tareas más complejas en pocas más simples. Y la mayoría de las veces, estos más simples también se pueden dividir en pasos aún más simples. Y en el proceso, no solo logramos con éxito nuestras pequeñas tareas, sino que también logramos agregar varias características que no planeamos, pero que el sistema operativo simplificó tanto que no pudimos resistirnos.

Éramos dos estudiantes de electrónica trabajando en el proyecto. Lento pero seguro, nos dimos cuenta de que la experiencia práctica aumentó nuestra competencia en Embedded Linux.

No vaya a ese curso: no recordará esos comandos o instrucciones sin usarlos para lograr algo que lo haya enganchado.

La mejor salida es siempre a través. Mira, el término Embedded Linux es muy vasto, ya que contiene Linux y Embedded ambos (¡Dios!)
He estado trabajando con Linux durante 4 años y en sistemas embebidos durante 3 años.

Si su interés / pasión lo impulsa, no será muy difícil para usted. Los cursos ofrecidos no son tan malos, aunque la mayoría de las instituciones que los ofrecen carecen de un profesorado de calidad y un enfoque práctico. Pero debo decir que hay institutos en los que puedes ser mucho más alto de lo esperado, por lo que no puedes decir nada por el general.

Para aprender Linux embebido, hay una curva de aprendizaje bastante, comenzando por lo básico de Linux, configuración simple de servidores como tftp y ssh, etc., programación del sistema, muy buen conocimiento de C hasta un nivel de comodidad al usar la línea de comandos de Linux (dije esto porque uno realmente no tiene la oportunidad de ver la GUI cuando se trata de Linux Embebido …) Después de acostumbrarse a Linux, necesita aprender algunos sistemas operativos (en realidad MUCHOS bits 🙂) para pasar por el cosas del grano
Como alguien dijo correctamente, Embedded Linux Primer es el libro impresionante para la parte integrada de Linux, es decir, para comprender los cargadores de arranque y otros programas para placas basadas en Linux integradas. Aunque encuentro que faltan la mayoría de las cosas, como por qué y solo qué kernel puede ejecutarse, las cosas que gobiernan la ejecución del kernel (la parte del hardware).
Para atravesar las cosas del kernel, uno debe sentir dolor y darse el gusto de comprender el kernel de Linux, ese es el mejor libro, supongo, y para lo básico, uno puede tener el desarrollo del kernel de Linux de Robert Love.

Hay dominios que se dividen en este reino de Linux incrustado. Presentación de la placa, portabilidad del kernel, creación de BSP y cadenas de herramientas que personalizan el kernel para placas y arquitectura específicas, agregando soporte de cargador de arranque como en el arranque U o creando el firmware específico de la compañía o los cargadores de arranque de la primera etapa O escribir controladores de dispositivo para estas.

Primero compre un tablero avanzado como frambuesa pi, hueso de beagle o pandaboard.

Luego haga lo siguiente para obtener experiencia de Linux incrustado:

1. Intente portar el cargador de arranque uboot en la placa.

2.Descargue la cadena de herramientas del sistema operativo para la placa en la computadora host

3.Compilar cadena de herramientas y generar archivos de imagen, sistemas de archivos raíz

4. Intente descargar ese archivo de imagen, sistema de archivos raíz desde su computadora host a su placa usando el cargador de arranque uboot.

5. Después de la instalación exitosa del sistema operativo a bordo, intente habilitar, deshabilite algunos controladores (por ejemplo, el controlador wifi)

6. Debajo de todos los archivos del controlador y cámbielo según su aplicación.

7. Intenta conectar algunos sensores a tu placa

8.Haga que algunos scripts se ejecuten a una hora específica (por ejemplo, tiempo de arranque)

¡¡¡¡La mejor de las suertes!!!!

Puedes comprar una gran cantidad de pequeños equipos por $ 400: pequeñas placas de procesador como Beaglebone Black o Raspberry Pi, sensores, radios, todo tipo de cosas.

La pregunta más importante realmente es si tiene una idea de algo que le gustaría hacer con un sistema integrado, si tiene alguna idea y picazón que le gustaría rascarse, lo que haría que trabaje lo suficiente como para tener algo satisfactorio para mostrar cuando hayas terminado.

Si fuera yo, invertiría en un presupuesto de piezas y establecería una meta alcanzable y llegaría tan lejos como pudiera con esa meta en mente.

Bueno, depende de lo que signifiquen esos $ 400 para usted y de lo que ese curso realmente cubra. Si no tienes experiencia en hacer trabajo incrustado, un poco de mano no puede hacer daño; solo date cuenta de que este es el primer paso de un viaje de diez millones de pasos. Si no tiene experiencia en Linux de ningún tipo, mejor comience con un escritorio y agregue algunos millones de pasos más.

Esto es lo que haría. Consigue un BeagleBone Black. Fíjese un objetivo real, como agregar agregar a u-boot o abrir el PRUSS y el controlador de dispositivo asociado. Cuando te encuentres con los muros inevitables, busca y pregunta en TI E2E Community. Esto es lo mejor para tener un FAE incrustado de TI sentado a tu lado.

Hola a todos,
En mi opinión, hay tres áreas en Embedded Linux
primero es Linux Internals, que puedes hacer más en cualquier plataforma de Linux y los buenos libros son C Odessey de Vijay mukhi y Linux Interface Interface de M.Kerris
El segundo es el desarrollo de controladores de dispositivos Linux, los libros de Oreally son bastante buenos e inicialmente consume tiempo entender los controladores cuando aprendes y sigues adelante, suena interesante.
En tercer lugar, la actualización de la placa en Linux incorporado, esto implica mucho trabajo y es una buena inversión aquí comprar placas de SoC porque puede aprender y experimentar todas las áreas mencionadas anteriormente (incluida la configuración de la cadena de herramientas del compilador cruzado, la creación de controladores de dispositivos para SoC y, por lo tanto, hacer que los controladores específicos de la placa funcionen).
Después de esforzarse lo suficiente, es bueno invertir en cursos, porque a pesar de que las personas pueden tener un sólido conocimiento construido durante años de experiencia listo para dar, pero es posible que no estemos en el lado del receptor para recibirlo con sus conferencias hasta que tengamos suficiente conciencia.