• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

251
Views
docker linux container no admite el desarrollo de controladores?

Para desarrollar el programa del controlador, necesitamos el directorio /lib/modules//build. Pero encontré debajo de la imagen acoplable de centos, incluso después de que

 yum install kernel-devel

Todavía no existe tal directorio con todo su contenido. Pregunta:

(1) ¿cómo hacer posible el desarrollo del controlador en un entorno docker linux?

(2) ¿es posible cargar este módulo desarrollado?

over 3 years ago · Santiago Trujillo
3 answers
Answer question

0

Docker no es una máquina virtual.

Ubuntu con docker no es ubuntu real.

Si desea desarrollar con ubuntu, debe usar virtualbox o vmware.

Consulta este enlace para más información

over 3 years ago · Santiago Trujillo Report

0

Docker usa el kernel de la máquina host.

over 3 years ago · Santiago Trujillo Report

0

Después de leer esta página, casi dejo de construir un módulo kernel en Docker, así que agrego esta respuesta con la esperanza de que ayude a alguien. Véase también cuál-es-la-diferencia-entre-controladores-del-kernel-y-módulos-del-kernel

Puede compilar módulos de Kernel en Docker siempre que la fuente de Kernel requerida para la compilación esté disponible dentro de Docker. Digamos que desea compilar con la última fuente del kernel disponible en sus repositorios de yum, puede instalar la fuente del kernel usando yum install kernel-devel . La fuente estará en el directorio /usr/src/kernels/<version> . Puede instalar una versión específica de kernel-devel desde su repositorio si eso es lo que desea.

Luego construya el módulo usando $ make -C <path_to_kernel_src> M=$PWD donde la ruta al código fuente del kernel sería /usr/src/kernels/<version> .

Leer - Sistema de construcción del kernel » Construcción de módulos externos

El contenedor Docker usa el kernel de la máquina host, por lo que si desea compilar contra el kernel en ejecución, es decir, el kernel de la máquina host Docker, puede intentar ejecutar el contenedor en modo privilegiado y montar el directorio de módulos. docker run --name container_name --privileged --cap-add=ALL -v /dev:/dev -v /lib/modules:/lib/modules image_id Ver esto

No debe cargar los módulos en un kernel que no sea el mismo para el que se creó el módulo. Podría forzar la instalación, pero eso es muy desaconsejable. Recuerde que su kernel en ejecución, es decir, el kernel host de Docker, es el kernel del contenedor de Docker, independientemente de la versión kernel-devel que haya instalado.

Para ver el núcleo para el que se creó el módulo (o con el que se creó), ejecute modinfo <module> y busque el valor de vermagic .

También vale la pena leer el soporte del módulo dinámico del kernel .

over 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error