Компиляция драйверов Redhat - PullRequest
0 голосов
/ 25 июня 2009

Я совершенно новичок в компиляции драйверов для Linux и у меня возникли некоторые проблемы!

Я пытаюсь скомпилировать драйвер для USB-устройства.

Результат:

<code>
[thayoz@lacalpc13 linux]$ make
for i in driver lib qrng ; do cd $i && (make all || exit ) && cd ..; done
make[1]: Entering directory <code>/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver'
make -C /usr/src/kernels/ M=/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver V=1 modules
make[2]: Entering directory</code>/usr/src/kernels'
make[2]: <strong>* No rule to make target <code>folder/Quantis-USB/src/linux/driver'.  Stop.
make[2]: Leaving directory</code>/usr/src/kernels'
make[1]: *</strong> [all] Error 2
make[1]: Leaving directory `/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver'
/bin/sh: line 0: cd: lib: No such file or directory
/bin/sh: line 0: cd: qrng: No such file or directory
make: *** [all] Error 1

Я не знаю, что не так ???

Ответы [ 3 ]

1 голос
/ 12 августа 2009

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

/ home / thayoz / Рабочий стол / папка без названия / Quantis-USB ...

Обратите внимание на пространство в «папке без названия».

Похоже, что make принимает каталог модуля как:

/ дома / thayoz / Desktop / без названия

И

папка / Quantis-USB / SRC / Linux / драйвер

передается для создания в качестве дополнительного аргумента (возможно, цель для построения).

Попробуйте переименовать папку / home / thayoz / Desktop / без названия в / home / thayoz / Desktop / untitledfolder 'и посмотрите, что получится.

0 голосов
/ 12 августа 2009

Обычно что-то вроде:

make -C <directory to kernel source> M=<directory to module/driver source> modules
make -C <directory to kernel source> M=<directory to module/driver source> modules_install

достаточно.

Ваш драйвер поставляется с make-файлом? Вы компилируете против подходящих исходников ядра, например, правильной версии?

0 голосов
/ 25 июня 2009

Мое понимание общей процедуры сборки части программного обеспечения, упакованного с использованием системы сборки GNU:

  1. Запустите скрипт .configure. Этот скрипт проверяет среду сборки в вашей системе, проверяет наличие всех необходимых исполняемых файлов, библиотек и т. Д. И создает работающий Makefile.
  2. Запустите make. При этом используется Makefile, сгенерированный на шаге 1, для сборки двоичного файла.
  3. Запустите make install. Это устанавливает двоичный файл в правильное место в системе.

Система сборки GNU

Запускали ли вы скрипт .configure, поставляемый с пакетом драйверов?

...