драйвер сборки buildroot

Я использую Buildroot для компиляции встроенного linux. Он работает хорошо, потому что у меня есть целевые конфигурации Makefile, но теперь мне нужен драйвер для устройств USB. Мне удалось скомпилировать Qt appilactions (c ++) на моем хост-Linux для целевого Linux, используя buildroots /output/host/usr/bin/arm-none-linux-gnueabi-c++ . Работает хорошо.

Теперь я пытаюсь скомпилировать c-файлы для этого драйвера .

Я называю это так:

 /output/host/usr/bin/arm-none-linux-gnueabi-gcc -Wall -D__KERNEL__ -DMODULE -I/home/buildroot-2012.08/output/build/linux-2.6.35.3/include -DMODVERSIONS -include /home/buildroot-2012.08/output/build/linux-2.6.35.3/include/config/modversions.h -I /home/buildroot-2012.08/output/build/linux-2.6.35.3/drivers/usb/serial/ -O -c -o ftdi_sio.o ftdi_sio.c 

Я получаю ошибку:

output / build / linux-2.6.35.3 / include / linux / linkage.h: 5: фатальная ошибка: asm / linkage.h: нет такого файла или каталога

  1. Как мне настроить конфигурацию драйвера?
  2. Есть ли другой способ сделать это для целевого Linux. Майби, я не делаю это правильно.

One Solution collect form web for “драйвер сборки buildroot”

asm/ является символической ссылкой на вашу целевую архитектуру, если она не существует, возможно, вам не хватает какой-либо цели в вашем каталоге сборки ядра, configure (если нет, может быть, просто module_headers могут это сделать)

Из вашего вопроса неясно, используете ли вы командную строку, пользовательский Makefile или пакет Buildroot (какая версия Buildroot вы используете).

В вашей командной строке строится объект C. Не модуль ядра ( .o – расширение для модулей ядра до версии 2.4, от 2.6 оно .ko )

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

Ядро имеет возможность создавать модули, а Buildroot имеет свои возможности для пакетов, лучше всего, вероятно, создать новый пакет для сборки вашего модуля (посмотрите, есть ли еще какой-то другой пакет, который создает модуль).

Этот пример немного устарел, но может помочь.

редактировать

Модуль ftdi_sio.ko сгенерирован в каталог /lib/modules/$(uname -r)/kernel/drivers/usb/serial/

Но он также может быть сконфигурирован как builtin , так что нет .ko генерируется, проверьте символ USB_SERIAL_FTDI_SIO в вашей конфигурации (должен быть y для встроенного модуля m ).

Если он встроен или вставлен, должен быть интерфейс /proc во время выполнения на целевом объекте ftdi_sio , найдите его.

  • Поддерживает ли uClibc использование pthreads?
  • Buildroot игнорирует файлы конфигурации - создание неправильного ядра
  • Как автоматически войти в систему без ввода root в buildroot x86 64 QEMU?
  • Ограниченный набор команд Buildroot busybox
  • Является ли использование корневой файловой системы только для чтения хорошей идеей для встроенных настроек?
  • Как установить минимальный / конкретный размер rootfs в buildroot
  • Встраиваемая Linux-аудио проблема
  • Невозможно добавить serialport (nodejs module) при создании файловой системы и кросс-компиляции инструментов для ARM-процессора
  • Почему мой встроенный Linux не может обнаружить устройство sd?
  • Применение патча к uClibc
  • Почему мой файл /etc/hosts.deny игнорируется?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.