Спасибо за подсказки.
в kernel-headers-v4l действительно есть нужные заголовочные файлы.
Но скомпилировать с ними не удаётся без правки исходников модуля.
К тому же содержимое пакета отличается от исходников ядра.
(Ставил пакет kernel-headers-v4l-std-def-20080422-alt2.132633.8.M41.1)
Поэтому я решил пойти другим путем:
1. Установил исходник ядра из kernel-source-2.6.25-1.0.0-alt1.src.rpm
2. Наложил на него патч из kernel-image-std-def-2.6.25-alt8.M41.1.src.rpm
3. Наложил на него патч добавляющий модуль для SF64PCR. Патч взял по ссылке
http://www.watzke.cz/files/patches/sf64pcr-linux-2.6.26.patch4. Взял Makefile и .config из /usr/src/linux-2.6.25-std-def-alt8.M41.1
5. Сделал make menuconfig и отметил нужный мне модуль
6. Выполнил make modules и пересобрал все модули.
После всех этих манипуляций я получил таки модуль radio-sf64pcr.ko, но загрузить его не получается:
если выполняю modprobe radio-sf64pcr то он не грузится, а
по dmesg пишет:
radio_sf64pcr: Unknown symbol __floatsidf
radio_sf64pcr: Unknown symbol __ltdf2
radio_sf64pcr: Unknown symbol __adddf3
radio_sf64pcr: disagrees about version of symbol video_devdata
radio_sf64pcr: Unknown symbol video_devdata
radio_sf64pcr: disagrees about version of symbol video_unregister_device
radio_sf64pcr: Unknown symbol video_unregister_device
radio_sf64pcr: disagrees about version of symbol video_register_device
radio_sf64pcr: Unknown symbol video_register_device
radio_sf64pcr: no version magic, tainting kernel.
Если загружаю принудительно, принебрегая несовпадением версий, то после
modprobe -f radio-sf64pcr
получаю
radio_sf64pcr: Unknown symbol __floatsidf
radio_sf64pcr: Unknown symbol __ltdf2
radio_sf64pcr: Unknown symbol __adddf3
Подскажите, что и почему у меня недолинковалось, ведь прямых ссылок на функции
floatsidf, ltdf2 и addd3 в исходнике модуля нет.
Или может быть у кого-нибудь есть этот модуль в скомпилированном виде?