Выпекать модули ядра Linux с зависимостями с помощью Openembedded - PullRequest
0 голосов
/ 19 января 2011

Модули ядра Linux (LKM) B зависят от символов, предоставленных LKM A.

Таким образом, для сборки LKM B требуется следующее:

Я использую рецепт BitBake для построения LKM A и B. Что я делаю:

  • Я распространяю файлы заголовков и таблицу символов LKM A в каталог промежуточных включений ${STAGING_INCDIR}.
  • Я передаю промежуточные включения и путь к таблице символов как KBUILD_EXTRA_SYMBOLSпеременная в Make-файл LKM B

Пример:

#BB-recipe  for LKM A 
# Staging of .h files and symbol-table 
do_install_append () {
  install -d ${STAGING_INCDIR} 
  install ${WORKDIR}/${PN}/src/*.h ${STAGING_INCDIR}/ 
  install ${WORKDIR}/${PN}/Module.symvers ${STAGING_INCDIR}/rtserial.symvers
} 

#BB-recipe for LKM B
do_compile () {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
cd "${WORKDIR}/mstp"
oe_runmake KDIR="${KERNEL_SOURCE}" \
         ARCH="${ARCH}" \
         CROSS_COMPILE="${CROSS_COMPILE}" \
         IDIR="${STAGING_INCDIR}" \
         KBUILD_EXTRA_SYMBOLS="${STAGING_INCDIR}/rtserial.symvers" \
         build
 }

Вопросы:

  • Является ли do_install_append правильной задачейразместить общие ресурсы?Я читал, что do_staging () является несколько устаревшим ...
  • Где разместить таблицу символов?

Спасибо за любые советы по рекомендациям.

1 Ответ

1 голос
/ 20 января 2011

С текущей OpenEmbedded и не "устаревшей" подготовкой промежуточная обработка больше не выполняется напрямую.Все устанавливается в стандартные местоположения с помощью do_install (то есть относительно $ {D}, а не промежуточных расположений), и система автоматически заполняет sysroot на основе этого.Итак, я бы предложил установить заголовки KVM A в $ {D} $ {includeir} / $ {PN} и установить таблицу символов в $ {D} $ {datadir} / $ {PN}, тогда KVM B по-прежнему выглядитв STAGING_INCDIR и STAGING_DATADIR, чтобы получить эти файлы.Возможно, вам придется установить NATIVE_INSTALL_WORKS = "1", чтобы он знал, что измененный do_install безопасен для использования с организацией нового стиля.

...