Compilando el kernel

Estado
No está abierto para más respuestas.

ciberman

Lanero Reconocido
Se unió
30 Mar 2003
Mensajes
108
Hola.

He estado intentando compilar el kernel 2.4.20 en mi equipo pero despues de un tiempo de ejecutar make bzImage saca el siguiente error:

drivers/char/drm/drm.o: In function `sis_fb_alloc':
drivers/char/drm/drm.o(.text+0x6ec6): undefined reference to `sis_malloc'
drivers/char/drm/drm.o(.text+0x6f0d): undefined reference to `sis_free'
drivers/char/drm/drm.o: In function `sis_fb_free':
drivers/char/drm/drm.o(.text+0x7052): undefined reference to `sis_free'
drivers/char/drm/drm.o: In function `sis_final_context':
drivers/char/drm/drm.o(.text+0x7506): undefined reference to `sis_free'
make: *** [vmlinux] Error 1

Este error sale cuando le agrego el soporte de SiS en la seccion DRM 4.1 drivers del menu characters devices, lo cual lo hice porque mi tarjeta de video es una sis 300/305 agp, el error persiste asi lo compile como modulo o dentro del kernel, y si no agrego este soporte, el kernel compila bien pero al momento de usarlo la pantalla no da imagen :'( .

Agradeceria cualquier ayuda que me pudieran brindar
 

kemark

Lanero Reconocido
Se unió
9 Abr 2003
Mensajes
2,500
esos errores son casi siempre por que falta enlazar a una libreria gcc ... -l(lib)
 

ciberman

Lanero Reconocido
Se unió
30 Mar 2003
Mensajes
108
Como se enlazan librerias al momento de compilar el kernel?
 

kemark

Lanero Reconocido
Se unió
9 Abr 2003
Mensajes
2,500
pues eso debe estar en las opciones de compilacion y linkeaje (nueva palabra) del make (Makefile), por ejemplo mira este programa que hize la semana pasada y usa crypt():


[19:42:18] ~ Kr4w3K # g++ progs/enc.cpp -o enc
/home/krawek/tmp/ccG5Gd7W.o: In function `genc(char *)':
/home/krawek/tmp/ccG5Gd7W.o(.text+0x446): undefined reference to `crypt'
/home/krawek/tmp/ccG5Gd7W.o: In function `lpass(char *)':
/home/krawek/tmp/ccG5Gd7W.o(.text+0x587): undefined reference to `crypt'
collect2: ld returned 1 exit status

y

[19:43:05] ~ Kr4w3K # g++ progs/enc.cpp -o enc -lcrypt
[19:44:20] ~ Kr4w3K # ./enc
Uso: ./enc: <opcion> [Argumentos]


el problema es parecido
 

ciberman

Lanero Reconocido
Se unió
30 Mar 2003
Mensajes
108
Si los errores son parecidos, pero creo que las situaciones son diferentes, en tu caso solo compilas un archivo, por lo cual le puedes pasar la opcion - l (libreria) directamente al g++, sin embargo para compilar el kernel se utiliza un makefile grande, ya que se compilan una gran cantidad de archivos, por lo tanto no se si haya una manera de decirle al make que complie un archivo especifico con una libreria adicional al menos que se modifique directamente el makefile lo cual podria ser complejo.

De todas maneras mirare todas las opciones del makefile haber si se puede hacer lo que mencionas, te comentare si la hallo.

Gracias por tu ayuda
 

noseman

Lanero Reconocido
Lanero VIP
Se unió
21 May 2002
Mensajes
750
ole, a mi me pasa lo mismo, pero compilaba eso era pa joder, porke en verdad tengo una nvidia.
 

Sh4dow

Lanero Reconocido
Se unió
4 Jun 2002
Mensajes
587
es un bug del kernel, porque a mi me ha pasado lo mismo con eso, mejor no actives ese soporte y te arreglas el problema :)
 

ciberman

Lanero Reconocido
Se unió
30 Mar 2003
Mensajes
108
He intentado compilar el kernel sin ese soporte, me compila perfectamente pero al momento de usarlo el monitor no muestra imagen, imagine que era por la falta de este soporte.
Por cierto aprovecho para preguntar, que es DRM?
 

Sh4dow

Lanero Reconocido
Se unió
4 Jun 2002
Mensajes
587
debe ser los drivers de tu tarjeta con xf86config arreglas eso
 

ciberman

Lanero Reconocido
Se unió
30 Mar 2003
Mensajes
108
El monitor no me esta dando imagen desde el momento de iniciar el nuevo kernel, no me muestra absolutamente nada, aunque el teclado responde, que soporte le podria faltar al nuevo kernel para que ocurra esto?
 

[KOYO]

Lanero Reconocido
Se unió
19 Jun 2001
Mensajes
1,305
Direct Rendering Manager (DRM) si no me equivoco y mi ingles no me falla, lo que debes saber es que si tines Xfree 4.3.0 no sera necesseario que montes ese soporte, ademas no lo necesitas.
El error puede ser por que has activado o no algo que falta te recomiendo que busques informacion de tu tarjeta en http://www.google.com/linux ahi puedes encontrar personas con tu misma situacion

(EL UNICO PROBLEMA DE LINUX ES EL USUARIO)
 

Saruman

Lanero Reconocido
Se unió
18 Jul 2002
Mensajes
425
Coloca tu .config del kernel para ver que opcion es la que pone problema
 

Sh4dow

Lanero Reconocido
Se unió
4 Jun 2002
Mensajes
587
hey que compilador usas , es que yo tambien he tenido problemas con el compilador , con la version 3.2
 

Sh4dow

Lanero Reconocido
Se unió
4 Jun 2002
Mensajes
587
o tambien el soporte que le pusiste necesita que este activado tambien algun otro para poder funcionar adecuadamente entonces por eso a veces aparecen errores de referencias indefinidas
 

Sh4dow

Lanero Reconocido
Se unió
4 Jun 2002
Mensajes
587
segun lo que dice en esa lista, disque que debes tener el framebuffer activado tambien
 

Sh4dow

Lanero Reconocido
Se unió
4 Jun 2002
Mensajes
587
pero a mi me ha sacado ese error y teniendo el framebuffer activado tambien
 

ciberman

Lanero Reconocido
Se unió
30 Mar 2003
Mensajes
108
Hola.

Si yo tambien tenia activado el soporte de framebuffer, al final pude compilar el kernel sin ese soporte, aunque la solucion no fue muy elegante cargue el config del kernel que traia por defecto el kernel de mi distribucion (Slackware 8.1 ) y le quite lo que no me servia esto lo hice con el kernel 2.4.18 y funciono perfectamente, aunque seguire intentando con el kernel 2.4.20, algun dia lo tendre que lograr.

Parece ser que este problema es un bug del kernel, seguire investigando.

Gracias por toda la ayuda que me han brindado.
 

[KOYO]

Lanero Reconocido
Se unió
19 Jun 2001
Mensajes
1,305
Seria entonces bueno que revisen el link de google ahi esta tambien la solucion que dieron los mismos desarrolladores del kernel para ese problema.
 
Estado
No está abierto para más respuestas.
Arriba