Kompilieren Sie Linux V4L-DVB media_build für einen bestimmten Kernel (nicht den laufenden).

1346
virtualdj

Ist es möglich, das LinuxTV.org V4L-DVB media_build für eine Kernel-Quelle zu kompilieren, die in einem bestimmten Pfad enthalten ist, anstatt eines laufenden Pfads (dh einer anderen Version)?

Ich habe die Kernel-Quellen und in /root/mytest/linux-3.12.6 (Vanilla) und die Kernel-Konfiguration in /root/mytest/linux-3.12.6/.config, aber ich kann keinen Weg finden, dies zu sagen das ./build-Skript ist da.

Zum Beispiel:

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

schlägt fehl, da einige Dateien nicht gefunden werden können:

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 
0

1 Antwort auf die Frage

0
virtualdj

Die Lösung war ziemlich einfach, aber nicht so gut "veröffentlicht"; Ich habe es in einer Diskussion hier gefunden . Grundsätzlich müssen Sie zuerst den Kernel in einem eigenen Pfad (mit make allmodconfigund make init) erstellen und dann in media_build Folgendes ausführen:

# 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 

Wie Sie sehen, wird die korrekte Kernel-Version von dem Pfad abgerufen, den Sie mit dem DIR- Schalter angegeben haben.