Compilazione di Linux V4L-DVB media_build per un kernel specifico (non quello in esecuzione)


0

È possibile compilare il LinuxTV.org V4L-DVB media_build per una fonte del kernel contenuta in un percorso specifico, invece di quella in esecuzione (cioè una versione diversa)?

io ho il fonti del kernel e in /root/mytest/linux-3.12.6 (vanilla) e la configurazione del kernel in /root/mytest/linux-3.12.6/.config ma non sono in grado di trovare un modo per dire al ./costruire lo script è lì.

Per esempio:

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

fallisce perché non riesce a trovare alcuni file:

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

Risposte:


0

La soluzione era abbastanza semplice ma non così bene "pubblicata"; L'ho trovato su una discussione disponibile Qui . Fondamentalmente, prima devi costruire il kernel nel suo percorso (con make allmodconfig e make init ) e poi, in media_build , tu corri:

# 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

Come puoi vedere, preleva la versione del kernel corretta dal percorso che hai specificato con DIR interruttore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.