Proyecto_Reporte Centos ASO 4T2

Embed Size (px)

Citation preview

Sistema de Control Administrativo del Gimnasio Energym

Centos 6.5 Kernel 3.12.8

UNIVERSIDAD NACIONAL DE INGENIERIAFACULTAD DE ELECTROTECNIA Y COMPUTACIONINGENIERIA EN COMPUTACIONArquitectura de Sistemas OperativosProyecto 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 NarcisoGrupo de clases: 4t2-CoDistribucin y Kernel: Centos6.5 Kernel 3.12.8

Managua, Nicaragua, Jueves 23 de enero de 2014ndice1. Resea Histrica..11.1. Linux..11.2. CentOs...,,,11.3. CentOs 6.5, novedades................22. Cmo encontrar la funcin modificada dentro del cdigo fuente del kernel?...........................................................................................................22.1. Descarga del kernel32.2. Bsqueda dentro del kernel...43. Cdigo Fuente del kernel...73.1. Modificaciones.74. Compilacin e Instalacin de nuestra versin personalizada de CentOs 6.5.....95. Modificaciones al entorno grfico...135.1. Imagen del grub...135.2. Fondo de pantalla145.3. Fondo de login.166. Recomendaciones y tips...18

Centos 6.5 Kernel 3.12.8

Arquitectura de Sistemas Operativos

1. Resea Histrica1.1. LinuxLinux, 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. CentOsCentOS (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.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.2.1. Descarga del kernelPara 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.

Con esto hemos concluido la descarga del kernel 3.12.8 de Linux, la versin ms estable hasta el 20 de enero de 2014Opcionalmente, 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 kernelUsted 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:

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

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

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 kernel3.1. ModificacionesLa 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().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

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.5Antes 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 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;

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.

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.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 grfico5.1. Imagen del grubPara cambiar la imagen de fodo del grub, primero debs de tener, crear, conseguir o editar una imagen de 640 x 480Posterior 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

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 pantallaPresion 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

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

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

Este es el precioso resultado :-D

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

Arquitectura de Sistemas Operativos 10