compilacion del kernel en ubuntu

7
Somos el equipo 2 y a continuación explicaremos las modificaciones que le hicimos a nuestro kernel. El sistema puede funcionar de manera más rápida si modificamos su kernel quitándole las cosas que no usa o también podemos modificar las cosas de mayor uso añadiéndoles un *, y el acceso a estos ítems serán más rápidos y así recorrer cada ítem de nuestro kernel que no se usa y poder suprimirlas para que el sistema tenga un nivel más alto d ejecución. Los ítems específicos que modificamos son los siguientes: TIMER FREQUENCY: se encontraba en 250 hz por lo que lo cambiamos a 1000hz ya que la frecuencia de interrupción del temporizador impacta directamente en la capacidad de cualquier cerca-a tiempo real y de aplicaciones multimedia, para procesar eventos en las frecuencias altas. OPTIMIZE FOR SIZE: estaba inhabilitado y lo habilitamos, es decir su opción va a pasar de “-OS” en lugar “-O2” para gcc. Algunos de ellos suelen aumentar el tamaño del código, pero como resultado la ejecución de código un poco más rápido. En mi opinión, el tamaño del código es la misma importante como la velocidad de ejecución de código, ya que el tamaño de código grande significa mayor uso de memoria RAM. "ENABLE -FSTACK-PROTECTOR BUFFER OVERFLOW DETECTION (EXPERIMENTAL): Estaba inhabilitado y lo habilitamos, con esto activamos el fstack-protector-feature GCC. Esta característica coloca al principio de las funciones un valor canario en la pila inmediatamente antes de la dirección del remitente y valida este valor justo antes de volverse realidad, lo cual protege nuestro buffer de cualquier desbordamiento. DEFAULT CPUFREQ GOVERNOR: la selección estaba en “performance” y l o cambiamos a “ondeman” esto nos beneficia ya que con la introducción de los estados de sueño muy profundo a las CPU modernas, bajo cargas normales de escritorio, se ahorra más energía haciendo que su ráfaga de CPU a la velocidad máxima y luego volver rápidamente a los estados más profundos del sueño (que es lo que hace ondemand) en lugar de tener la CPU lentamente acelerar y hacia abajo. DEFAULT SECURITY MODULE: se encontraba en “appArmor” y los cambiamos a SELinux puesto que en cuestiones de seguridad nos favorece este ya que Su arquitectura se esfuerza por la aplicación por separado de las decisiones de seguridad de la propia política de seguridad y optimiza el volumen de software encargado de la aplicación de la política de seguridad.

Transcript of compilacion del kernel en ubuntu

Page 1: compilacion del kernel en ubuntu

Somos el equipo 2 y a continuación explicaremos las modificaciones que le

hicimos a nuestro kernel.

El sistema puede funcionar de manera más rápida si modificamos su kernel

quitándole las cosas que no usa o también podemos modificar las cosas de mayor

uso añadiéndoles un *, y el acceso a estos ítems serán más rápidos y así recorrer

cada ítem de nuestro kernel que no se usa y poder suprimirlas para que el sistema

tenga un nivel más alto d ejecución.

Los ítems específicos que modificamos son los siguientes:

TIMER FREQUENCY: se encontraba en 250 hz por lo que lo cambiamos a 1000hz

ya que la frecuencia de interrupción del temporizador impacta directamente en la

capacidad de cualquier cerca-a tiempo real y de aplicaciones multimedia, para

procesar eventos en las frecuencias altas.

OPTIMIZE FOR SIZE: estaba inhabilitado y lo habilitamos, es decir su opción va a

pasar de “-OS” en lugar “-O2” para gcc. Algunos de ellos suelen aumentar el

tamaño del código, pero como resultado la ejecución de código un poco más

rápido. En mi opinión, el tamaño del código es la misma importante como la

velocidad de ejecución de código, ya que el tamaño de código grande significa

mayor uso de memoria RAM.

"ENABLE -FSTACK-PROTECTOR BUFFER OVERFLOW DETECTION

(EXPERIMENTAL): Estaba inhabilitado y lo habilitamos, con esto activamos el

fstack-protector-feature GCC. Esta característica coloca al principio de las

funciones un valor canario en la pila inmediatamente antes de la dirección del

remitente y valida este valor justo antes de volverse realidad, lo cual protege

nuestro buffer de cualquier desbordamiento.

DEFAULT CPUFREQ GOVERNOR: la selección estaba en “performance” y lo

cambiamos a “ondeman” esto nos beneficia ya que con la introducción de los

estados de sueño muy profundo a las CPU modernas, bajo cargas normales de

escritorio, se ahorra más energía haciendo que su ráfaga de CPU a la velocidad

máxima y luego volver rápidamente a los estados más profundos del sueño (que

es lo que hace ondemand) en lugar de tener la CPU lentamente acelerar y hacia

abajo.

DEFAULT SECURITY MODULE: se encontraba en “appArmor” y los cambiamos

a SELinux puesto que en cuestiones de seguridad nos favorece este ya que Su

arquitectura se esfuerza por la aplicación por separado de las decisiones de

seguridad de la propia política de seguridad y optimiza el volumen de software

encargado de la aplicación de la política de seguridad.

Page 2: compilacion del kernel en ubuntu

PROCESSOR FAMILY: El procesador por default era Pentium-pro y lo cambiamos

a Intel atom ya que es el procesador que se encuentra presente en el sistema, lo

cual su arquitectura canalizara en orden y por lo tanto beneficiara el código en

consecuencia será optimizado.

Bien ahora explicaremos paso a paso lo que fuimos realizando:

Primero es necesario descargar las herramientas necesarias para realizar nuestra

compilación que se ubicara en nuestro archivo “/usr/src” con el nombre de “Linux-

source-2.6.38” y como es un archivo.tar lo descomprimimos.

Después nos ubicamos dentro de este archivo y copiamos lo que él /boot

contiene, este archivo es el que guarda el archivo .config; es que el contiene todos

los seteos del kernel, entonces, a partir de uno existente, vamos a modificar

valores.

La copia se realiza para respaldar la versión actual de nuestro sistema, asi por

cualquier error ya tenemos una copia.

Luego pasamos a abrir nuestro menú, con el comando make menuconfig ya con

nuestro menú podemos hacer las modificaciones que queramos, nosotros hicimos

las que antes mencionamos, he aquí unas imágenes que nos muestran lo que se

realizo:

Page 3: compilacion del kernel en ubuntu

TIMER FREQUENCY

OPTIMIZE FOR SIZE

Page 4: compilacion del kernel en ubuntu

ENABLE –FSTACK-PROTECTOR BUFFER OVERFLOW DETECTION

(EXPERIMENTAL)

DEFAULT CPUFREQ GOVERNOR

DEFAULT SECURITY MODULE

Page 5: compilacion del kernel en ubuntu

PROCESSOR FAMILY

Una vez que hayamos terminado con las configuraciones procedemos a guardar

los cambios hechos.

Page 6: compilacion del kernel en ubuntu

Después de esto procedemos a compilar nuestro nuevo kernel; con el comando

make-kpkg –append-to-version=.582415 - -initrd kernel_image

Y esperamos a que termine de compilar, lo cual si lleva como dos horas o más.

Page 7: compilacion del kernel en ubuntu

Ya que tenemos nuestro nuevo kernel compilado, procederemos a instalarlo con el

comando: dpkg –i Linux-image-2.6.38.8.582415_2.6.38.8.582415-

10.00.Custom_i386.deb

Y ya está listo, una comprobación de que la compilación e instalación de nuestro

kernel se realizo correctamente es con el comando uname –a, que nos dice que

kernel está utilizando actualmente, este comando lo utilizamos antes de instalar

nuestro kernel y después.

Antes:

Después: