You are on page 1of 17

Universidad Nacional de Ingeniera

Facultad de Electrotecnia y Computacin

Arquitectura de sistemas operativos.

Proyecto: Compilacin y configuracin del kernel 3.12.6 en


openSuse 13.1

Autores:
Paula Navarrete Tllez.
Jos Ernesto Silva Herrera.
Kevin Alberto Gaitn Meja.

Docente: Narciso Aguilera


Grupo: 4T3-co

Fecha: 21 de enero del 2014

Objetivo general
Elaborar una gua especifica que ayude a cualquier persona con conocimientos
bsicos en el computacin a la compilacin y edicin del kernel 3.12.6 en la
versin de Linux openSUSE 13.1.
Objetivos especficos.
Modificar el kernel para mostrar un mensaje de bienvenida personalizado en
cuanto arranque el sistema.
Modificar de manera personalizada el aspecto visual del S.O openSUSE.
Lograr que el S.O sea funcional despus de las debidas modificaciones.

Resea histrica de Open Suse 13.1 versin estable.


SUSE Linux es una de las ms conocidas distribuciones Linux existentes a nivel
mundial, se bas en sus orgenes en Slackware. Entre las principales virtudes de esta
distribucin se encuentra el que sea una de las ms sencillas de instalar y administrar, ya
que cuenta con varios asistentes grficos para completar diversas tareas en especial por
su gran herramienta de instalacin y configuracin YasT.
Su nombre "SuSE" es el acrnimo, en alemn "Software und System-Entwicklung"
(Desarrollo de Sistemas y de Software), el cual formaba parte del nombre original de la
compaa y que se podra traducir como "desarrollo de software y sistemas". El nombre
actual de la compaa es SuSE Linux, habiendo perdido el primer trmino su
significado.
El 4 de noviembre de 2003, la compaa multinacional estadounidense Novell anunci
que iba a comprar SuSE LINUX. La adquisicin se llev a cabo en enero de 2004. En el
ao 2005, en la LinuxWorld, Novell, anunci la liberacin de la distribucin SuSE
Linux para que la comunidad fuera la encargada del desarrollo de esta distribucin, que
ahora se denomina openSUSE.
La versin inicial fue una versin beta de SUSE Linux 10.0, y la ltima versin estable
es openSUSE 13.1
openSUSE comparte muchas caractersticas con SUSE Linux Enterprise, ofreciendo por
ejemplo:

AppArmor: otorga permisos a las aplicaciones en funcin de cmo se ejecutan e


interaccionan con el sistema.
YaST: una aplicacin que openSUSE utiliza para administrar el sistema e instalar
software.
Xen: software de virtualizacin.
KDE y GNOME.
Compiz: un escritorio 3D que corre sobre Xgl.

La versin 13.1 fue lanzada el 19 de noviembre de 2013. Entre las novedades ms


destacadas, se encuentran:

Un Kernel Linux de la rama 3.11 con varias mejoras, entre las que destacan, la
inclusin de la Administracin de energa dinmica (DPM) para toda las series de
tarjetas AMD Radeon (aunque esta caracterstica no se encuentra activada por
defecto, se puede habilitar fcilmente agregando radeon.dpm=1 a la lnea del
Kernel) y mejoras generales en cuanto a rendimiento con las operaciones de disco,
con las que se mejora sobre todo, el rendimiento general en sistemas con alta carga.
Mejoras en el sistema de archivos Btrfs, que si bien an no ha sido propuesto como
el sistema de archivos predeterminado en la instalacin, debido a lo conservadora
que ser esta versin, por fin se considera estable para entornos de produccin.
Se incluyen muchas mejoras en YaST, especialmente en rendimiento, debido a que
ha sido reescrito totalmente en Ruby.
Se aaden las herramientas para desarrollo GCC 4.8, la ltima versin de glibc,
C11, Intel TSX Lock Elision, SDL2 y Qt 5.1.
Se aade soporte total para las arquitecturas AArch64 o ARM 64-bit, creando
incluso una distribucin completamente nueva para AArch64 y tambin se han
actualizado las imgenes para que se puedan construir a partir de un nico archivo
fuente de KIWI.
Soporte para montar los buckets de Amazon S3 como un sistema de archivo local.
Se aade Samba 4.1 el cul mejora notablemente la interaccin con sistemas de
dominios Windows.
Aadidas las ltimas versiones de Apache, PHP y MariaDB.
En cuanto a entornos de escritorio, todos han sido debidamente actualizados a las
versiones ms estables recientes a la fecha, como un KDE actualizado a la rama
4.11 que ser de largo soporte, GNOME3 actualizado a la versin 3.10 con
importantes mejoras en general y ms actualizaciones para el resto de entornos
como Xfce, LXDE, E17, awesome, entre otros.
Asimismo se incluyen versiones actualizadas de toda la paquetera en general, entre
las ms populares se encuentran LibreOffice 4.1, Gimp 2.8.6, Firefox 24,
Thunderbird 24, entre muchas otras que luego se pueden fcilmente actualizar y/o
cambiar.

Herramientas
Yast

YaST (acrnimo de Yet another Setup Tool, cuya traduccin aproximada es "Otra
Herramienta de configuracin ms es una aplicacin para la distribucin de Linux
openSUSE, as como las versiones comerciales de SUSE Linux, que facilita la
administracin del sistema y la instalacin de software.
Zypper

zypper es una utilidad de lnea de comandos fcil de usar, que se basa en una librera
para la gestin de paquetes llamada libzypp. Entre otras cosas zypper permite gestionar
los repositorios, localizar, instalar, eliminar o actualizar paquetes y puede ser usado de
forma autnoma o desde scripts.

Compilacin e instalacin kernel 3.12.6 en opensuse 13.1


Obtener las fuentes del kernel
Copiamos el link del ultimo kernel estable (el que esta en el boton amarillo
grande que dice "Latest Stable Kernel en este caso el 3.12.6")
desde www.kernel.org y lo descargamos en /usr/src
cd /usr/src
sudo
wget
3.12.6.tar.xz

https://www.kernel.org/pub/linux/kernel/v3.x/linux-

Instalar las herramientas necesarias para la compilacin


/**/
sudo zypper install ncurses-devel
/*librerias qt4 para xconfig*/
sudo zypper install libqt4-devel

/*compilador de C*/
sudo zypper install gcc

/**/
sudo zypper install xhost

/*sirve para
kernel*/

crear

el

sudo zypper install rpm-build

paquete

de

instalacion

rpm

del

Descomprimir las fuentes del kernel en /usr/src/


sudo tar -Jxvf linux-3.12.6.tar.xz -C /usr/src/

Modificacin del main.c


En primera instancia tomamos en cuenta este archivo ya que fue una
de las recomendaciones del profesor y al realizar las respectivas
modificaciones tuvimos xito a la hora de mostrar el mensaje.
En consola nos dirigimos a la ubicacin de main.c y lo abrimos con nano
como super usuario.
cd /usr/src/Linux-3.12.6/init/
sudo nano main.c

Creamos una funcin mensaje_pantalla que mostrara un mensaje


personalizado de bienvenida al arrancar. Mandaremos a mostrar el mensaje
con pr_alert antes de la funcin asmlinkage void __init start_kernel(void)

Mandamos a llamar la funcin antes de la funcin load_default_modules


que se encuentra localizada al final del archivo main.c y la razn de esto es
que despus de varios test de prueba/error era el nico lugar donde se
imprimia y funcionaba la funcin mdelay la cual es la que permitia apreciar el
mensaje por 25 segundos.

Ahora editamos el archivo Makefile para agregarle extraversion


cd /usr/src/Linux-3.12.6/
sudo nano Makefile
EXTRAVERSION = _proyecto

Configurar el kernel
Antes de seguir tenemos que estar seguros de que estamos en la direccin:
/usr/src/Linux-3.12.6/
Si es la primera vez no es necesario ejecutar este comando, lo que hace es limpiar los
archivos .o y otros archivos temporales.
sudo make mrproper

Lo que haremos es copiar la configuracin de nuestro kernel actual(2.11.6) al kernel que


vamos a compilar (3.12.6)
sudo cp /boot/config-`uname -r` .config

Compilacion del kernel por rpm.


sudo make rpm

si pregunta configuraciones NEW a todas les damos que no n, estas son


configuraciones que nuevas del kernel

Instalar el kernel compilado.


cd /usr/src/packages/RPMS/x86_64/
ls
sudo rpm -ivh kernel-3.12.6-proyecto_4_desktop-5.x86_64.rpm

Crear la imagen (initrd) para el nuevo kernel y ajustar grub para que la

encuentre.
El grub es un gestor de arranque mltiple, desarrollado por el
proyecto GNU que se usa comnmente para iniciar uno, dos o
ms sistemas operativos instalados en un mismo equipo. Ejecutamos el
comando mkinitrd para que el grub encuentre el sistema instalado con
el nuevo kernel instalado y modificado.
Ingresamos como root
mkinitrd

-- crear la imagen del kernel para poder iniciarlo

nano /boot/grub2/grub.cfg - agregar printk.time=0 para deshabilitar


timestamps de los printk

Pasos para cambiar imagen de fondo splash e inicio de sesin


La imagen que cambiares es la siguiente:

El splash es la imagen que aparece mientras el sistema est cargando.


1) Escoger que imagen se desea poner y editarla en 4 diferentes resoluciones
1280x1024
1600x1200
1920x1080
1920x1200
2) Despus de una larga indagacin entontramos en el foro de openSUSE que esta
era la direccin para copiar las nuevas imgenes.
http://forums.opensuse.org/showthread.php/479517-Splash-Screen
Copiar la nueva imagen en cada carpeta segn su resolucin en
/usr/share/wallpapers/openSUSEdefault/contents/images/
sudo
cp
/home/ernesto/Desktop/fondo.jpg
/usr/share/wallpapers/openSUSEdefault/contents/images/1920x1200.jpg

3) Movernos al directorio donde est la imagen en cache y la eliminamos desde


consola
sudo
rm
/home/proyecto_aso/.kde4/cache-linuxkevin.site/ksplashx/ksplashx-suse1366x768-backgroud.jpg

4) Reiniciar para ver los cambios

Pasos para cambiar el icono del lanzador de aplicaciones


El lanzador de aplicaciones Es una herramienta que contiene todos los
programas instalados en el sistema divididos por categoras y permite su
ejecucin inmediata
1) Click derecho sobre el icono de opensuse y damos click en preferencias del
lanzador de aplicaciones.

2) Damos click en el icono, seleccionamos Otros iconos y despus en el botn


examinar el cual nos abrir un cuadro de dialogo donde buscaremos el icono
(128x128) en formato PNG que deseamos poner y le damos en aceptar.

3) Damos click en aceptar

Pasos para cambiar el splash de inicio


1) Escoger que imagen se desea poner como fondo y logo, editarla en 4
diferentes resoluciones
1280x1024
1600x1200
1920x1080
1920x1200

2) Ir al directorio /usr/share/plymouth/themes/openSUSE/ y sustituir las 8


i
m

g
e
n
e
s
P
N
G
,

4 de fondo y 4 de logo.

3) Ejecutar el comando mkinitrd como root

4) Reiniciar la computadora

Tips/Sugerencias
Si desea hacer una configuracin hay varias formas de hacerlo
make menuconfig

MENU BASADO EN TEXTO Y DIALOGOS DE COLORES

xhost +
sudo make xconfig
make xconfig

--realiza algo y da error por hacerlo en modo root


GRAFICO (QT) PARA KDE

You might also like