Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
bash-3.1# sh ./ati* --buildpkg Slackware/All
Created directory fglrx-install.2V42J6
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.476.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Generating package: Slackware/All
ATI SlackBuild Ver. 1.2.0
--------------------------------------------
by: Emanuele Tomasi <tomasiATcli.di.unipi.it>
Ezio Ghibaudo<ekxiusATgmail.com>
Federico Rota<federico.rota01ATgmail.com>
ATI module generator V 2.0
==========================
initializing...
cleaning...
patching 'highmem.h'...
assuming new VMA API since we do have kernel 2.6.x...
Assuming default VMAP API
Assuming default munmap API
doing Makefile based build for kernel 2.6.x and higher
make -C /lib/modules/2.6.25/build SUBDIRS=/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-2.6.25'
CC [M] /home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KCL_SetPageNoCache':
/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1161: warning: 'change_page_attr' is deprecated (declared at include/asm/cacheflush.h:28)
/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KCL_PosixSecurityCapGetEffectiveVector':
/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1888: error: implicit declaration of function 'cap_t'
/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KCL_PosixSecurityCapSetEffectiveVector':
/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1896: error: lvalue required as left operand of assignment
/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function '__che_check_pci':
/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1951: warning: 'pci_find_slot' is deprecated (declared at include/linux/pci.h:508)
/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function '__che_pci_find_slot':
/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2840: warning: 'pci_find_slot' is deprecated (declared at include/linux/pci.h:508)
make[2]: *** [/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/home/vasco/Desktop/fglrx-install.2V42J6/common/lib/modules/fglrx/build_mod/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.25'
make: *** [kmod_build] Error 2
build failed with return value 2
Error -> I don't have make module
Removing temporary directory: fglrx-install.2V42J6
CONFIG_PCI_LEGACY è attivata nel config-2.6.25, ed il kernel è stato compilato in /usr/src/linux.
Con il 2.6.24.4 compilato da me con le stesse configurazioni del 2.6.25, funziona perfettamente.
Qualche altra idea?
Yellowhat ha scritto:Scusa non ho capito bene dove devo mettere la patch. [-o< [-o< [-o<
Dunque, salvi il contenuto del codice che ho postato in un file con un nome qualsiasi in una posizione qualsiasi.
Lanci poi da root : "patch -p0 < nome_del_file".
Prima di eseguire questa operazione, lancia l'installer ATI, anche se non va a buon fine, così facendo dovresti avere la dir "/lib/modules/fglrx" dove appunto "patch" cercherà il file incriminato da modificare "firegl_public.c".
bash-3.1# patch -p0 < patchati
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- /lib/modules/fglrx/build_mod/firegl_public.c.orig 2008-04-06 01:20:21.000000000 -0300
|+++ /lib/modules/fglrx/build_mod/firegl_public.c 2008-04-06 01:17:58.000000000 -0300
--------------------------
File to patch: /home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/firegl_public.c
patching file /home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/firegl_public.c
patch: **** malformed patch at line 5: KCL_TYPE_Cap ATI_API_CALL KCL_PosixSecurityCapGetEffectiveVector()
bash-3.1# patch -p0 < patchati2
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- common/lib/modules/fglrx/build_mod/firegl_public.c.orig 2008-04-06 02:10
|:13.000000000 -0300
|+++ common/lib/modules/fglrx/build_mod/firegl_public.c 2008-04-06 02:23:05.0000
|00000 -0300
--------------------------
File to patch: /home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/firegl_public.c
patching file /home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/firegl_public.c
patch unexpectedly ends in middle of line
Hunk #2 succeeded at 1159 with fuzz 1.
bash-3.1# ./fglrx/common/lib/modules/fglrx/build_mod/make.sh
ATI module generator V 2.0
==========================
initializing...
./fglrx/common/lib/modules/fglrx/build_mod/make.sh: line 537: [: =: unary operator expected
./firegl_public.c: required file is missing in build directory
bash-3.1# ./fglrx/common/lib/modules/fglrx/make_install.sh
*** WARNING ***
Tailored kernel module for fglrx not present in your system.
You must go to /lib/modules/fglrx/build_mod subdir
and execute './make.sh' to build a fully customed kernel module.
Afterwards go to /lib/modules/fglrx and run './make_install.sh'
in order to install the module into your kernel's module repository.
(see readme.txt for more details.)
As of now you can still run your XServer in 2D, but hardware accelerated
OpenGL will not work and 2D graphics will lack performance.
failed.
File to patch: /home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/firegl_public.c
patching file /home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/firegl_public.c
Queste due linee non mi tornano, come se cercasse il file altrove...
Fammi sapere, in caso ti passo direttamente il file "firegl_public.c" patchato via PM.
e poi patchare il file in fglrx/common/lib/modules/fglrx/build_mod/firegl_public.c
Si, se il file si trova in un altro percorso però, devi cambiare il percorso nel patch file.
Altra cosa, ho fatto delle prove e in effetti ho notato che passando per il forum il codice perde delle caratteristiche (indentazioni e spazi), quindi è un altro motivo per cui non funziona,
mandami la tua mail via "MP" che ti invio il patchfile corretto.
bash-3.1# ./make.sh
ATI module generator V 2.0
==========================
initializing...
./make.sh: line 537: [: =: unary operator expected
Error: could not resolve matching ip-library.
Argh, me lo fa anche a me, sui drivers estratti direttamente dall'installer, tuttavia come dicevo, io ho agito sulla directory /lib/modules/fglrx, probabilmente ho fatto anche altre variazioni.
Beh, aspettati tre mega di roba nella tua casella di posta, vedrai che funziona!
bash-3.1# ./make.sh
ATI module generator V 2.0
==========================
initializing...
./make.sh: line 537: [: =: unary operator expected
cleaning...
patching 'highmem.h'...
assuming new VMA API since we do have kernel 2.6.x...
Assuming default VMAP API
Assuming default munmap API
doing Makefile based build for kernel 2.6.x and higher
make -C /lib/modules/2.6.25/build SUBDIRS=/home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-2.6.25'
CC [M] /home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
/home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function '__che_check_pci':
/home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1952: warning: 'pci_find_slot' is deprecated (declared at include/linux/pci.h:508)
/home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function '__che_pci_find_slot':
/home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2841: warning: 'pci_find_slot' is deprecated (declared at include/linux/pci.h:508)
LD [M] /home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: modpost: module fglrx.ko uses symbol 'init_mm' marked UNUSED
CC /home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.mod.o
LD [M] /home/vasco/Desktop/fglrx/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko
make[1]: Leaving directory `/usr/src/linux-2.6.25'
build succeeded with return value 0
duplicating results into driver repository...
done.
==============================
You must change your working directory to /home/vasco/Desktop/fglrx/common/lib/modules/fglrx
and then call ./make_install.sh in order to install the built module.
==============================
bash-3.1# cd ..
bash-3.1# ls
build_mod fglrx.2.6.25.ko fglrx.ko make.2.6.25.log make_install.sh
bash-3.1# ./make_install.sh
bash: ./make_install.sj: No such file or directory
bash-3.1# ./make_install.sh
- recreating module dependency list
- trying a sample load of the kernel modules
done.
Sembra funzionare. Ma avrei due domande:
1) Posso creare il pacchetto .tgz del modulo?
2) Posso ricompattare la directory modificata fglrx come l'installer originale?
Mmmm, no, non penso che puoi ricompattare la dir nell'installer originale, o meglio, non l'ho mai fatto, magari a studiarci un pò.
Il pacchetto del modulo lo puoi fare, ma non c'è un utility che lo fa automaticamente quindi, il pacchetto lo dovresti fare tu a mano.
Conta che questa è una soluzione transitoria, prima o poi avremo l'installer funzionante anche sul 2.6.25 da parte di ATI.
Fino agli ati 8.5, che spero supportino il kernel 2.6.25, installerò il pacchetto X dall'installer normale, e il modulo facendo quella procedura di make.sh, make-install.sh.
Grazie ancora per la infinità gentilezza e disponibilità.