Upload
adictore
View
151
Download
1
Embed Size (px)
Citation preview
Trabajo final de sistemas operativos
Integrantes:
Daniel Antonio García
Heymer Manrique Duarte
Jeffrey Alexander Acosta
Distribución: Linux mint 16 cinamon
Fecha: 14/01/15
Grupo: 3T3-CO
Objetivos……………………………………………………………………….......1
Objetivo general
Objetivo especifico
Introducción……………………………………………………………………….2
Actividades de desarrollo………………………………………………………3-16
Pasos importantes antes de compilar el kernel 3.18.2
Modificar el main.c
Actualizar el grub
Conclusión…………………………………………………………………………17
Referencias bibliográficas……………………………………………………….18
Objetivo general: Modificar el kernel del sistema operativo Linux mint 16
cinamon, así como otras características para que el sistema quede con la
versión del nuevo kernel.
Objetivo específico:
Compilar el kernel 3.18.2 y sus módulos, en los cuales se deberá agregar
código fuente para que aparezca información de los integrantes al momento de
iniciar el sistema operativo.
Modificar el archivo grub del sistema para que este acepte el nuevo kernel una
vez hecho todo lo anterior.
1
Linux mint es una distribución de Linux pensada como una versión destinada al
área multimedia dando un mayor confort con sus características principales en
las aplicaciones de música, imagen y video. Este sistema está basado en
Ubuntu, por lo que sus funciones no se diferencian de los demás Linux al usar
la terminal.
Durante el transcurso del tiempo se ha mejorado esta distribución con el fin de
encontrar las necesidades de los usuarios que encuentra una mejor respuesta
por parte de ésta.
En este caso, se ha seleccionado Linux mint con el objetivo de proceder a
modificar el kernel. Todo esto es parte de nuestro aprendizaje como
estudiantes de ingeniería en computación, pues es un tema de mucha
importancia.
En este documento se podrá apreciar los pasos de como instalar un nuevo
kernel, hacer unas mejoras y sobre todo los comandos necesarios para poder
lograr todo esto.
La conexión a internet y el conocimiento de comandos es de mucha
importancia si queremos lograr el objetivo de este documento.
2
Pasos para compilar el kernel 3.18.2
Lo primero que vamos a hacer es descargar el kernel de Linux según la
distribución que nos haya tocado. El kernel lo pueden descargar de:
www.kernel.org
En este caso vamos a descargar el Linux 3.18.2.tar.xz
Importante: Despues de haber descargado el kernel lo debemos de
descomprimir, pero para descomprimir se necesita estar como usuario root.
Se sabe que si lo queremos descomprimir de manera gráfica el sistema nos
dirá que no tenemos privilegios para descomprimir en tales carpetas,
principalmente en las carpetas del sistema. Para solucionar esto debemos de
abrir la terminal de comandos y luego escribir:
su (en linux mint)
sudo su (en ubuntu,kubuntu,etc.)
Luego introducir la contraseña del usuario principal.
3
Otra cosa importante que debemos hacer es instalar dependencias que nos
serviran tanto para la descompresión como para la compilación:
4
El kernel que descargamos lo ponemos en el escritorio. En la terminal
escribimos:
cd /Escritorio para subir (ubicarse) al escritorio
Desde ahí copiaremos este archivo a /usr/src/
Nos ubicamos en /usr/src/
Ahí descomprimimos
5
Para ver si el kernel se descomprimió correctamente en esa dirección
escribimos:
ls
Se puede observar en azul la carpeta y en rojo el archivo tar.xz, además se
puede ver el kernel que Linux actualmente usa (Linux-3.11.0.).
Modificar el main.c
Una vez hecho todo esto, procedemos a modificar el archivo main.c. Entonces
como nos encontramos en /usr/src/ ubiquémonos en Linux-3.18.2
Con ls vemos la lista de carpetas que contiene
El archivo main.c está en la carpeta init , por lo cual iremos hacia esa carpeta
6
Una vez ahí vamos a editar este archivo con nano:
Es aquí en esta función en donde podemos poner un mensaje que nos muestre
al inicio cuando la computadora carga el sistema.
Nosotros solo agregaremos un código que muestre nuestros nombres e
información adicional.
7
Lo que agregaremos será en sintaxis de C después de lo siguiente:
System_state= SYSTEM RUNNING;
Numa_default_policy();
printk(“********************************************************”)
printk(“********************************************************”)
printk(“********************************************************”)
printk(“******* este mensaje es un ejemplo****************”);
printk(“********************************************************”)
printk(“********************************************************”)
printk(“********************************************************”)
mdelay(30000);
Importante: printk no sirve en C pero en Linux si debido a que varía un poco
en su sintaxis. Mdelay se refiere al tiempo que tardara el mensaje en la pantalla
(30000-----está en milisegundo).
Lo que agregaremos según nuestra actividad es:
8
Luego con control+o guardamos los cambios.
Nos vamos nuevamente a /usr/src/ con cd
Ahora nos queda crear un enlace simbólico, el cual servirá como una copia que
se actualiza por la compilación
Después nos preparamos para compilar. Primero en la terminal nos vamos a
Linux:
cd linux
Estando aquí escribimos
9
El resto es nada más que aceptar. En caso de queramos modificar algo del
menú de configuración se recomiendo buscar un tutorial.
10
Dependiendo de la computadora donde hemos instalado el sistema, puede
tardar varios minutos en compilar. En nuestro caso tardo 27:12 minutos en una
computadora dell i3.
Lo siguiente seria escribir make modules (compilar modulos):
Ahora make modules install para instalar los modulos
12
Ya por último make install para instalar el kernel.
Actualizar el grub
El grub tenemos que configurarlo para que asuma el nuevo kernel. Nos
ubicamos en la carpeta /boot con cd y veremos que ahí se encuentra grub.
13
Vamos a grub.
luego
y con el editor nano vamos a editar el tiempo y quitaremos el splash para que
aparezcan la carga del sistema en modo texto junto con lo que escribimos en
main.c
nano grub
Lo que haremos aquí es quitar lo que está entre comillas en
GRUB_CMDLINE_LINUX_DEFAULT=”” (quita el splash)
GRUB_TIMEOUT=30 (pusimos 30 segundos para cargar el grub)
14
Control+o y guardamos.
Ahora si queremos podemos cambiar el nombre de los sistemas a cargar en
grub.cfg, esto solo se hace a conveniencia del que lo haga. Nosotros lo
dejamos asi como estaba.
Y para finalizar actualizamos grub y grub2.
Con todo esto hecho ya podemos reiniciar y probar los cambios:
shutdown –r now
15
Concluimos que durante el largo proceso de compilar el kernel, es necesario
siempre tener en cuenta que el grub en cierto casos no nos puede aparecer por
la modificación del kernel o a veces por una partición ya existente de otro
sistema operativo. Este problema puede solucionarse instalando boot-repair.
La mayoría de los comandos para compilar el kernel de Ubuntu son muy útiles
para este sistema.
Buscar información en
www.google.com/recuperar_grub_con_boot_repair
http://www.genbetadev.com/software-libre-y-licencias/programando-modulos-
para-el-kernel-de-linux
http://gnulinuxvagos.es/topic/22-configurar-y-compilar-el-kernel-linux-varios-
m%C3%A9todos/