make терпит неудачу, потому что он не знает "headers_install"
Я пытаюсь настроить 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-файле.
Что я должен делать?
Я взглянул на make-файл ядра 3.2.6. Я нашел там:
headers_install: __headers
$(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/asm/Kbuild),, \
$(error Headers not exportable for the $(SRCARCH) architecture))
$(Q)$(MAKE) $(hdr-inst)=include
$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/asm $(hdr-dst)
Кажется, это вызывает второй make-файл Makefile.headersinst
,
Но что это делает?
Я попытался использовать 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
Понятия не имею, что я могу попробовать сейчас.