Compile Linux V4L-DVB media_build para un kernel específico (no el que se está ejecutando)

Compile Linux V4L-DVB media_build para un kernel específico (no el que se está ejecutando)

¿Es posible compilar elLinuxTV.org V4L-DVB media_build¿Para una fuente del kernel contenida en una ruta específica, en lugar de la que se está ejecutando (es decir, una versión diferente)?

Tengofuentes del núcleoy en/root/mytest/linux-3.12.6(vainilla) y la configuración del kernel en/root/mytest/linux-3.12.6/.configpero no puedo encontrar una manera de decirle./construirguión está ahí.

Por ejemplo:

# make tar DIR=/root/mytest/linux-3.12.6

falla porque no puede encontrar algunos archivos:

tar: mm/frame_vector.c: Cannot stat: No such file or directory
tar: include/linux/fence.h: Cannot stat: No such file or directory
tar: include/linux/of_graph.h: Cannot stat: No such file or directory
tar: include/linux/dma/xilinx_dma.h: Cannot stat: No such file or directory
tar: include/trace/events/v4l2.h: Cannot stat: No such file or directory
tar: include/trace/events/vb2.h: Cannot stat: No such file or directory
tar: include/uapi/linux/lirc.h: Cannot stat: No such file or directory
tar: include/uapi/linux/media-bus-format.h: Cannot stat: No such file or directory
tar: include/uapi/linux/vsp1.h: Cannot stat: No such file or directory
tar: include/uapi/linux/xilinx-v4l2-controls.h: Cannot stat: No such file or directory
tar: include/uapi/linux/smiapp.h: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
make: *** [tar] Error 2

Respuesta1

La solución era bastante sencilla pero no tan bien "publicada"; Lo encontré en una discusión disponible.aquí. Básicamente, primero tienes que construir el kernel en su propia ruta (con make allmodconfigy make init) y luego, enmedia_build, tu corres:

# make release DIR=/root/mytest/linux-3.12.6

make -C /root/mytest/media_build/v4l release
make[1]: Entering directory `/root/mtest/media_build/v4l'
Searching in /root/mytest/linux-3.12.6/Makefile for kernel version.
Forcing compiling to version 3.12.6
make[1]: Leaving directory `/root/mytest/media_build/v4l'

# ./build

Como puede ver, selecciona la versión correcta del kernel de la ruta que especificó con eldireccióncambiar.

información relacionada