Кросс-компиляция модуля ядра

Я пытаюсь выполнить кросс-компиляцию модуля ядра helloworld (2.6.x) для архитектуры ARM на моем хост Intel x86.

Цепочка инструментальных кодов для ARM находится по адресу: / home / ravi / workspace / hawk / arm-2009q3

Источник ядра находится по адресу: / home / ravi / workspace / hawk / linux-omapl1

Мой Makefile:

ARCH=arm
CROSS_COMPILE=arm-none-linux-gnueabi
obj-m := Hello.o
KDIR := /home/ravi/workspace/hawk/linux-omapl1
PWD := $(shell pwd)
default:
          $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
          $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean

Когда я запускаю make , получается .ko, который является моим хостом, что означает, что make-файл Вызов родного компилятора вместо кросс-компилятора. Что я делаю не так? Двоичные файлы кросс-компилятора находятся на моем пути.

31
задан ysth 27 August 2010 в 22:08
поделиться

1 ответ

Поместите ARCH и CROSS_COMPILE в Makefile не работает. Вам нужно поместить их в командную строку:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
34
ответ дан 27 November 2019 в 22:07
поделиться
Другие вопросы по тегам:

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