Duda existencial sobre compilación de kernel y módulos

Hola amigos,
Antes de nada tengo bastante claro los pasos típicos para compilar un kernel, o sea:

make config (o "whateverconfig")
make
make modules_install
make install

Hasta ahí todo bien...

Obviamente hay variantes, pero bueno, eso lo tengo claro. La gran pregunta que tengo es:

Si tengo un componente que no lo tenía en el kernel (ni siquiera como módulo), tengo que compilar otra vez todo el kernel, o todos los módulos otra vez. Y perdón por incluir otra pregunta, pero sospecho que no soy el único con esta duda, qué pasa si el componente estaba en el kernel, no como módulo y lo quiero pasar a módulo, debo compilar todo de vuelta??

Yo por ejemplo hice la prueba de habilitar algo que no estaba como módulo, ejecuté make, y veo que oooootra vez me está compilando todo, como si fuera de cero... es esto correcto?

Gracias de antemano!!

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.
Gravatar de asinkeBOFH

# 37005: Depende

Si compilas DENTRO del kernel algo que antes no estaba vuelve a compilar todo el kernel (en realidad lo compilado sigue compilado a menos que lo limpies, así que sólo debería hacer el paso de crear la bzImage).

Si compilas como módulo algo que antes estaba como parte del kernel, tres cuartos de lo mismo.

Eso sí, si compilas como módulo algo que antes no estaba compilado ni dentro ni fuera, pues sólo compila esto...

básicamente, creo que esee es el comportamiento normal.

--
http://asinkecualo.org
Mi estado

Gravatar de bart_bender

# 37009: Te me adelantaste mientras

Te me adelantaste mientras escribia

# 37012: Gracias a los dos,

Gracias a los dos, sospechaba eso pero quería asegurarme!

Salu2!!

--
Sergio Belkin
Soluciones Informáticas Open Source
Mandriva Authorized Solutions Provider
http://www.openkairos.com
----------------------------------------

Gravatar de asinkeBOFH

# 37025: MWAHAHAHA

¡¡Esos son mis superpoderes de BOFH!!

--
http://asinkecualo.org
Mi estado

Gravatar de bart_bender

# 37008: Si el cambio afecta al

Si el cambio afecta al kernel, se siente pero compila todo el kernel de nuevo.

si solo has agregado un modulo, ejecutas make modules, make modules_install (no make) y veras que se pasa por alto todos los módulos (pondrá CC o parecido) ya compilados y únicamente compila los nuevos.
Ademas te olvidas que si modificas los módulos y el kernel te tocará seguramente crear de nuevo el ramdisk (initrd)

El tema es que si no haces make clean (o mrpropper) no necesitas recompilar los módulos pero el kernel es finalmente un único binario y necesita reconstruirlo (internamente tendrá sus links y sus cosillas )
Por eso es mas que aconsejable hacer el kernel lo mas modular posible para que la parte monolítica sea lo mas reducida posible y los módulos cargados en tiempo de ejecución puedan variar sin demasiadas complicaciones.

De todas formas yo después de algunos problemillas cuando recompile mi kernel sin hacer make clean tomé la decisión de ser paciente y recompilar todo para evitar problemas posteriores