SlideShare una empresa de Scribd logo
Universidad Nacional de Ingeniería.
Facultad de Electrotecnia y Computación.
F.E.C.
Arquitectura de sistemas operativos
Proyecto de compilación del kernel de Linux
Elaborado por: No. Carnet
Morales Herrera Jeffree Jordy 2017-0479U
Molina Zambrana Ernesto Rafael 2017-0935U
Hernández Gómez María Estefanía 2017-0320U
Grupo: 4T2-CO.
Docente de la Asignatura: Danny Oswaldo Chávez Miranda.
Contenido
Introducción.......................................................................................................................... 3
Objetivos:........................................................................................................................... 3
Linux................................................................................................................................... 4
Linux Mint.......................................................................................................................... 4
Desarrollo.............................................................................................................................. 6
Instalación de Linux Mint................................................................................................. 6
Configuraciones iniciales................................................................................................ 7
Instalación de dependencias........................................................................................... 8
Descarga del kernel.......................................................................................................... 9
Impresión del mensaje durante el arranque.................................................................10
Creación de enlace simbólico........................................................................................11
Configuración.......................................................................................................................12
Configuración de fuentes de Linux...............................................................................13
Compilación e instalación del kernel............................................................................14
Cambiar logo inicio de Linux .............................................................................................18
Método 1:..........................................................................................................................19
Método 2:..........................................................................................................................19
Sistema Live.........................................................................................................................24
Driver.....................................................................................................................................27
Conclusiones.......................................................................................................................29
Bibliografía...........................................................................................................................30
Introducción
Linux es un núcleo o kernel de código abierto, lo que significa que su código fuente
es libre de estudiar, modificar y distribuir, por esta razón existen distintas
distribuciones basadas en el kernel Linux llamadas “distros” que incluyen paquetes
de software para satisfacer a sus usuarios, pudiendo incluso realizar versiones
personalizadas de estas distribuciones, siendo este es el objeto de este proyecto
Linux Mint es una distribución GNU/Linux con el propósito de ser un sistema
operativo moderno, elegante y fácil de usar y cuenta con una de las comunidades
más grandes con millones de usuarios.
Linux Mint 20.2 “Uma” fue seleccionado como para realizar una versión
personalizada de la distro instalando la versión del kernel 5.14.16.
Objetivos:
1. Compilar e instalar el kernel 5.14.16 de Linux en la distro Linux Mint.
2. Mostrar la impresión de un mensaje en el arranque del sistema operativo.
3. Modificar el logo de arranque del sistema operativo.
4. Instalar el device driver “Hello world!”.
5. Crear un sistema Live con la versión personalizada de la distro.
Linux
Durante el desarrollo de MINIX muchas personas exigían más y mejores
características para este sistema operativo, Andrew Tanenbaum, el autor, afirmaba
que este sistema operativo debía ser lo más pequeño y comprensible para el
aprendizaje, por lo que negaba estas peticiones.
Por esto un estudiante finlandés llamado Linus Torvalds escribió un clon de UNIX
conocido como Linux que podría tener más características que MINIX. Linux liberó
su primera versión (0.1) en 1991 y consistía en 9500 líneas de código en C y 950
líneas de código en ensamblador. Sin embargo, Linux siguió su desarrollo con
rapidez y lanzó la revisión mayor 1.0 en 1994.
Linux incluye una licencia conocida como GPL (GNU Public License) que especifica
que es lo que se puede y no puede hacer con el código. Los usuarios pueden utilizar,
copiar, modificar y redistribuir el código fuente y binario libremente. Una de las
restricciones es que no puedes vender ni distribuir el código binario solamente, sino
que debe incluir el código fuente.
Linux Mint
Linux Mint es una distribución GNU/Linux, basada en Ubuntu (que a su vez está
basada en Debian). También está disponible una edición basada en Debian. Linux
Mint tiene como objetivo presentar un sistema operativo moderno, con un énfasis
en la facilidad de instalar y en la usabilidad. Es reconocido por ser fácil de usar,
especialmente para los usuarios sin experiencia previa en Linux.
Linux Mint tiene 3 principales entornos de escritorio:
Cinnamon, siendo el más usado por ofrecer un entorno elegante y hermoso.
MATE, más estable y optimizado
Xfce, el mas ligero y menor uso de recursos
Este sistema operativo se compone de muchos paquetes de software, los cuales se
distribuyen la mayor parte bajo una licencia de software libre. La principal licencia
utilizada es la GNU General Public License (GNU GPL) que, junto con la GNU
Lesser General Public License (GNU LGPL), declara explícitamente que los
usuarios tienen libertad para ejecutar, copiar, distribuir, estudiar, cambiar,
desarrollar y mejorar el software. Linux Mint es financiada por su comunidad de
usuarios.
Este sistema operativo no sigue un ciclo predecible de lanzamientos, sino que los
plantea uno tras del otro. En cada caso, el proyecto define primero los objetivos del
próximo lanzamiento. Cuando se alcanzan todos los objetivos, usualmente, se
procede al lanzamiento de una beta, luego pasa por el lanzamiento de una Release
Candidate (RC) y luego si todo va bien, se anuncia la fecha para el lanzamiento de
la versión estable. Luego de un tiempo que es lanzada la versión principal, son
lanzadas las versiones alternativas.
Cada lanzamiento lleva asociado un nombre femenino, el que comienza con la letra
que le corresponde al número de versión, por ejemplo, Linux Mint 1.0 se llamó 'Ada',
la versión 2.0 'Barbara' y así sucesivamente según orden alfabético. La última
versión hasta el momento recibe el nombre de 'Uma'.
Desarrollo
Instalación de Linux Mint
Para iniciar e instalar Linux Mint nos dirigimos a la página oficial https://linuxmint.com/ y
descargamos la última versión estable, en este caso es 20.2 “Uma”
Para crear un medio de arranque utilizamos el software Etcher y una memoria USB
Configuraciones iniciales
Lo primero es instalar las actualizaciones importantes de Linux Mint, esto lo hacemos desde
el gestor de actualizaciones
Una vez actualizado Linux Mint, accedemos a la terminal como super usuario usando el
comando sudo su, de ahora en adelante todas las actividades de realizaran en modo super
usuario
Instalación de dependencias
Linux Mint utiliza el gestor de paquetes apt, todas las dependencias se descargaran e
instalaran usando este paquete.
Las dependencias instaladas servirán para compilar correctamente el kernel
- kernel-package:
- build-essential:
- make
- libncurses5-dev
- libelf-dev
- libssl-dev
- bc
- kmod
- cpio
- flex
- Linux-source
Descarga del kernel
Para descargar los archivos del kernel de Linux nos dirigimos a https://www.kernel.org/
En nuestro casodecidimos utilizar la versión 5.14.16 y lo descargamos desde un repositorio
Por defecto el archivo se guarda en la carpeta Descargas
El proceso de descomprimir y compilar el kernel se puede realizar desde cualquier
directorio, nosotros decidimos copiar el archivo descargado al directorio /usr/src
Usamos cd para dirigirnos al directorio
Para descomprimir los archivos del kernel usamos el comando tar
Al descomprimir quedará el directorio donde están todos los archivos del kernel, es este
directorio se realizaran todas las configuraciones para compilar e instalar este kernel
Impresión del mensaje durante el arranque
Para lograr que imprima el mensaje deseado tenemos que dirigirnos al archivo main.c en
el directorio /init
El mensaje tiene que escribirse debajo de las siguientes líneas de código:
system_state = SYSTEM_RUNNING;
numa_default_policy();
printk() es una función de C que imprime mensajes en el registro del kernel.
KERN_ALERT indica la importancia del mensaje haciendo que imprima, en cualquier caso.
Creación de enlace simbólico
La creación de un enlace simbólico sirve como copia de seguridad de nuestros archivos del
kernel
Configuración
Para realizar las configuraciones del kernel se utiliza el comando make menuconfig
Al ejecutar este comando se iniciará un menú donde se podrán habilitar e inhabilitar las
características y los dispositivos que soportara el kernel.
En nuestro caso lo dejaremos tal y como está, simplemente se guarda la configuración
actual
Durante la compilación el error
No rule to make target debian/canonical-certs.pem' needed by 'certs/x509_certificate_list'
ocurrió, esto debido a que no puede localizar el paquete en el directorio, esto se resuelve
eliminando este directorio de la line CONFIG_SYSTEM_TRUSTED_KEYS=”” enel archivo
.config que se guardó anteriormente con make menuconfig
Configuración de fuentes de Linux
La dependencia linux-source descarga un archivo comprimido con las fuentes de Linux y
se guarda en el directorio /usr/src
Usamos tar para extraer los archivos
Para realizar la configuración usamos el comando make ARCH=i386 defconfig, esto creara
un archivo .config según la arquitectura del CPU, en este caso i386
Compilación e instalación del kernel
En este momento ya podemos iniciar la compilación con el comando make ubicándonos en
el directorio de nuestro enlace simbólico
En nuestro caso la compilación tardo 4 horas y 7 minutos
Después de compilar procederemos a compilar los módulos con el comando
make modules
Una vez compilados los instalamos con make modules_install, existe un método de
instalar los módulos más ligeros con INSTALL_MOD_STRIP=1
Una vez instalados los módulos, instalamos el kernel con make install, de igual forma
usamos INSTALL_MOD_STRIP=1
En este momento el nuevo kernel ya esta instalado y solo es cuestión de reiniciar para ver
los cambios, pero antes hay que modificar el grub para poder ver el mensaje impreso en el
archivo main.c
Para esto nos dirigimos al directorio /etc/default y abrimos el archivo grub con nano
En el archivo grub vamos a modificar las líneas:
GRUB_TIMEOUT=10
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
Ahora serán
GRUB_TIMEOUT=30
Para que el tiempo antes de desplegar el menú de carga se mayor y el mensaje impreso se
pueda ver más tiempo
GRUB_CMDLINE_LINUX_DEFAULT=”splash”
Para que pase a modo gráfico y muestre el logo de Linux
El archivo grub quedará de la siguiente manera:
Podemos cambiar el nombre de los sistemas que se cargan en el archivo grub.cfg en el
directorio /boot/grub, esto es opcional, nosotros lo dejamos igual
Ahora queda actualizar el grub usando update-grub
Después usamos update-grub2, no es necesario ya que es solo un enlace simbólico a
update-grub pero no está demás usarlo
Ahora lo único que queda es reiniciar y ver los cambios con el comando reboot
Cambiar logo inicio de Linux
Pudimos encontrar dos métodos para cambiar el logo de inicio de Linux Mint
Método 1:
Nos dirigimos a la ruta /usr/share/plymouth/mint-logo
Renombramos el archivo original logo.png por seguridad
Elegimos la imagen que queramos, como recomendación debe ser una imagen 100x100 y
la renombramos como logo.png
Usamos el comando update-initramsfs y reiniciamos con reboot
Método 2:
Nos dirigimos a la página de gnome-look acá encontraremos múltiples temas para
personalizar nuestra distribución.
https://www.gnome-look.org/browse/
Nos dirigimos en Plymouth Themes y buscamos el tema que queramos instalar para
nuestro logo de Linux Mint, en nuestro caso será el tema Linux Mint 1.0.
Una vez seleccionado el tema procedemos a descargarlo, cuando hayamos seleccionado
el tema, hacemos clic en files y descargamos en este caso, el tema pesa 0.85mb, otros
temas pueden ser más pesados.
Una vez descargado, nos iremos a la carpeta Descargas para descomprimir el archivo
podemos usar la terminar para hacerlo, en este caso lo haremos sin comandos,
seleccionamos el archivo que acabamos de descargar, daremos clic derecho y extraer
aquí y nos dejara la carpeta ya descomprimida
Una vez descomprimida la carpeta Linux Mint (este nombre varía dependiendo del tema
que usted haya descargado), daremos clic derecho y copiar en la siguiente dirección
usr/share/plymouth/themes y pegamos
Luego abriremos la terminar en modo root, con el comando sudo su
Después escribiremos el siguiente comando para comenzar a instalar el tema.
sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth
default.plymouth /usr/share/plymouth/themes/linuxmint/linuxmint.plymouth 100
luego escribiremos el siguiente comando
sudo update-alternatives --config default.plymouth
una vez dado enter, nos aparecerá el siguiente mensaje, y escogemos el #2, y damos
enter
Ahora actualizamos el initframs
y finamente reiniciamos usando el comando reboot.
Y listo
nota: Este tema que descargamos puede que de un error para la carga del splash, si da
un problema usaremos los siguientes comandos en modo root:
1.sudo -s
2.echo FRAMEBUFFER=y >>/etc/initramfs-tools/conf.d/splash
3.update-initramfs -u
Sistema Live
Para realizar el sistema Live usamos el software Systemback, dirigiéndonos al enlace
https://sourceforge.net/projects/systemback-install-pack-1-9-4/files/systemback-
install_pack-1.9.4.tar.gz/download
Una vez descargado nos dirigimos al directorio Descargas y extraemos con tar, extraído
todos los archivos ejecutamos el fichero install.sh usando el comando chmod para
ejecutarlo como un programa
Systemback nos permitirá crear el sistema Live que es lo que nos interesa
Al presionar el botón Crear sistema Live abrirá la herramienta para crear nuestro fichero
que convertiremos a .iso, elegimos el nombre de nuestro sistema Live, el directorio donde
se guardará (/home) y opcionalmente podemos incluir archivos de datos y hacemos clic
en Crear nuevo.
Este proceso tarda dependiendo de cada equipo, en nuestro caso tardo 32 minutos, una
vez finalizado nos creara un fichero .s.blive
Systemback posee una herramienta para convertir nuestro fichero creado a .iso pero solo
si este tiene un peso menor de 4gb. Para convertir nuestro archivo a .iso usaremos otra
herramienta: xorriso.
Para instalar xorriso usamos el comando apt-get install xorriso
Crearemos un nuevo directorio con mkdir donde guardaremos nuestra imagen .iso
Para ejecutar el comando que nos permitirá crear la imagen iso descompimiremos el
archivo .sblive que creó Systemback con tar, los archivos se guardaran en el directorio
sblive que creamos, y renombraremos los archivos syslinux.cfg y el directorio syslinux
como isolinux.cfg y isolinux respectivamente
Una vez renombrado los ficheros ejecutaremos el siguiente comando con las flags que
nos permitirán crear el archivo .iso mayor a 4gb
Driver
El driver que realizamos se conoce como “Hello world device driver”, su función
es imprimir un mensaje de kernel “Hello world!” cuando el driver esta activado y un
mensaje “Goodbye, cruel world” cuando esta desactivado.
Creamos un directorio nuevo y un archivo .c, en este caso hola.c que contendrá el
código del driver, para la creación del archivo .c y el archivo Makefile usamos
nano, el código del driver es el siguiente:
El archivo Makefile nos permitirá compilar el archivo .c que nos generara nuestro
instalador del driver:
Una vez creados todos los archivos procederemos a compilar con make
Nos interesa el archivo hola.ko con el cual instalaremos el driver.
El comando para instalar este driver es insmod, instalándolo con privilegios de
superusuario.
Una vez instalado el driver podemos ver con el comando lsmod | grep nuestro
driver ya instalado
Para ver el mensaje de kernel usamos el comando dmseg | tail
Conclusiones
Durante este proyecto cumplimos con el objetivo de compilar e instalar
satisfactoriamente un kernel de Linux modificado para mostrar un mensaje antes
del splash, concluimos que los comandos de Ubuntu sirven en su mayoría también
para Linux Mint, así como sus herramientas.
Bibliografía
Debian.(31 de 12 de 2020). Obtenidode https://wiki.debian.org/BuildADebianKernelPackage
Edmond,F.C. (01 de 06 de 2020). EDMOND'SWEBLOG. Obtenidode Systembackcreazione iso
superiore a4 Giga:https://francoconidi.it/systemback-creazione-iso-superiore-a-4-giga/
Edmond,F.C. (s.f.). EDMUND'SWEBLOG.Obtenidode Systemback1.9.4perDebian10 Ubuntu
20.04: https://francoconidi.it/systemback-1-9-4-per-debian-10-ubuntu-20-04/
Isaac. (s.f.). Linux Adictos.Obtenidode https://www.linuxadictos.com/en/create-linux-
distribution.html
Recliner,F.(29 de 01 de 2012). StackExchange.Obtenidode
https://unix.stackexchange.com/questions/30345/why-is-my-initial-ramdisk-so-big
Rubini,A.,&Corbet,J. (2001). Linux Device Drivers. O'ReillyMedia.

Más contenido relacionado

La actualidad más candente

Operating Systems: Linux in Detail
Operating Systems: Linux in DetailOperating Systems: Linux in Detail
Operating Systems: Linux in Detail
Damian T. Gordon
 
Présentation ubuntu 12.10 PDF
Présentation ubuntu  12.10 PDFPrésentation ubuntu  12.10 PDF
Présentation ubuntu 12.10 PDF
Mohamed Ben Bouzid
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
Md. Zahid Hossain Shoeb
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
Emertxe Information Technologies Pvt Ltd
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module Programming
Tushar B Kute
 
A Quick Introduction to Linux
A Quick Introduction to LinuxA Quick Introduction to Linux
A Quick Introduction to Linux
Tusharadri Sarkar
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
Shay Cohen
 
linux
linuxlinux
package mangement
package mangementpackage mangement
package mangement
ARYA TM
 
Linux Operating System
Linux Operating SystemLinux Operating System
Linux Operating System
KunalKewat1
 
Kernel Configuration and Compilation
Kernel Configuration and CompilationKernel Configuration and Compilation
Kernel Configuration and Compilation
Bud Siddhisena
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
Emertxe Information Technologies Pvt Ltd
 
Complete Guide for Linux shell programming
Complete Guide for Linux shell programmingComplete Guide for Linux shell programming
Complete Guide for Linux shell programming
sudhir singh yadav
 
4. linux file systems
4. linux file systems4. linux file systems
4. linux file systems
Marian Marinov
 
An Introduction to Linux
An Introduction to LinuxAn Introduction to Linux
An Introduction to Linux
anandvaidya
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
ICI Bucharest - roTLD
 

La actualidad más candente (20)

Operating Systems: Linux in Detail
Operating Systems: Linux in DetailOperating Systems: Linux in Detail
Operating Systems: Linux in Detail
 
Linux
Linux Linux
Linux
 
Présentation ubuntu 12.10 PDF
Présentation ubuntu  12.10 PDFPrésentation ubuntu  12.10 PDF
Présentation ubuntu 12.10 PDF
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module Programming
 
Linux Presentation
Linux PresentationLinux Presentation
Linux Presentation
 
A Quick Introduction to Linux
A Quick Introduction to LinuxA Quick Introduction to Linux
A Quick Introduction to Linux
 
Linux File System
Linux File SystemLinux File System
Linux File System
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
 
linux
linuxlinux
linux
 
package mangement
package mangementpackage mangement
package mangement
 
Linux Operating System
Linux Operating SystemLinux Operating System
Linux Operating System
 
linux introduction
linux introductionlinux introduction
linux introduction
 
Kernel Configuration and Compilation
Kernel Configuration and CompilationKernel Configuration and Compilation
Kernel Configuration and Compilation
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
 
Complete Guide for Linux shell programming
Complete Guide for Linux shell programmingComplete Guide for Linux shell programming
Complete Guide for Linux shell programming
 
4. linux file systems
4. linux file systems4. linux file systems
4. linux file systems
 
An Introduction to Linux
An Introduction to LinuxAn Introduction to Linux
An Introduction to Linux
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 

Similar a Compilación del kernel en Linux Mint 20.2 "Uma" 2021

Linux mint presentacion final
Linux mint presentacion finalLinux mint presentacion final
Linux mint presentacion finalAndrés Chávez
 
Sistema operativo GNU / Linux
Sistema operativo GNU / LinuxSistema operativo GNU / Linux
Sistema operativo GNU / Linux
Juan Alberto Rua Peña
 
Primeros pasos con GNU / Linux
Primeros pasos con GNU / LinuxPrimeros pasos con GNU / Linux
Primeros pasos con GNU / Linux
Eudris Cabrera
 
Seminario de linux
Seminario de linuxSeminario de linux
Seminario de linux
H. Martin Trujillo Bustamante
 
Curso basico de linux(guadalinex)
Curso basico de linux(guadalinex)Curso basico de linux(guadalinex)
Curso basico de linux(guadalinex)
Gilberto Iraheta
 
9.distribuciones linux
9.distribuciones linux9.distribuciones linux
9.distribuciones linuxArleth Beta
 
Cois 408 Informe Oral
Cois 408 Informe OralCois 408 Informe Oral
Cois 408 Informe Oral
aztinej
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo LinuxDiana
 
Paper Sistema Operativo Linux
Paper Sistema Operativo Linux Paper Sistema Operativo Linux
Paper Sistema Operativo Linux
Krlitos Xavier
 
Arrancar linux usb
Arrancar linux usbArrancar linux usb
Arrancar linux usb
alexekintza
 
[ES] Introduccion a GNU / Linux
[ES] Introduccion a GNU / Linux[ES] Introduccion a GNU / Linux
[ES] Introduccion a GNU / Linux
Eudris Cabrera
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
elceballosm
 
Sistena operativo
Sistena operativoSistena operativo
Sistena operativo
5539157338
 
Manejo de sistemas operativo
Manejo de sistemas operativoManejo de sistemas operativo
Manejo de sistemas operativo
johanaalineE
 
Red hat
Red hatRed hat
Red hat
Omar Zuñiga
 
Manejo de sistemas operativo
Manejo de sistemas operativoManejo de sistemas operativo
Manejo de sistemas operativojohanaalineE
 
Linux papito
Linux papitoLinux papito
Linux papito
2pac nigu
 

Similar a Compilación del kernel en Linux Mint 20.2 "Uma" 2021 (20)

Linux mint presentacion final
Linux mint presentacion finalLinux mint presentacion final
Linux mint presentacion final
 
Sistema operativo GNU / Linux
Sistema operativo GNU / LinuxSistema operativo GNU / Linux
Sistema operativo GNU / Linux
 
Primeros pasos con GNU / Linux
Primeros pasos con GNU / LinuxPrimeros pasos con GNU / Linux
Primeros pasos con GNU / Linux
 
todo sobre linux
todo sobre linuxtodo sobre linux
todo sobre linux
 
Seminario de linux
Seminario de linuxSeminario de linux
Seminario de linux
 
Nombre del maestro
Nombre del maestroNombre del maestro
Nombre del maestro
 
Curso basico de linux(guadalinex)
Curso basico de linux(guadalinex)Curso basico de linux(guadalinex)
Curso basico de linux(guadalinex)
 
9.distribuciones linux
9.distribuciones linux9.distribuciones linux
9.distribuciones linux
 
Cois 408 Informe Oral
Cois 408 Informe OralCois 408 Informe Oral
Cois 408 Informe Oral
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linux
 
Paper Sistema Operativo Linux
Paper Sistema Operativo Linux Paper Sistema Operativo Linux
Paper Sistema Operativo Linux
 
Arrancar linux usb
Arrancar linux usbArrancar linux usb
Arrancar linux usb
 
[ES] Introduccion a GNU / Linux
[ES] Introduccion a GNU / Linux[ES] Introduccion a GNU / Linux
[ES] Introduccion a GNU / Linux
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistena operativo
Sistena operativoSistena operativo
Sistena operativo
 
Manejo de sistemas operativo
Manejo de sistemas operativoManejo de sistemas operativo
Manejo de sistemas operativo
 
Diapositivas de SOR II
Diapositivas de SOR IIDiapositivas de SOR II
Diapositivas de SOR II
 
Red hat
Red hatRed hat
Red hat
 
Manejo de sistemas operativo
Manejo de sistemas operativoManejo de sistemas operativo
Manejo de sistemas operativo
 
Linux papito
Linux papitoLinux papito
Linux papito
 

Último

Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
arielemelec005
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
edujunes132
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
everchanging2020
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
RonaldRozoMora
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
JavierAlejosM
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
Pol Peña Quispe
 
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
IVANBRIANCHOQUEHUANC
 
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).docEjercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
LuisEnriqueCarboneDe
 
164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas
jcbarriopedro69
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
JavierAlejosM
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
maitecuba2006
 
Caso Prático de Análise de Vibrações em Ventilador de Extração
Caso Prático de Análise de Vibrações em Ventilador de ExtraçãoCaso Prático de Análise de Vibrações em Ventilador de Extração
Caso Prático de Análise de Vibrações em Ventilador de Extração
CarlosAroeira1
 
Expo sobre los tipos de transistores, su polaridad, y sus respectivas configu...
Expo sobre los tipos de transistores, su polaridad, y sus respectivas configu...Expo sobre los tipos de transistores, su polaridad, y sus respectivas configu...
Expo sobre los tipos de transistores, su polaridad, y sus respectivas configu...
LUISDAMIANSAMARRONCA
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
UOC Estudios de Informática, Multimedia y Telecomunicación
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
CarlosAroeira1
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
Daniel Jose Sierra Garcia
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
RobertRamos84
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
JhonatanOQuionesChoq
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
MariaCortezRuiz
 

Último (20)

Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
 
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
 
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).docEjercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
 
164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
Caso Prático de Análise de Vibrações em Ventilador de Extração
Caso Prático de Análise de Vibrações em Ventilador de ExtraçãoCaso Prático de Análise de Vibrações em Ventilador de Extração
Caso Prático de Análise de Vibrações em Ventilador de Extração
 
Expo sobre los tipos de transistores, su polaridad, y sus respectivas configu...
Expo sobre los tipos de transistores, su polaridad, y sus respectivas configu...Expo sobre los tipos de transistores, su polaridad, y sus respectivas configu...
Expo sobre los tipos de transistores, su polaridad, y sus respectivas configu...
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
 

Compilación del kernel en Linux Mint 20.2 "Uma" 2021

  • 1. Universidad Nacional de Ingeniería. Facultad de Electrotecnia y Computación. F.E.C. Arquitectura de sistemas operativos Proyecto de compilación del kernel de Linux Elaborado por: No. Carnet Morales Herrera Jeffree Jordy 2017-0479U Molina Zambrana Ernesto Rafael 2017-0935U Hernández Gómez María Estefanía 2017-0320U Grupo: 4T2-CO. Docente de la Asignatura: Danny Oswaldo Chávez Miranda.
  • 2. Contenido Introducción.......................................................................................................................... 3 Objetivos:........................................................................................................................... 3 Linux................................................................................................................................... 4 Linux Mint.......................................................................................................................... 4 Desarrollo.............................................................................................................................. 6 Instalación de Linux Mint................................................................................................. 6 Configuraciones iniciales................................................................................................ 7 Instalación de dependencias........................................................................................... 8 Descarga del kernel.......................................................................................................... 9 Impresión del mensaje durante el arranque.................................................................10 Creación de enlace simbólico........................................................................................11 Configuración.......................................................................................................................12 Configuración de fuentes de Linux...............................................................................13 Compilación e instalación del kernel............................................................................14 Cambiar logo inicio de Linux .............................................................................................18 Método 1:..........................................................................................................................19 Método 2:..........................................................................................................................19 Sistema Live.........................................................................................................................24 Driver.....................................................................................................................................27 Conclusiones.......................................................................................................................29 Bibliografía...........................................................................................................................30
  • 3. Introducción Linux es un núcleo o kernel de código abierto, lo que significa que su código fuente es libre de estudiar, modificar y distribuir, por esta razón existen distintas distribuciones basadas en el kernel Linux llamadas “distros” que incluyen paquetes de software para satisfacer a sus usuarios, pudiendo incluso realizar versiones personalizadas de estas distribuciones, siendo este es el objeto de este proyecto Linux Mint es una distribución GNU/Linux con el propósito de ser un sistema operativo moderno, elegante y fácil de usar y cuenta con una de las comunidades más grandes con millones de usuarios. Linux Mint 20.2 “Uma” fue seleccionado como para realizar una versión personalizada de la distro instalando la versión del kernel 5.14.16. Objetivos: 1. Compilar e instalar el kernel 5.14.16 de Linux en la distro Linux Mint. 2. Mostrar la impresión de un mensaje en el arranque del sistema operativo. 3. Modificar el logo de arranque del sistema operativo. 4. Instalar el device driver “Hello world!”. 5. Crear un sistema Live con la versión personalizada de la distro.
  • 4. Linux Durante el desarrollo de MINIX muchas personas exigían más y mejores características para este sistema operativo, Andrew Tanenbaum, el autor, afirmaba que este sistema operativo debía ser lo más pequeño y comprensible para el aprendizaje, por lo que negaba estas peticiones. Por esto un estudiante finlandés llamado Linus Torvalds escribió un clon de UNIX conocido como Linux que podría tener más características que MINIX. Linux liberó su primera versión (0.1) en 1991 y consistía en 9500 líneas de código en C y 950 líneas de código en ensamblador. Sin embargo, Linux siguió su desarrollo con rapidez y lanzó la revisión mayor 1.0 en 1994. Linux incluye una licencia conocida como GPL (GNU Public License) que especifica que es lo que se puede y no puede hacer con el código. Los usuarios pueden utilizar, copiar, modificar y redistribuir el código fuente y binario libremente. Una de las restricciones es que no puedes vender ni distribuir el código binario solamente, sino que debe incluir el código fuente. Linux Mint Linux Mint es una distribución GNU/Linux, basada en Ubuntu (que a su vez está basada en Debian). También está disponible una edición basada en Debian. Linux Mint tiene como objetivo presentar un sistema operativo moderno, con un énfasis en la facilidad de instalar y en la usabilidad. Es reconocido por ser fácil de usar, especialmente para los usuarios sin experiencia previa en Linux. Linux Mint tiene 3 principales entornos de escritorio: Cinnamon, siendo el más usado por ofrecer un entorno elegante y hermoso. MATE, más estable y optimizado
  • 5. Xfce, el mas ligero y menor uso de recursos Este sistema operativo se compone de muchos paquetes de software, los cuales se distribuyen la mayor parte bajo una licencia de software libre. La principal licencia utilizada es la GNU General Public License (GNU GPL) que, junto con la GNU Lesser General Public License (GNU LGPL), declara explícitamente que los usuarios tienen libertad para ejecutar, copiar, distribuir, estudiar, cambiar, desarrollar y mejorar el software. Linux Mint es financiada por su comunidad de usuarios. Este sistema operativo no sigue un ciclo predecible de lanzamientos, sino que los plantea uno tras del otro. En cada caso, el proyecto define primero los objetivos del próximo lanzamiento. Cuando se alcanzan todos los objetivos, usualmente, se procede al lanzamiento de una beta, luego pasa por el lanzamiento de una Release Candidate (RC) y luego si todo va bien, se anuncia la fecha para el lanzamiento de la versión estable. Luego de un tiempo que es lanzada la versión principal, son lanzadas las versiones alternativas. Cada lanzamiento lleva asociado un nombre femenino, el que comienza con la letra que le corresponde al número de versión, por ejemplo, Linux Mint 1.0 se llamó 'Ada', la versión 2.0 'Barbara' y así sucesivamente según orden alfabético. La última versión hasta el momento recibe el nombre de 'Uma'.
  • 6. Desarrollo Instalación de Linux Mint Para iniciar e instalar Linux Mint nos dirigimos a la página oficial https://linuxmint.com/ y descargamos la última versión estable, en este caso es 20.2 “Uma” Para crear un medio de arranque utilizamos el software Etcher y una memoria USB
  • 7. Configuraciones iniciales Lo primero es instalar las actualizaciones importantes de Linux Mint, esto lo hacemos desde el gestor de actualizaciones Una vez actualizado Linux Mint, accedemos a la terminal como super usuario usando el comando sudo su, de ahora en adelante todas las actividades de realizaran en modo super usuario
  • 8. Instalación de dependencias Linux Mint utiliza el gestor de paquetes apt, todas las dependencias se descargaran e instalaran usando este paquete. Las dependencias instaladas servirán para compilar correctamente el kernel - kernel-package: - build-essential: - make - libncurses5-dev - libelf-dev - libssl-dev - bc - kmod - cpio - flex - Linux-source
  • 9. Descarga del kernel Para descargar los archivos del kernel de Linux nos dirigimos a https://www.kernel.org/ En nuestro casodecidimos utilizar la versión 5.14.16 y lo descargamos desde un repositorio
  • 10. Por defecto el archivo se guarda en la carpeta Descargas El proceso de descomprimir y compilar el kernel se puede realizar desde cualquier directorio, nosotros decidimos copiar el archivo descargado al directorio /usr/src Usamos cd para dirigirnos al directorio Para descomprimir los archivos del kernel usamos el comando tar Al descomprimir quedará el directorio donde están todos los archivos del kernel, es este directorio se realizaran todas las configuraciones para compilar e instalar este kernel Impresión del mensaje durante el arranque Para lograr que imprima el mensaje deseado tenemos que dirigirnos al archivo main.c en el directorio /init
  • 11. El mensaje tiene que escribirse debajo de las siguientes líneas de código: system_state = SYSTEM_RUNNING; numa_default_policy(); printk() es una función de C que imprime mensajes en el registro del kernel. KERN_ALERT indica la importancia del mensaje haciendo que imprima, en cualquier caso. Creación de enlace simbólico La creación de un enlace simbólico sirve como copia de seguridad de nuestros archivos del kernel
  • 12. Configuración Para realizar las configuraciones del kernel se utiliza el comando make menuconfig Al ejecutar este comando se iniciará un menú donde se podrán habilitar e inhabilitar las características y los dispositivos que soportara el kernel. En nuestro caso lo dejaremos tal y como está, simplemente se guarda la configuración actual
  • 13. Durante la compilación el error No rule to make target debian/canonical-certs.pem' needed by 'certs/x509_certificate_list' ocurrió, esto debido a que no puede localizar el paquete en el directorio, esto se resuelve eliminando este directorio de la line CONFIG_SYSTEM_TRUSTED_KEYS=”” enel archivo .config que se guardó anteriormente con make menuconfig Configuración de fuentes de Linux La dependencia linux-source descarga un archivo comprimido con las fuentes de Linux y se guarda en el directorio /usr/src Usamos tar para extraer los archivos Para realizar la configuración usamos el comando make ARCH=i386 defconfig, esto creara un archivo .config según la arquitectura del CPU, en este caso i386
  • 14. Compilación e instalación del kernel En este momento ya podemos iniciar la compilación con el comando make ubicándonos en el directorio de nuestro enlace simbólico En nuestro caso la compilación tardo 4 horas y 7 minutos Después de compilar procederemos a compilar los módulos con el comando make modules Una vez compilados los instalamos con make modules_install, existe un método de instalar los módulos más ligeros con INSTALL_MOD_STRIP=1
  • 15. Una vez instalados los módulos, instalamos el kernel con make install, de igual forma usamos INSTALL_MOD_STRIP=1 En este momento el nuevo kernel ya esta instalado y solo es cuestión de reiniciar para ver los cambios, pero antes hay que modificar el grub para poder ver el mensaje impreso en el archivo main.c Para esto nos dirigimos al directorio /etc/default y abrimos el archivo grub con nano En el archivo grub vamos a modificar las líneas: GRUB_TIMEOUT=10 GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” Ahora serán GRUB_TIMEOUT=30 Para que el tiempo antes de desplegar el menú de carga se mayor y el mensaje impreso se pueda ver más tiempo
  • 16. GRUB_CMDLINE_LINUX_DEFAULT=”splash” Para que pase a modo gráfico y muestre el logo de Linux El archivo grub quedará de la siguiente manera: Podemos cambiar el nombre de los sistemas que se cargan en el archivo grub.cfg en el directorio /boot/grub, esto es opcional, nosotros lo dejamos igual Ahora queda actualizar el grub usando update-grub
  • 17. Después usamos update-grub2, no es necesario ya que es solo un enlace simbólico a update-grub pero no está demás usarlo Ahora lo único que queda es reiniciar y ver los cambios con el comando reboot
  • 18. Cambiar logo inicio de Linux Pudimos encontrar dos métodos para cambiar el logo de inicio de Linux Mint
  • 19. Método 1: Nos dirigimos a la ruta /usr/share/plymouth/mint-logo Renombramos el archivo original logo.png por seguridad Elegimos la imagen que queramos, como recomendación debe ser una imagen 100x100 y la renombramos como logo.png Usamos el comando update-initramsfs y reiniciamos con reboot Método 2: Nos dirigimos a la página de gnome-look acá encontraremos múltiples temas para personalizar nuestra distribución.
  • 20. https://www.gnome-look.org/browse/ Nos dirigimos en Plymouth Themes y buscamos el tema que queramos instalar para nuestro logo de Linux Mint, en nuestro caso será el tema Linux Mint 1.0. Una vez seleccionado el tema procedemos a descargarlo, cuando hayamos seleccionado el tema, hacemos clic en files y descargamos en este caso, el tema pesa 0.85mb, otros temas pueden ser más pesados.
  • 21. Una vez descargado, nos iremos a la carpeta Descargas para descomprimir el archivo podemos usar la terminar para hacerlo, en este caso lo haremos sin comandos, seleccionamos el archivo que acabamos de descargar, daremos clic derecho y extraer aquí y nos dejara la carpeta ya descomprimida Una vez descomprimida la carpeta Linux Mint (este nombre varía dependiendo del tema que usted haya descargado), daremos clic derecho y copiar en la siguiente dirección usr/share/plymouth/themes y pegamos
  • 22. Luego abriremos la terminar en modo root, con el comando sudo su
  • 23. Después escribiremos el siguiente comando para comenzar a instalar el tema. sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/linuxmint/linuxmint.plymouth 100 luego escribiremos el siguiente comando sudo update-alternatives --config default.plymouth una vez dado enter, nos aparecerá el siguiente mensaje, y escogemos el #2, y damos enter
  • 24. Ahora actualizamos el initframs y finamente reiniciamos usando el comando reboot. Y listo nota: Este tema que descargamos puede que de un error para la carga del splash, si da un problema usaremos los siguientes comandos en modo root: 1.sudo -s 2.echo FRAMEBUFFER=y >>/etc/initramfs-tools/conf.d/splash 3.update-initramfs -u Sistema Live Para realizar el sistema Live usamos el software Systemback, dirigiéndonos al enlace https://sourceforge.net/projects/systemback-install-pack-1-9-4/files/systemback- install_pack-1.9.4.tar.gz/download
  • 25. Una vez descargado nos dirigimos al directorio Descargas y extraemos con tar, extraído todos los archivos ejecutamos el fichero install.sh usando el comando chmod para ejecutarlo como un programa Systemback nos permitirá crear el sistema Live que es lo que nos interesa
  • 26. Al presionar el botón Crear sistema Live abrirá la herramienta para crear nuestro fichero que convertiremos a .iso, elegimos el nombre de nuestro sistema Live, el directorio donde se guardará (/home) y opcionalmente podemos incluir archivos de datos y hacemos clic en Crear nuevo. Este proceso tarda dependiendo de cada equipo, en nuestro caso tardo 32 minutos, una vez finalizado nos creara un fichero .s.blive Systemback posee una herramienta para convertir nuestro fichero creado a .iso pero solo si este tiene un peso menor de 4gb. Para convertir nuestro archivo a .iso usaremos otra herramienta: xorriso. Para instalar xorriso usamos el comando apt-get install xorriso Crearemos un nuevo directorio con mkdir donde guardaremos nuestra imagen .iso Para ejecutar el comando que nos permitirá crear la imagen iso descompimiremos el archivo .sblive que creó Systemback con tar, los archivos se guardaran en el directorio sblive que creamos, y renombraremos los archivos syslinux.cfg y el directorio syslinux como isolinux.cfg y isolinux respectivamente
  • 27. Una vez renombrado los ficheros ejecutaremos el siguiente comando con las flags que nos permitirán crear el archivo .iso mayor a 4gb Driver El driver que realizamos se conoce como “Hello world device driver”, su función es imprimir un mensaje de kernel “Hello world!” cuando el driver esta activado y un mensaje “Goodbye, cruel world” cuando esta desactivado. Creamos un directorio nuevo y un archivo .c, en este caso hola.c que contendrá el código del driver, para la creación del archivo .c y el archivo Makefile usamos nano, el código del driver es el siguiente: El archivo Makefile nos permitirá compilar el archivo .c que nos generara nuestro instalador del driver:
  • 28. Una vez creados todos los archivos procederemos a compilar con make Nos interesa el archivo hola.ko con el cual instalaremos el driver. El comando para instalar este driver es insmod, instalándolo con privilegios de superusuario. Una vez instalado el driver podemos ver con el comando lsmod | grep nuestro driver ya instalado Para ver el mensaje de kernel usamos el comando dmseg | tail
  • 29. Conclusiones Durante este proyecto cumplimos con el objetivo de compilar e instalar satisfactoriamente un kernel de Linux modificado para mostrar un mensaje antes del splash, concluimos que los comandos de Ubuntu sirven en su mayoría también para Linux Mint, así como sus herramientas.
  • 30. Bibliografía Debian.(31 de 12 de 2020). Obtenidode https://wiki.debian.org/BuildADebianKernelPackage Edmond,F.C. (01 de 06 de 2020). EDMOND'SWEBLOG. Obtenidode Systembackcreazione iso superiore a4 Giga:https://francoconidi.it/systemback-creazione-iso-superiore-a-4-giga/ Edmond,F.C. (s.f.). EDMUND'SWEBLOG.Obtenidode Systemback1.9.4perDebian10 Ubuntu 20.04: https://francoconidi.it/systemback-1-9-4-per-debian-10-ubuntu-20-04/ Isaac. (s.f.). Linux Adictos.Obtenidode https://www.linuxadictos.com/en/create-linux- distribution.html Recliner,F.(29 de 01 de 2012). StackExchange.Obtenidode https://unix.stackexchange.com/questions/30345/why-is-my-initial-ramdisk-so-big Rubini,A.,&Corbet,J. (2001). Linux Device Drivers. O'ReillyMedia.