Escrito por coder el 03 de julio de 2008 en Informática | Hits: 1054
Conversación en preescolar en un colegio cualquiera:
<profesor> A ver chicosss, que levante la mano el que lleva años compilando el kernel Linux con soporte para actualización de microcode...
<niños> ¡YO! ¡YO! ¡YO!
<profesor> Muy bien, muy bien... ¿y cuántos de vosotros lo estáis actualizando en cada nuevo booteo?
<niños> ...
<profesor> ¿Nadie?
<coder> ¡yo!
<profesor> Estupendo... estooo, ¿cómo te llamabas? Ah, sí, coder, pues hale, a ver si eres capaz de explicarselo al resto sin comerte los mocos mientras.
Una de esas opciones que, cuando uno empieza con Linux suele llamar la atención al compilar el kernel las primeras veces es la de actualizar el microcódigo de la CPU. Microcódigo... ¿qué será eso? Si te has preguntado eso, este mini artículo no es para ti, pero si la pregunta que te has hecho ha sido '¿qué ventajas puedo obtener al actualizarlo?', sigue leyendo.
La ventaja es obvia: arreglar bugs. Al igual que cualquier otro dispositivo, los chips de Intel pueden contener -y de hecho contienen- bugs. Sin embargo, la arquitectura es lo suficientemente flexible como para proveer un sistema que permita arreglar estos bugs on-the-fly y mientras estamos ejecutando nuestro SO favorito. Normalmente, cuando uno piensa en actualizaciones de este estilo (la BIOS, el firmware del DVD, etc), nos viene MSDOS a la cabeza porque se tiende a crear un disquete con la utilidad y el firmware para actualizar. En esos casos, reiniciamos, flasheamos, y reiniciamos otra vez. Pero si se trata del microcode, esto no es así. No hay que reiniciar para hacerlo. De hecho, reiniciar hace que se pierda el microcode actualizado y que tengamos que cargarlo otra vez, pues es un código que se almacena en la RAM y se pierde al cortar la corriente (análisis de RAM al margen, claro :P).
¿Qué desventajas tiene? Que yo sepa ninguna, porque el microcódigo se almacena en pequeñas porciones de RAM que, de otra forma, no serían usadas para nada. Vamos, que el coste es cero, como explica el autor del microcódigo de los IA32 aquí.
Configurarlo es trivial, basta con hacer un make menuconfig y añadir esta opción:
Processor type and features --->
<M> /dev/cpu/microcode - Intel IA32 CPU microcode support
Y el lector se preguntará, ¿por qué como módulo y no integrado? Pues porque una vez hayamos actualizado el microcódigo no tiene sentido seguir disponiendo de esa funcionalidad en el kernel, así que descargando el módulo lo aligeramos un poco.
Una vez tengamos el módulo cargado, un simple:
paludis microcode-ctl -ip o un emerge microcode-ctl
será suficiente para instalar el programita. Si lo que queremos es actualizar el microcode en cada nuevo arranque, un
# rc-update microcode_ctl boot
bastará. Juego, set y partido.
« Aston Villa 1982 Euro Champs Soccer Jersey
Sobre el precio del petróleo (I) »