20
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

Compilar kernel de linux mint 16 cinamon uni rusb 2015

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

Por último nos queda compilar el kernel. Lo hacemos con make

11

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.