[Comm] Проблемы с Iola PLN

Андрей Жмурин =?iso-8859-1?q?zzh_=CE=C1_tula=2Enet?=
Вс Июл 17 19:04:33 MSD 2005


Добрый день.

Sergey Vlasov пишет:
>>Поставил пакет с исходниками ядра, пакет с заголовками, gcc++ 2.95.
>>Распаковал исходники, запустил make menuconfig, получил .config ядра,
>>дал на него ссылку в includes (дрова Иолы очень хотели его там видеть).
> 
> Вот это уже неправильно - вместо исходников и заголовков того ядра,
> которое на самом деле используется, были подсунуты какие-то другие.
> Или вы установили именно это пересобранное ядро?  Тогда это в принципе
> правильно, за исключением того, что скрипты сборки модулей в этом
> драйвере, как обычно, кривые.
> 

Ставил родные. Предварительно посмотрел uname -a .
 
> 0) Удалить модули, которые были собраны оригинальными скриптами, из
> /lib/modules.

Выполнил.

> 1) Поставить пакет kernel-headers-modules-std-up (версия и сборка
> этого пакета должны точно соответствовать используемому ядру - если
> ядро обновлялось из updates, то и этот пакет необходимо взять оттуда
> же).  Или kernel-headers-modules-std-smp, если используется SMP-ядро.
> При этом автоматически вытянется по зависимостям пакет
> kernel-headers-std-up и соответствующая версия компилятора (в данном
> случае - gcc2.96).

Вот, это и есть главный мой "косяк" - заголовки для модулей я не ставил.
Как следствие, и компилятор поставил "не тот".

> 2) Распаковать исходники драйвера и положить в каталог ipln/linux файл
> Makefile следующего содержания:
> 
> ===========================================================================
> obj-m := ipln.o iplnusb.o
> 
> src ?= .
> EXTRA_CFLAGS := -I$(src)/../common -DIPLN
> 
> -include $(TOPDIR)/Rules.make
> ===========================================================================
> 
> 3) Находясь в этом же каталоге, выполнить команду вида:
> 
> 	make -C /usr/src/linux-2.4.26-std-up modules SUBDIRS=`pwd`
> 
> (имя каталога зависит от версии и варианта ядра).
> 
> 4) Положить собранные модули ipln.o, iplnusb.o (или ipln.ko,
> iplnusb.ko для ядер 2.6.x) куда-нибудь в /lib/modules/<версия_ядра>
> (можно создать там подкаталог с любым разумным именем, чтобы не
> смешивать эти файлы с установленными из пакетов).
> 
> 5) Выполнить команду depmod -a.
> 
> После этого можно загружать модуль (modprobe ipln).

Откомпилировал, проверил, загрузил - всё заработало.

Большое спасибо за помощь!

--
С уважением и приветом, Жмурин Андрей



Подробная информация о списке рассылки community