Está en la página 1de 21

Centos 6.5 Kernel 3.12.

8

Arquitectura de Sistemas Operativos

UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACION
INGENIERIA EN COMPUTACION
Arquitectura de Sistemas Operativos
Proyecto de fin de curso





Elaborado por:
Br. Centeno Selva Jennifer del Socorro
Br. Flores Blandn Francis Rebeca
Br. Garca Zepeda Angel Antonio

Recibido por:
Ing. Aguilera Narciso
Grupo de clases:
4t2-Co
Distribucin y Kernel:
Centos6.5 Kernel 3.12.8


Managua, Nicaragua, Jueves 23 de enero de 2014
Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos

ndice
1. Resea Histrica.. 1
1.1. Linux.. 1
1.2. CentOs...,,, 1
1.3. CentOs 6.5, novedades................ 2
2. Cmo encontrar la funcin modificada dentro del cdigo fuente del
kernel?........................................................................................................... 2
2.1. Descarga del kernel 3
2.2. Bsqueda dentro del kernel... 4
3. Cdigo Fuente del kernel... 7
3.1. Modificaciones. 7
4. Compilacin e Instalacin de nuestra versin personalizada de
CentOs 6.5..... 9
5. Modificaciones al entorno grfico... 13
5.1. Imagen del grub... 13
5.2. Fondo de pantalla 14
5.3. Fondo de login. 16
6. Recomendaciones y tips... 18













Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos


Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 1

1. Resea Histrica
1.1. Linux
Linux, es un sistema operativo. Es una implementacin de libre
distribucin UNIX para computadoras personales (PC), servidores y estaciones de
trabajo.
Linux es usado como sistema operativo en una amplia variedad de
plataformas de hardware y computadores, incluyendo los computadores de
escritorio (PCs x86 y x86-64, y Macintosh y PowerPC), servidores,
supercomputadores, mainframes, y dispositivos empotrados as como telfonos
celulares.
En 1983 Richard Stallman fund el proyecto GNU, con el fin de crear
sistemas operativos parecidos a UNIX y compatibles con POSIX. Dos aos ms
tarde cre la "Fundacin del Software Libre" y escribi la GNU (General Public
License) para posibilitar el software libre en el sistema de copyright.
El software GNU se extenda muy de prisa y dentro de poco una multitud
de programas fueron escritos, de manera que para principios de 1990 haba
bastantes software GNU como para hacer un sistema operativo propio, pero
faltaba el kernel.
A principios de los aos 1990, no haba un sistema operativo libre
completo. A pesar de que el proyecto GNU era desarrollado constantemente, no
dispona, sin embargo, de ningn buen kernel basado en UNIX, por el contrario
era un nmero de proyectos de software libres que podan ser traducidos en las
variantes UNIX mediante el compilador de GNU.
1.2. CentOs
CentOS (acrnimo de Community ENTerprise Operating System) es un
clon a nivel binario de la distribucin Red Hat Enterprise Linux, compilado por
voluntarios a partir del cdigo fuente liberado por Red Hat, empresa desarrolladora
de RHEL.
Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 2

Red Hat Enterprise Linux, se compone de software libre y cdigo abierto,
pero se publica en formato binario usable (CD-ROM o DVD-ROM) solamente a
suscriptores pagados. Como es requerido, Red Hat libera todo el cdigo fuente del
producto de forma pblica bajo los trminos de la Licencia Pblica GNU y otras
licencias. Los desarrolladores de CentOS usan ese cdigo fuente para crear un
producto final que es muy similar al Red Hat Enterprise Linux y est libremente
disponible para ser bajado y usado por el pblico, pero no es mantenido ni
soportado por Red Hat.
1.3. CentOs 6.5, novedades
Entre las novedades que este posee destacan:
Soporte completo para 'Precision Time Protocol' (PTP)
Actualizacin a OpenSSL 1.0.1
OpenSSL y NSS soportan TLS 1.1 y 1.2
Mejoras en KVM
Actualizacin de los 'drivers' Hyper-V y VMware
Actualizacin a Evolution (2.32) y Libre Office 4.0.4. Se puede actualizar
directamente desde yum.

2. Cmo encontrar la funcin modificada dentro del cdigo fuente del
kernel?
Para lograr encontrar la funcin a modificar dentro del cdigo fuente, lo
primero que debe realizar es la descarga del kernel desde la pgina web:
https://www.kernel.org. Existen otras pginas de donde usted puede descargar el
kernel de Linux, la ventaja al descargarlo desde ah (kernel.org) es que usted
descargar la ltima versin estable.
A continuacin te mostraremos como realizar la descarga del kernel
desde la terminal de CentOs.
Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 3

2.1. Descarga del kernel
Para realizar la descarga del kernel de Linux desde la terminal, deber
primero ejecutar la terminal, tecleando Alt+F2, esto abrir la ventana de ejecucin
donde usted deber teclear gnome-terminal para ejecutar la terminal.

Al abrirse la ventana de la terminar usted se deber ubicar en el
directorio /usr/src, utilizando el comando cd, cabe destacar que si usted no se
encuentra logueado como sper usuario (root), deber teclear primero el comando
su presionar enter y teclear la contrasea del root y luego volver a presionar enter;
esto es con el fin de tener todos los poderes (permisos) de un sper usuario, en
este caso nos logueamos como sper usuario por tanto no ser necesario ejecutar
el comando su.
Una vez que nos encontremos en el directorio /usr/src tecleamos la
siguiente lnea de comando desde la terminal para realizar la descarga: wget
https://kernel.org/pub/linux/kernel/v3.x/linux-3.12.8.tar.xz, luego presionamos enter
y esperamos que la descarga sea completada.
Al concluir la descarga debemos descomprimir el archivo tecleando: tar
xJf Linux-3.12.8.tar.xz, tal y como lo mostramos en la siguiente imagen.

Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 4


Con esto hemos concluido la descarga del kernel 3.12.8 de Linux, la
versin ms estable hasta el 20 de enero de 2014
Opcionalmente, al concluir la descarga y descomprimir el archivo, usted
puede crear un enlace simblico a la carpeta que se crea con el nombre Linux-
3.12.8, utilizando el comando ln (ele ene), a como lo presentamos a continuacin.

2.2. Bsqueda dentro del kernel
Usted puede realizar la bsqueda de la funcin a modificar a travs de
comandos en la terminal, utilizando cd para moverse de un directorio a otro, para
mayor comodidad hemos decidido realizar la bsqueda a travs del navegador de
archivos.
Abra el icono del equipo que se encuentra en su escritorio, o
dirjase a la opcin lugares (de la barra de tareas) y seleccione
equipo, le deber aparecer algo parecido a esto:

Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 5








Seleccione el sistema de archivos, justo a como se muestra en la
imagen anterior
Dentro del sistema de archivos usted debe entrar a usr, vea la
imagen siguiente

Dentro de usr deber entrar a src

Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 6

Dentro de src, usted se encontrar con la carpeta Linux-3.12.8 y
kernel (enlace simblico), puede entrar a cualquiera de las dos,
nosotros entraremos al enlace simblico

Dentro del enlace o la carpeta, usted debe buscar la carpeta
nombrada init y entrar a ella


Encontrndonos dentro de init buscaremos el archivo main.c y
entramos a el

Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 7

Nos ubicamos al final del archivo, y buscamos la funcin que
modificaremos para el arranque, en este caso ser el final de la
funcin static noinline void _init kernel_init_freeable(void)

3. Cdigo Fuente del kernel
3.1. Modificaciones
La modificacin realizada al cdigo fuente, ha sido efectuada en la
direccin y lugar (de la funcin) antes descrita, modificando as el arranque del
S.O, para que este muestre una presentacin de los integrantes del grupo, con
algunas especificaciones sobre la identificacin del proyecto.
Para lograr imprimir en la pantalla se ha utilizado la funcin printk(), y
mdelay() para lograr un retraso de 10000 ms.
A continuacin mostraremos el cdigo que fue escrito en el main.c del
kernel al final de la funcin static noinline void _init kernel_init_freeable(void),
antes de la llave de cierre (}) y despus de la llamada a
load_default_modules().
Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 8

Para que se pueda apreciar la presentacin del cdigo antes descrito se,
se ha editado el archivo de configuracin del grub, eliminando la opcin rhgb
quiet - parte de una de las lneas de cdigo (encontrada donde se muestra el
rectngulo, en la imagen siguiente) - as no arranca en modo grfico y se
muestran todos los detalles del inicio, incluido el texto recin incorporado.

A continuacin mostramos como acceder al archivo de configuracin del
grub:
Entr a equipo y elecciona la carpeta boot

Encontrndote dentro de boot, debers entrar a la carpeta grub

Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 9

Dentro de esta carpeta debers abrir el archivo grub.conf y eliminar la
opcin rhgb quiet, guardando los cambios antes de cerrar

Antes de realizar la edicin del grub.conf debs compilar e instalar el
kernel, lo cual se realiza a travs de la terminal.
4. Compilacin e Instalacin de nuestra versin personalizada de Centos 6.5
Antes de empezar con la compilacin e instalacin del nuevo kernel,
debers instalar algunos paquetes que te sern de mucha utilidad a la hora de
realizar estos pasos indispensables para obtener tu kernel personalizado.
Empezaremos instalando el paquete gcc, para ello ejecutaremos la
terminal y teclearemos yum y install gcc, de la siguiente manera:


Al finalizar con la instalacin de gcc, procedemos a instala ncurses-devel, as:

Una vez instalados los paquetes anteriores, procedemos a compilar el kernel, para
lo cual teclearemos en la terminal: make menuconfig, encontrndonos dentro de la
carpeta Linux-3.12.8 o en el enlace simblico a dicha carpeta: kernel, record que
Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 10

ubicarte en cualquiera de estas dos opciones debs utilizar el comando cd,
tecleando en la terminal: cd /usr/src/kernel.


Al presionar enter, aparecer la siguiente pantalla, la cual utiliza ncurses-devel
para su construccin:

Menuconfig es una de las cinco herramientas que existen para configurar
el kernel de Linux, es este caso nosotros no hemos realizado ninguna
configuracin al kernel ms que la impresin en pantalla de la presentacin, por
tanto, presionamos enter estando seleccionada la opcin exit.
Al presionar enter nos preguntar que si queremos guardar los cambios,
presionamos que si;
Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 11





nos aparecer lo siguiente en la terminal:

Opcionalmente pods teclear clear, para limpiar la pantalla, presion
enter y teclea make bzImage, para crear la imagen del nuevo kernel, tendrs que
ser paciente, esto tardar un poco.


Al finalizar te mandar un mensaje indicando que ya est listo, proceds
a crear los modulos necesarios para la instalacin del kernel, esto tecleando make
modules.

Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 12


Al igual que la creacin de la imagen del kernel, la creacin de los
mdulos tarda, quiz un poco ms. Una vez creados los mdulos debs instalarlos
e instalar el kernel, opcionalmente lo pods hacer en la misma lnea de comando,
o en lneas distintas, te mostramos como hacerlo en la misma lnea:



Con esta ltima instruccin has terminado de compilar e instalar el
kernel, ahora proced a reiniciar la pc, para ver como ha quedado tu kernel hecho
a la medida por vos mismo jejejejeje.
Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 13

Ac te presento como se muestra el mensaje que editamos en el cdigo
fuente del kernel, esto es lo que aparece al reiniciar la pc, observ:

5. Modificaciones al entorno grfico
5.1. Imagen del grub
Para cambiar la imagen de fodo del grub, primero debs de tener, crear,
conseguir o editar una imagen de 640 x 480
Posterior a eso, entr al directorio donde pods encontrar el archivo
grub.conf (arriba aparece como pods encontrar ese directorio) y edit la parte del
splahimage, de la siguiente manera: splahimage = direccin de la imagen

Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 14

Al reiniciar la pc, vers cmo cambia el fondo totalmente negro de antes
por el que has puesto ahora, el mo queda as:

5.2. Fondo de pantalla
Presion click derecho sobre cualquier espacio en el escritorio y
seleccionas la opcin cambiar fondo de escritorio, esto abrir la ventana de
apariencia, ah seleccionas la imagen que deseas poner como fondo de escritorio
y listo, en cuanto la seleccionas se cambia el fondo






Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 15



Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 16

5.3. Fondo de login

Para lograr cambiar el fondo del inicio de sesin, debs entrar a usr, vas
a encontrar una carpeta nombrada como share, entrs ah

Luego busc otra carpeta, esta vez una con nombre backgrounds

Dentro de esa carpeta vas a colocar tu imagen, existen imgenes de
distintas dimensiones, nosotros tenemos de 1920x1080

Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 17

Despus de eso no ms te queda editar el archivo default.xml.

Este es el precioso resultado :-D


Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos 18

6. Recomendaciones y tips

Los paquetes gcc y ncurses-devels es posible istalarlos desde el cd de
instalacin de CentOs

Existe la posibilidad que no se cree algn mdulo a la hora de ejecutar el
comando make modules, por tanto no se permitir la instalacin del kernel
ni de los mdulos, pods hacer una copia del main.c y volver a descargar el
kernel, para luego reemplazar el main.c y volver a compilar desde el
comienzo


En caso que lo anterior no funcione, pods volver a formatear la pc, para
ahorra tiempo en bqueda de cul mdulo es el que hace falta