Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Ошибка при компиляции драйвера  (Прочитано 3452 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн SmithSplit

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Ошибка при компиляции драйвера
« : 07 Февраля 2012, 22:44:19 »
Пытаюсь установить драйвер на Ubuntu 10.04 и полный крах, возникает одна и та же ошибка:
Нет правила для сборки цели `kernel/bounds.c', требуемой для `kernel/bounds.s'.  Останов.
В директории, куда был распакован архив с драйверами /home/smithsplit/AVR-ISP500_linux_driver возникает файл
ftdi_sio.ko, что говорит об ошибке компиляции.

Вот,что в терминале выбивает:

smithsplit@smithsplit-desktop:~$ cd /home/smithsplit/AVR-ISP500_linux_driver
smithsplit@smithsplit-desktop:~/AVR-ISP500_linux_driver$ sudo make
make -C /lib/modules/2.6.32-38-generic/build M= modules
make[1]: Вход в каталог `/usr/src/linux-headers-2.6.32-38-generic'
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-x86
make[2]: *** Нет правила для сборки цели `kernel/bounds.c', требуемой для `kernel/bounds.s'.  Останов.
make[1]: *** [prepare0] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-headers-2.6.32-38-generic'
make: *** [all] Ошибка 2
smithsplit@smithsplit-desktop:~/AVR-ISP500_linux_driver$ make
make -C /lib/modules/2.6.32-38-generic/build M=/home/smithsplit/AVR-ISP500_linux_driver modules
make[1]: Вход в каталог `/usr/src/linux-headers-2.6.32-38-generic'
  CC [M]  /home/smithsplit/AVR-ISP500_linux_driver/ftdi_sio.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/smithsplit/AVR-ISP500_linux_driver/ftdi_sio.mod.o
  LD [M]  /home/smithsplit/AVR-ISP500_linux_driver/ftdi_sio.ko
make[1]: Выход из каталога `/usr/src/linux-headers-2.6.32-38-generic'

Вот, что написано в Readme:

Instructions to install a new driver

BIG FAT NOTE!!!
It is highly advisible to use the latest linux kernel available. The files provided here are the original
FTDI drivers taken from the source files of kernel 2.6.32.24 (folder is: drivers/usb/serial/) with added
support for Olimex VID (0x15BA) and PIDs of our devices. These driver source files were
successfully built and tested on Ubunto 10.04 platform but with any other kernel/distribution you might
expect compile or runtime errors with this module.

To install the ftdi_sio driver use the following steps:

1. Create a temporary folder in your linux machine.
2. Extract the files from ftdi_sio_olimex.tar.gz file to your temporary folder
   "gunzip ftdi_sio_olimex.tar.gz"
   "tar -xvf ftdi_sio_olimex.tar"
3. Navigate to the newly created folder and build the driver
   "make"
   You should now have a ftdi_sio.ko file in the directory. If such a file is not present you haven't
   compiled your driver successfully. Please see bottom section of this file for troubleshooting info!
4. Plug in your device
5. Check to see if the default driver was loaded
   "lsmod | grep ftdi" - you will see ftdi_sio if a driver is loaded
6. Remove the default installed driver
   "sudo rmmod ftdi_sio"
7. Load the newly built driver
   "sudo insmod ftdi_sio.ko"
8. Check if everithing is ok
   "ls /dev"
   You should have a file named smth like: ttyUSB0
OPTIONAL:
10.   You may substitute the original driver file to include support for your device
   "cp ftdi_sio.ko /lib/modules/$(uname –r)/kernel/drivers/usb/serial"
      * You may wish to rename the original "ftdi_sio.ko" file to have it available just in case.

*** TROUBLESHOOTING ***

   - in order to compile your driver you need to have the header files of your kernel somewhere in your
   file system. The default path used by the Makefile is '/lib/modules/$(uname -r)/build' but you can change it
   by editing the Makefile.
   - Compile errors in most cases are due to changes in the kernel headers. The best way to cope with this
   problem is to extract source files of the ftdi driver of the kernel source tree (get it form http://www.kernel.org)
   and manually add Olimex's VID and PID for this device. Take a look in:
   http://www.ftdichip.com/Support/Documents/TechnicalNotes/TN_106_Adding_Custom_VID_PID_In_Linux_FT_000106.pdf
   for instructions (you could also consult the supplied source files for support).


*** TROUBLESHOOTING *** конечно подсказка, но там как-то...даже не знаю.Как я понимаю что-то с headers.Подскажите, пожалуйста, как решить эту проблему?

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Ошибка при компиляции драйвера
« Ответ #1 : 20 Февраля 2012, 18:30:40 »
Пытаюсь установить драйвер на Ubuntu 10.04 и полный крах, возникает одна и та же ошибка:
Нет правила для сборки цели `kernel/bounds.c', требуемой для `kernel/bounds.s'.  Останов.
В директории, куда был распакован архив с драйверами /home/smithsplit/AVR-ISP500_linux_driver возникает файл
ftdi_sio.ko, что говорит об ошибке компиляции.

Ну и что? разрешилась эта задача?
Почему файл ftdi_sio.ko "говорит об ошибке"? вообще то это формат созданного модуля.
А если говорит "нет цели" - так её действительно нет ;) ... но для этого Makefile нужно смотреть.

smithsplit@smithsplit-desktop:~/AVR-ISP500_linux_driver$ sudo make
make -C /lib/modules/2.6.32-38-generic/build M= modules
make[1]: Вход в каталог `/usr/src/linux-headers-2.6.32-38-generic'
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-x86
make[2]: *** Нет правила для сборки цели `kernel/bounds.c', требуемой для `kernel/bounds.s'.  Останов.
make[1]: *** [prepare0] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-headers-2.6.32-38-generic'
make: *** [all] Ошибка 2
smithsplit@smithsplit-desktop:~/AVR-ISP500_linux_driver$ make
make -C /lib/modules/2.6.32-38-generic/build M=/home/smithsplit/AVR-ISP500_linux_driver modules
make[1]: Вход в каталог `/usr/src/linux-headers-2.6.32-38-generic'
  CC [M]  /home/smithsplit/AVR-ISP500_linux_driver/ftdi_sio.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/smithsplit/AVR-ISP500_linux_driver/ftdi_sio.mod.o
  LD [M]  /home/smithsplit/AVR-ISP500_linux_driver/ftdi_sio.ko
make[1]: Выход из каталога `/usr/src/linux-headers-2.6.32-38-generic'
Вообще то это протокол нормальной сборки модуля (только sudo для make совсем не обязательно).

*** TROUBLESHOOTING *** конечно подсказка, но там как-то...даже не знаю.Как я понимаю что-то с headers.Подскажите, пожалуйста, как решить эту проблему?
Ну так что со сборкой?

 

Страница сгенерирована за 0.069 секунд. Запросов: 25.