от Lucifer

Нали ме знаете, че съм си гаден geek, та винаги гледам да съм с последните версии на каквото е излязло … дори с последни версии на ядрото на Slackware-а с който работя в къщи.

Kernel-а който излезе на 9-ти беше 2.6.32.3 и разбира се първата ми работа беше да го инсталирам, да го прекомплирам за да открива и 4-те GB RAM и да си направя initrd.gz за да мога да си пускам машината (аз съм гаден параноик и съм я криптирал)  …

Всичко мина добре. Влязох като root и махнах стария fglrx.9.12 компилиран за 2.6.29.6.

Стартирах инсталатора … и каква беше изненадата ми, когато вместо „Instalation complete“, получих съобщението „There were errors compiling driver. Please refer to fglrx-install.log“

WTF??? Какви грешки бе!

nano /usr/share/ati/fglrx-install.log

[Message] Kernel Module : Trying to install a precompiled kernel module.
[Message] Kernel Module : Precompiled kernel module version mismatched.
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/2.6.32.3-smp/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-2.6.32.3'
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
In file included from /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:443:
/lib/modules/fglrx/build_mod/2.6.x/drm_proc.h: In function ‘FGLDRM__vma_info’:
/lib/modules/fglrx/build_mod/2.6.x/drm_proc.h:497: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 5 has type ‘phys_addr_t’
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_MapPageToPfn’:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1586: warning: unused variable ‘bus_addr’
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_io.o
/lib/modules/fglrx/build_mod/2.6.x/kcl_io.c: In function ‘KCL_IO_FASYNC_Terminate’:
/lib/modules/fglrx/build_mod/2.6.x/kcl_io.c:122: error: ‘SIGIO’ undeclared (first use in this function)
/lib/modules/fglrx/build_mod/2.6.x/kcl_io.c:122: error: (Each undeclared identifier is reported only once
/lib/modules/fglrx/build_mod/2.6.x/kcl_io.c:122: error: for each function it appears in.)
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_io.o] Error 1
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.32.3'
make: *** [kmod_build] Error 2
build failed with return value 2
[Error] Kernel Module : Failed to compile kernel module - please consult readme.

Какво по …

И отново старото ровене в чичо google … 2 дни без хубаво видео … няма да ви описвам мъките си … докато на някакъв забит пост в някакъв забит форум не намерих как да го оправя … а то се оказа и много просто – явно в новата ядро са отделили част от нещата в нов header file …

Ето и решението step-by-step:

01. Сваляте си драйверите от сайта на ATI.
02. Стартирате run-а с опция –extract
03. Отваряте fglrx-install.nqkakuv_string/common/lib/modules/fglrx/build_mod/kcl_io.c където добавяте:

#include <linux/signal.h>

04. В fglrx-install.nqkakuv-string стартирате sh ./ati-installer.sh 8.5912 –install
05. reboot … and that is all …

Лесно нали? Някъде из нет-а се мотат готови .patch, но нямах време и желание да търся … за това използвах nano … и го направих на ръка … лесно и бързо … веднъж като знаеш какво ти трябва …

Надвявам, се да помогна на някого.


Ваш,

Lucifer

2 Отговори на “Kernel 2.6.32.x и ATI Catalyst (GeekTime)”

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

 

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.