Настройка buildroot для старых ядер - PullRequest
2 голосов
/ 19 февраля 2012

Я пытаюсь настроить buildroot для кросс-компиляции пользовательского приложения.

/ # uname -a
Linux Venus 2.6.12.6-VENUS #323634 Wed May 25 13:40:36 CST 2011 mips unknown

Пока что я выбрал версию ядра 2.6.12.6 в buildroot.Теперь у меня проблема в том, что команда make терпит неудачу, крича, что правило headers_install неизвестно.

Вот полный вывод:

~/buildroot-2011.11$ make
(cd /root/buildroot-2011.11/output/toolchain/linux-2.6.12.6; \
         /usr/bin/make -j2 ARCH=mips \
                HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" \
                HOSTCXX="/usr/bin/g++" \
                INSTALL_HDR_PATH=/root/buildroot-2011.11/output/toolchain/linux headers_install; \
        )
make[1]: Entering directory `/root/buildroot-2011.11/output/toolchain/linux-2.6.12.6'
Makefile:485: .config: Datei oder Verzeichnis nicht gefunden
make[1]: *** Keine Regel, um »headers_install« zu erstellen.  Schluss.
make[1]: Leaving directory `/root/buildroot-2011.11/output/toolchain/linux-2.6.12.6'
make: *** [/root/buildroot-2011.11/output/toolchain/linux/.configured] Fehler 2

Я думаю, что проблемачто это старое ядро ​​не имеет этой опции в своем make-файле.

Моей следующей попыткой было использование Makefile и каталога scripts нового ядра 3.2.6 путем замены старого.

Вот вывод:

# make
(cd /root/buildroot-2011.11/output/toolchain/linux-2.6.12.6; \
         /usr/bin/make -j2 ARCH=mips \
                HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" \
                HOSTCXX="/usr/bin/g++" \
                INSTALL_HDR_PATH=/root/buildroot-2011.11/output/toolchain/linux headers_install; \
        )
make[1]: Entering directory `/root/buildroot-2011.11/output/toolchain/linux-2.6.12.6'
  CHK     include/linux/version.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/unifdef
Makefile:1059: *** Headers not exportable for the mips architecture.  Schluss.
make[1]: Leaving directory `/root/buildroot-2011.11/output/toolchain/linux-2.6.12.6'
make: *** [/root/buildroot-2011.11/output/toolchain/linux/.configured] Fehler 2

Понятия не имею, что я могу попробовать сейчас.Что мне делать?

Ответы [ 3 ]

5 голосов
/ 11 мая 2012

Все современные инструменты, которые создают цепочки кросс-компиляции, полагаются на ядро, реализующее цель headers_install.Поэтому, как предположил Шон, вы можете попробовать использовать более старую версию Buildroot, но я думаю, что мы использовали исключительно headers_install уже довольно давно, поэтому вам придется вернуться в прошлое и столкнуться со многими другими проблемами.

А как насчет обновления вашего ядра?

0 голосов
/ 23 июня 2015

Вы должны заменить headers_install на install в файле:

package / linux-fusion / linux-fusion.mk

Есть строка

$ (TARGET_CONFIGURE_OPTS) $ (MAKE) $ (LINUX_FUSION_MAKE_OPTS) INSTALL_MOD_PATH = $ (STAGING_DIR) -C $ (@ D) headers_install

Найдено здесь .

0 голосов
/ 19 августа 2013

Если вы используете toolchain с нуля с buildroot, вы можете настроить заголовочные файлы toolchain, а затем настроить ядро ​​в соответствии с toolchain, это будет хорошо.

...