5/28/2017
TECNOL TECNOL ÓGICO ÓGICO NACIONAL DE MÉXICO MÉXICO . INSTITUTO TECNOLÓGICO DE TIJUANA SUBDIRECCIÓN ACADÉMICA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN SEMESTRE ENERO - JUNIO 2017 INGENIERÍA INFORMÁTICA SISTEMAS OPERATIVOS I AEC-1061 COMPILA COMPILACIÓN CIÓN DE UN KERNEL L INUX UNIDAD # 5
CUEVAS LANDA JOSÉ LUIS
ARNULFO CASTRO TRASVIÑA 29-MAYO-17
152121533 1521215
ÍNDICE INTRODUCCIÓN ..................................................................................................1 CONCEPTOS BÁSICOS ...................................................................................... 2 COMANDOS ......................................................................................................... 3 PROCEDIMIENTO................................................................................................4 PASO 1 ............................................................................................................. 4 PASO 2 ............................................................................................................. 5 PASO 3 ............................................................................................................. 6 PASO 4 ............................................................................................................. 6 PASO 5 ............................................................................................................. 6 PASO 6 ............................................................................................................. 7 PASO 7 ............................................................................................................. 7 PASO 8 ............................................................................................................. 8 PASO 9 ............................................................................................................. 8 PASO 10 ......................................................................................................... 10 PASO 11 ......................................................................................................... 11 PASO 12 ......................................................................................................... 11
INTRODUCCIÓN
INTRODUCCIÓN El Kernel o núcleo, es un software que constituye una parte fundamental del sistema operativo. Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora, él es el encargado de gestionar recursos, a través de servicios de llamada al sistema, también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo. En esta práctica veremos los pasos para compilar el kernel en Ubuntu 12.04.5. ¿Por qué podemos querer compilar el kernel? • •
•
•
El sistema puede ser más rápido. Puede consumir menos memoria al optimizarlo para la arquitectura y hardware de nuestro equipo eliminando módulos innecesarios. Se puede conseguir un mejor rendimiento y respuesta del equipo con una buena configuración del kernel. Dar soporte a un dispositivo que no nos funciona.
1
CONCEPTOS BÁSICOS
CONCEPTOS BÁSICOS Kernel o núcleo: Parte esencial de un sistema operativo que provee los servicios
más básicos del sistema. Se encarga de gestionar los recursos como el acceso seguro al hardware de la computadora. Se encarga también del multiplexado, determinando qué programa accederá a un determinado hardware si dos o más quieren usarlo al mismo tiempo. Sistema GNU/Linux: En un sistema GNU/Linux, Linux es el núcleo. El resto del
sistema consiste en otros programas, muchos de los cuales fueron escritos por o para el proyecto GNU. Dado que el núcleo de Linux en sí mismo no forma un sistema operativo funcional, preferimos utilizar el término “GNU/Linux” para referirnos a los sistemas que la mayor parte de las personas llaman de manera informal “Linux”.
Distro: Una distribución Linux (coloquialmente llamada distro) es una distribución
de software basada en el núcleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de un grupo específico de usuarios, dando así origen a ediciones domésticas, empresariales y para servidores. Por lo general están compuestas, total o mayoritariamente, de software libre, aunque a menudo incorporan aplicaciones o controladores propietarios. GNU GRUB (GNU GRand Unified Bootloader) es un gestor de arranque múltiple, desarrollado por el proyecto GNU que nos permite elegir qué Sistema Operativo arrancar de los instalados. GRUB:
2
COMANDOS UTILIZADOS
COMANDOS apt-get : Busca e instala paquetes de software (Debian/Ubuntu). cd : Cambiar de directorio. clear : Limpia la pantalla de la terminal. dpkg-dev : Es el programa base para manejar paquetes Debian en el sistema. Si
tiene paquetes .deb, dpkg es lo que permite instalar o analizar sus contenidos. En general, se necesita instalar algunos paquetes con la opción "-dev" para satisfacer la dependencia entre paquetes. install : Copiar archivos y establecer atributos. make : Recompilar un grupo de programas. sudo : Ejecuta un comando como otro usuario. su : Cambia el id del usuario para convertirse en super usuario (root).
3
PROCEDIMIENTO
PROCEDIMIENTO Una vez instalada nuestra máquina virtual o física con Ubuntu 12.04.5 procedemos a realizar los siguientes pasos. NOTA: Es de suma importancia contar con al menos 30 GB de disco duro libre, para
prevenir posibles errores por falta de memoria. También es necesario contar con conexión a internet o en su defecto, tener descargad el kernel que vamos a instalar. PASO 1
Abrimos la carpeta Home de la computadora. Damos clic derecho en un espacio vacío y creamos una nueva carpeta con nombre “kernel”.
4
PROCEDIMIENTO
PASO 2
Accedemos al navegador web (el preinstalado es Mozilla Firefox) y accedemos a la siguiente dirección: www.kernel.org , donde podremos descargar todas las versiones del kernel de Linux. Una vez dentro buscamos la versión del kernel Linux 4.1 estable (o la que ustedes deseen), accediendo a la siguiente dirección: https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.1.tar.xz . El archivo a descargar lo guardaremos en la carpeta creada anteriormente.
5
PROCEDIMIENTO
PASO 3
Ya descargado pasamos a descomprimirlo, haciendo clic derecho sobre el archivo y dándole en Extract Here . Esto nos dejara una carpeta llamada “linux -4.1”.
PASO 4
Ahora abrimos la terminal de Ubuntu presionando la combinación de teclas “Ctrl” + “Alt” + “T” o la buscamos por ese nombre en el mismo buscador de Ubuntu.
PASO 5
Una vez en la terminal, escribimos la línea de comandos: sudo su , presionamos Enter. Luego escribimos la contraseña. Esto nos dará permisos root o super usuario (la cuenta con los permisos más elevados). Con este acceso evitamos tener que escribir la contraseña al realizar ciertas acciones administrativas. Si queremos, podremos ejecutar el comando clear cuando haya mucha información en pantalla, más adelante seguro lo necesitaremos.
6
PROCEDIMIENTO
PASO 6
Ahora ejecutamos lo siguiente: sudo apt-get install gcc libncurses5-dev dpkgdev
Esto nos permite instalar los paquetes necesarios para la compilacion del núcleo. Una vez hecho nos pedira usar 30.4 MB de nuestro disco duro, presionamos “Y” para poder continuar.
PASO 7
Necesitamos localizarnos en la dirección de la carpeta (linux-4.1) que venia en el archivo que descomprimimos. Para eso vamos teclear los siguietes comandos: cd kernel cd linux-4.1/
Asi, los siguientes comandos que tecleemos nos permitiran controlar lo que hay dentro de dicha carpeta.
7
PROCEDIMIENTO
PASO 8
Ahora ejecutamos la línea make menuconfig
Esto nos permitirá crear un menú de configuración gráfico del kernel que estamos por compilar. PASO 9
Una vez terminado nos saldrá la siguiente ventana.
Aquí podremos editar las distintas configuraciones del kernel, por ejemplo, yo evitare que se instalen los drivers del Bluetooth ya que mi laptop no cuenta con uno integrado y no lo necesito. Para eso me dirijo Networking support, presiono Enter.
8
PROCEDIMIENTO
En la siguiente pantalla me dirijo a Bluetooth subsystem support y pr esiono “N” para excluirla de mi compilación.
Luego, damos en guardar, dejamos el nombre por defecto y saldremos automáticamente a la terminal que estábamos hace un momento.
9
PROCEDIMIENTO
PASO 10
Una vez hecho esto, procedemos a escribir la siguiente línea: make -j 5 KDEB_PKGVERSION=1.NOMBRE deb-pk g
NOTA:
Sustituir NOMBRE por cualquiera que le quieran dar.
Esto nos compilara todo el kernel, con las respectivas configuraciones. El proceso dura alrededor de 2 horas y 30 minutos, asi que solo hay que estar atentos cada cierto tiempo por si pide la contraseña.
10
PROCEDIMIENTO
PASO 11
Cuando por fin termine, solo faltara teclear sudo reboot
PASO 12
Ahora al iniciar la computadora nos aparecerá la siguiente pantalla. Presionamos SHIFT para acceder al GRUB. Esto se llama GRUB, y nos permite acceder a los diferentes núcleos del sistema. Esto nos permite tener instalados diferentes sistemas operativos y el GRUB te permitiria acceder a ellos. Ahora solo damos en Linux 4.1.0, que es el kernel que le acabamos de instalar y nos debera correr con toda normalidad.
11