Kernel Custom o Kernel precompilado

Buenas estimados compas linuxeros, vengo con una pregunta que creo interesante.

Para no hacerla larga, vengo de gentoo y este ofrece el kernel compilado o bien las fuentes del kernel para luego compilarse. Comence con los kernels-bin(los compilados) y de a poco fui aprendiendo a customizar el kernel, a mi perspectiva va mejor mi kernel custom que el kernel-bin, pero sacrifico una horita de compilacion para ello, pero por poner un ejemplo desactive muchas cosas que no tiene mi pc, una de ellas son las pantallas tactiles.

Sabiendo esto, si tuvieran la oportunidad de compilarse un kernel que este muy apegado a su hardware, se tomarian ese tiempo para configurarlo o preferirian seguir con el kernel que les provee su distro?

2 Me gusta

Mi hardware es muy adaptable y tengo periféricos para todo. Personalmente prefiero no irme tan por lo básico en relación a controladores o cualquier cosa que evite que mi hardware no funcione al conectarlo.

Pero, a ver, es algo tan personal y situacional que no creo que haya una “respuesta correcta” :joy:

También vengo de install gentoo. Por desgracia yo emplee genkernel al principio para auto-configurar el kernel, después aprendí lo básico de la configuración aunque no estoy seguro si esta bien configurado (no se como funciona en si el kernel, solo aprendi a activar y desactivar las opciones en el menuconfig), pero realmente note la diferencia con el kernel configurado manualmente.

Actualmente en mi desktop y laptop tengo kernel personalizados, con distcc se reduzco el tiempo a 30min de compilación, pero en el trabajo solo empleo kernel genéricos porque no se si van a cambiar el hardware en algún momento.

También se puede cambiar genkernel por dracut para que el OS arranque mas rápido.

Pero los perifericos no hacen tanto ruido como lo seria el compilar los drivers de NVIDIA, por ejemplo. Aunque tambien si de repente se te rompe algo no me imagino el tiempo de arreglar todo lo de tus perifericos

Asi es, yo tengo un kernel custom, y me levanta mas rapido que uno generico, pero tampoco es una barbaridad de tiempo. Igualmente como mencionas, lo que he quitado son drivers y algunas cosas antiguas que ya no se ocupan, a lo mejor se puede optimizar aun mas.

Lo de distcc me parece interesante, tal vez desarrollas acerca de este, por que hasta ahora me vengo dando cuenta de este.

El tiempo depende de la computadora, en mi caso son quase tostadoras, de allí
el tiempo.

distcc es para compilar en red. Así puedes usar los núcleos de varias
computadoras y compilar cualquier cosa mas rápido. portage tiene soporte, en el caso del kernel es necesario cambiar el compilador de CC/GCC a distcc
manualmente. Si quieres emplearlo ocasionalmente, puedes usar un script
personal que lo activa como una flag para actualizar.

La wiki de gentoo sobre distcc.
La fuente del descubrimiento yuki install gentoo.

1 me gusta

Perdón por no aclarar lo suficiente, pero en mi caso, los periféricos son incluso tarjetas de red. Yo utilizo mucha clase de hardware y en algunas distribuciones me encontré con el problema de que no todo es reconocido de entrada y me tocó instalar drivers por todo.
Es cierto que lo de nvidia es lo que mayor problemas puede dar, pero en mi caso, todas mis GPUs son AMD y no las uso en este sistema.
En este caso en particular, necesito tener la compatibilidad máxima disponible.

1 me gusta

¿Porque no ambos o incluso varios?
Puedes crear distintos kernels y elegir cual usar al prender la computadora
ejemplo un kernel superminimo y rapido, y despues un kernel generico para mas compatibilidad.

1 me gusta

Ahhh, el distcc es para compilar en paralelo con otras pc, estilo servidores, con razon no lo habia visto.

En mi caso compilar un kernel me lleva como 1 hora, utilizando un makeopts= "-j3 -l6", todo por que me falta ram y por no querer desgastar el cpu, y tampoco es que lo tenga 100% adaptado a mi hardware, me imagino que si sigo indagando y adaptandolo mas reduzco el tiempo.

En tu caso es muy entendible, y te consumiria muchisimo tiempo estarlo customizando. Consigues un periferico nuevo, y a cargar el modulo, en ese caso no vale la pena.

1 me gusta

En ese caso tengo 3, el kernel generico por si se me llegan a mal lograr los dos kernels que estoy trasteando, y tengo otros dos que son compilados, uno en el que voy desactivando y probando cosas (un kernel de test) y el otro que es el producto final de lo que se testeo y salio bien en el kernel anterior.
Tambien lo hago para aprender un poco de como funciona el kernel.