Скомпилируйте Linux V4L-DVB media_build для конкретного ядра (не работающего)

1274
virtualdj

Можно ли скомпилировать LinuxTV.org V4L-DVB media_build для источника ядра, содержащегося в определенном пути, вместо запущенного (то есть другой версии)?

У меня есть исходные коды ядра и /root/mytest/linux-3.12.6 (vanilla), а также конфиг ядра в /root/mytest/linux-3.12.6/.config, но я не могу найти способ сказать ./build сценарий он там.

Например:

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

не удается, потому что он не может найти некоторые файлы:

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 ответ на вопрос

0
virtualdj

Решение было довольно простым, но не так хорошо «опубликовано»; Я нашел это в обсуждении, доступном здесь . По сути, сначала вы должны собрать ядро ​​по его собственному пути (с помощью make allmodconfigи make init), а затем, в media_build, запустить:

# 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 

Как вы можете видеть, он выбирает правильную версию ядра по пути, указанному вами с помощью переключателя DIR .

Похожие вопросы