Dudas de cómo recompilar el kernel

Hola todos!
Creo que la mayoria de los que usamos linux se nos ha pasado por la cabeza la idea de recompilar el kernel para ajustarlo a nuestra maquina y buscar una mayor optimizacion. Creo que es logico, teniendo esa oportunidad, porque no aprobecharla? Pero el otro dia pensando, se me ocurrió (por favor, si es una barbaridad no me comais xDD) que, lo mismo que el sistema cuando inicia o se instala hace un hardware detect, no existe un programa/script que detecte el hardware que usamos en nuestro pc, nos proponga por ejemplo dar soporte a usb's, lectores de tarjetas o lo que sea y nos lo recompile directamente? Yo alguna vez he intentado recompilar el kernel y he montado la de dios, me fallaban mil cosas. Supongo que si ese programa no existiera, no es muy complicado crearlo no? Bueno si es una locura, me gustaria que me dijerais porque lo es y si no es tan locura y realmente existe ese programa me digais cual es. Gracias

Otra duda (ya aprobecho el hilo), sabeis como hacer funcionar la hibernacion y la suspension en debian lenny en ordenador de sobremesa? Es que me da error, en suspension se me queda colgado y en hibernar me dar error. Gracias

EDITO: si esto lo hicieran con ubuntu o con cualquier distribucion a la hora de instalarla, no habria que hacer kernel's-generic de ese warro que esta supercargado, tendriamos un liviano para nuestra maquina.
Hombre, eso q pides es bastante complicado porq cada pc es un mundo. De echo sí q hay programas de detección de hard, como sax en SuSE, Kuzdu en Mandriva.... q usa los estandares y el firmware de los dispositivos para obtener info, pero aun así todo es muy complicado y los kernels, para evitar problemas, vienen lo mas rellenos posible de cosas q no a todos nos sirve, para así hacerlos compatibles con el mayor número de mákinas.

Yo he recompilado muchas veces y nunca he tenido problemas, ¿el truco? conocer bien tu máquina, saber q chipset tienes, q tipo de usb usas, si tu grafica tolera bien framebuffer o no, q formato de lector de tarjetas tienes y saber la diferencia entre protocolos como los ohci y uhci de los usb (googleando enseguida lo encuentras). Una vez sepas al 100% como es tu máquina deberás poner las caracteristicas en el kernel.
Yo recomiendo hacerlo desde las X porq el gestor q sale da mucha info y aparte tienes a mano el firefox para las cosas q no estas seguro de para q sirven.
lspci te dara la info de tu hardware y lspci la que corresponde a los usb conectados. Compila el kernel y si ves que falla algo vuelve al anterior y prueba de nuevo. Un consejo, cuando lo compiles y hagas el archivo final. Como tarda un rato...si de esto, descansa un rato.
muchas gracias a los dos! ahora jugare un rato con esto a ver que sucede. Por cierto, pregunta tonta, lei en un tutorial hace mucho noseque de aplicar los parches de debian, es necesario o da igual realmente?
Yo no aplico parches, uso el genérico de kernel.org y sin problemas.
Pues no eres el único que tiene esas ideas :p Porque no veas como pedian mandriva y suse 10.3 una recompilación del kernel, me iban a cabezazos. [+risas]
Eso que pides es tan complejo que asusta. Planteate la cantidad de hardware soportado por el kernel de linux como para conseguirlo.
no es tan complejo, quiero decirte, es tan simple como: el kernel no detecta al inicio de todo que modulos debe cargar para iniciarse? El programa solo tendria que recoger esos modulos, recompila el kernel con esos modulos basicos y ya esta. No se, si es tan locura locura, que alguien me de un razon que diga: esto no puede ser debido a esto, esto y esto. Por cierto, he recompilado el kernel, la tarjeta de sonido no iba e iba to follado el ordena, con perdon. He vuleto al anterior, el borrado el nuevo y tachan! ya no me inician los modulos del 1º kernel, asique ha formatear porque ni tengo internet (dependo del wifi) ni tengo nada
jimyx17 escribió:Eso que pides es tan complejo que asusta. Planteate la cantidad de hardware soportado por el kernel de linux como para conseguirlo.


¿Complejo el qué?
Donato escribió:no es tan complejo, quiero decirte, es tan simple como: el kernel no detecta al inicio de todo que modulos debe cargar para iniciarse? El programa solo tendria que recoger esos modulos, recompila el kernel con esos modulos basicos y ya esta.


Esq no es del todo así. Se crea una imagen q es la q arranca con las 4 cosas basicas y luego se lanza un detector de lo más básico q hay en el equipo q no traia incorporada la imagen de arranque y ya está. No mira el firmware interno de cada dispositivo y busca un modulo para cargarlo ya q muchas veces son drivers privativos, como los de nvidia, y otras veces hay q darle muchas vueltas para encontrar la manera de hacer q cierto dispositivo funcionase.

Lo q tu dices seria lo ideal en un mundo en el q no hubieran favoritismos a M$ ni restricciones por parte de los desarrolladores, el eterno problema de los sistemas NO windows.
9 respuestas