Ядро 2.6.10-rc1 и Nvidia

От няколко дена дена се мъча с новото ядро 2.6.10-rc1, т.е. не със самото ядро, а с драйвера на nvidia, който за мое учудване не искаха да се компилират. Към ядорото първо добавих колекцията от добавки на Kolivas, както и подръжка на supermout (благодаря на Павел за помощта при компилирането). Както и да е, с ядорото горе-долу се оправих и тръгна, но проблема беше в драйвера на NVidia. Постоянно твърдеше, че го компилирам с грешен изходен код на ядрото и дори като му го задам ръчно с –kernel-source-path пак не ставаше. Гледам аз логовете и всичко изглежда наред, самата компилация минава без проблеми, но не може да зареди модула. Дори пробвах номера да копирам модула от /tmp преди да завърши инсталацията, но не стана . След десетки опити и гледане в "advance" опциите на nvidia-installer, реших да добавя и опцията –kernel-name, въпреки че uname -r си връщаше правилната версия, и за учудване стана ! Т.е. инсталацията мина успешно, или поне така твърдеше. Веднага пробвах modprobe nvidia и пуффф – грешка ! Unresolved symbols или нещо такова … гледам dmesg пълно с :

nvidia: Unknown symbol pci_find_class

Веднага един google с горепосочената грешка и попаднах на един блог, в който разбрах, че са сменили името на функцията pci_find_class на pci_get_class. Отивам в директорията с драйвера на nvidia, правя един grep и гледам че въпросната функция я има (само) във файла nv.c . Променям й името на всички места на които я има, пускам отново nvidia-installer и воаля ! имам вече нов модул !!!

Сега, доволен от успеха си, седя и си блогвам спокойно с новото ядро 🙂

Извод от този пост : когато имате свободата на отворения код и силата на google и Интернет, не се отказавайте, а търсете, учете и ще постигнете каквото сте си наумили, независимо дали е малко и незначително или голямо и велико ! Само липсата на желание може да Ви спре !

Коментирай