Diferència entre revisions de la pàgina «Memòria tècnica de Distribucion Linux Cronos»
Línia 200: | Línia 200: | ||
*Ara hem de canviar el directori per executar un altre comandament que crearà la nostra imatge d'arrencada del Kernel: | *Ara hem de canviar el directori per executar un altre comandament que crearà la nostra imatge d'arrencada del Kernel: | ||
+ | [[File:Cdboot.png|center]] | ||
*Una vegada dins d'aquest directori, executarem el següent comandament: | *Una vegada dins d'aquest directori, executarem el següent comandament: | ||
− | *Aquesta ordre servirà per estar segur del nom del nucli, com podeu veure a la segona línia de la imatge de dalt, el nucli que hem compilat té el nom | + | ''' ls /lib/modules/''' |
+ | |||
+ | *Aquesta ordre servirà per estar segur del nom del nucli, com podeu veure a la segona línia de la imatge de dalt, el nucli que hem compilat té el nom '''4.16.11compilacio-1''', necessitem aquest nom en el següent comandament, que és: | ||
+ | |||
+ | ''' sudo mkinitramfs -o initrd.img-4.16.11compilacio-1 4.16.11compilacio-1 ''' | ||
+ | |||
+ | |||
+ | *Ens acostem al final, necessitem que GRUB reconegui el nostre nou nucli, de manera que puguem reiniciar la màquina utilitzant-lo, de manera que això passa, necessitem actualitzar la llista de sistemes / nuclis que apareixen al menú GRUB. apareix a l'inici de l'ordinador). | ||
==Kernel en USB bootable== | ==Kernel en USB bootable== |
Revisió del 16:49, 25 maig 2018
Què és el Kernel?
Kernel prové del germànic Kern que significa "nucli" o "os". Tal com diu el seu nom és el nucli, l'os, el fonamental d'un sistema operatiu.
Funcions
La funció general d'un Kernel és el d'assegurar que els processos s'executin i funcionin correctament.
El nucli opera com assignador de recursos per a qualsevol procés que necessiti utilitzar les facilitats de còmput. Les seves funcions principals són:
- Creació de processos, assignació de temps d'atenció i sincronització.
- Assignació de l'atenció del processador als processos que ho requereixen.
- Administració d'espai en el sistema d'arxius, que inclou: accés, protecció i administració d'usuaris; comunicació entre usuaris i entre processos, i manipulació d'E / S i administració de perifèrics.
- Supervisió de la transmissió de dades entre la memòria principal i els dispositius perifèrics.
Què és una compilació?
Compilació la fase de codificació en què un programa és traduït del codi font al codi màquina perquè pugui executar-se. Com a tal, la realitza un compilador virtual, la tasca consisteix a portar un programa font a programa objecte.
- Aquesta compilació del codi font d'un programa es realitza pel fet que el codi treballat pel llenguatge de programació no és executable directament per l'ordinador, és per ella la necessitat de traduir les instruccions contingudes en el text a l'anomenat "llenguatge de màquina" o codi binari, l'única manera possible que l'ordinador entengui i després executi les sentències les ordres i instruccions determinades pel codi font.
- El codi font és la part més important de qualsevol programa, ja que en ell es determina el que volem que l'ordinador faci per nosaltres. Bàsicament es tracta del conjunt de línies de text indicant ordres i sentències que s'escriuen mitjançant l'editor d'un llenguatge de programació.
Per què compilar el Kernel?
El sistema serà més ràpid, més velocitat i el teu ordinador consumirà molta menys memòria RAM ja que en optimitzar minuciosament aquest "operador de comandament" que té Linux anomenat Kernel per a l'arquitectura del maquinari del teu ordinador, tot fluirà.
Avantatges
- Si optimitzem la nostra distro el sistema tindrà un millor rendiment, estalviant uns segons en l'arrencada i en iniciar les aplicacions, encara que no és una cosa senzilla. Per aconseguir-ho hem de tenir certs coneixements de maquinari i l'ús bàsic de la terminal
Que versió del nucli trio?
Hem de tenir en compte que es distingeixen dos tipus de nucli:
- Versió de producció És la versió estable fins al moment i és el resultat final de les versions en desenvolupament o experimentals
- Versió de desenvolupament Aquesta versió és experimental i és la que utilitzen els desenvolupadors per programar, comprovar i verificar noves característiques, correccions, etc. Aquests nuclis solen ser inestables i no s'haurien d'usar, llevat que fos un usuari especialitzat en nuclis
Per distingir la versió del nucli
Per poder saber que nucli aquestes o et disposes a utilitzar has de fixar-se simplement en el nombre de la versió la qual s'estableix de la següent manera: <Versió nucli>. <Estable o Desenvolupament>. <Subversió del Kernel>
- <Versió nucli> indica la sèrie principal del Kernel
- <Estable o Desenvolupament> indica amb un nombre imparell si és de Desenvolupament o un nombre parell per a versions Estable
- <Subversió del Kernel> indica noves versions que superen errors o bugs en versions anteriors d'un mateix nucli.
Per accedir a la página oficial del kernel fem Clic aquí
Passos a seguir per fer la compilació
Ens anem a la pàgina principal de nucli http://www.kernel.org per baixar l'última versió estable. L'arxiu que es estarem baixant és un arxiu comprimit així que el següent pas és descomprimir, això ho poden fer amb ark (KDE) o file-roller (GNOME). Una vegada que es troba descomprimit les fonts va a aparèixer una carpeta anomenada linux-2.6.xx.yy, la qual s'ha de moure a / usr / src /.
Verificar si tens els programes necessaris
El teu sistema amfitrió hauria de tenir el següent programari amb les versions mínimes indicades. Això no hauria ser un problema per a la majoria de les distribucions Linux modernes. Has de tenir en compte també que moltes distribucions posen les capçaleres del programari en paquets separats, amb freqüència de la forma "<Nom-del-paquet> -devel" o "<nom-del-paquet> -dev". Assegura't d'instal·lar-los si el teu distribució dels proporciona.
- make Una eina GNU que simplifica la construcció de processos per l'usuari
- gcc(GNU Compiler Collection) compilador Linux.
- gcc – C++ (Compatibilitat amb C + + per a gcc) Soporte C + + per gcc.
- lib64qt3-devel Qt3 Arxius necessaris per construir aplicacions basades en Qt3.
- kernel-source La versió d'aquest paquet ha de concordar amb la vercion actual del nucli que aquestes usant en aquest instant
NOTA: Potser ja tens alguns d'aquests programes instal·lats i els que no tens els pots instal·lar per mitjà de l'administrador de paquets.
Configura i Compilar el Kernel
Comença a compilar el kernel de Linux
- El primer pas és, sens dubte, descarregar el kernel que voleu instal·lar. Tingueu en compte la versió ja que aquesta informació serà important en el futur. En aquest exemple, utilitzarem l'últim (actualment) Kernel 4.16. Aneu a http://www.kernel.org i descarregueu l'última versió disponible:
- Feu clic al botó groc i baixeu al directori que vulgueu, per exemple, la vostra carpeta de baixades. Per a finalitats d'organització (després de tot, podeu tenir moltes carpetes i fitxers allà), us suggerim que creeu una carpeta amb qualsevol nom i poseu el fitxer que heu baixat. Usaré el nom"kernel" en aquest exemple, tal com es mostra a continuació:
- En primer lloc, instal·larem alguns paquets que seran útils per a la nostra compilació. En l'exemple que estic utilitzant Ubuntu 16, però les ordres serviran totes les distribucions basades en Debian, inclòs Debian, recordant-vos que heu de fer el procés com a root o utilitzar sudo sempre que sigui possible. En aquest cas, podem utilitzar "sudo" sense problemes:
sudo apt install build-essential libncurses5-dev
- Recordeu que havia comentat per posar el fitxer dins d'una carpeta anomenada "kernel", que al seu torn estava dins de la carpeta "Baixades" Haurem d'anar-hi amb el comandament:
cd /Baixades/kernel/
- Una vegada dins d'ell, fem un ls per veure si el fitxer hi és. En el nostre exemple, l'arxiu es denomina linux-4.16.11.tar.xz, aquest tipus de fitxer és un fitxer comprimit com qualsevol altre .rar o .zip, però utilitza la compressió tar.xz, hauríem d'extreure els fitxers i deixarem fes-ho per la terminal, per la qual cosa podem dirigir-lo directament a la carpeta /usr/src/ que és on hauria d'estar per continuar. A partir d'ara, entrarem al mode root i ho farem d'aquesta manera, a continuació, executem l'ordre:
sudo tar -xvf linux-4.16.11.tar.xz -C /usr/src/
- Ara comprovem si els fitxers estan en el lloc correcte. Hem de veure un directori anomenat "linux-4.16.11"
- Aquí hi ha una pista que podria fer-ho una mica més fàcil, i si en comptes de teclejar "linux-4.16.11" tot el temps que acaba de cridar-lo "KERNEL" o una altre nom. Anem a crear un enllaç de símbols per a això, de manera que no cal escriure més d'una paraula o perdre temps escrivint més caràcters:
- Ara comença la compilació. El següent pas és un dels determinants més importants de compilar un kernel de Linux:
make menuconfig
- Aquesta comanda s'executarà i carregarà una mena d'interfície on podeu fer diversos ajusts.
- Podem anar a les opcions de prova fins que trobem algunes que són realment estables i optimitzades per a nosaltres. Aquí és molt important saber exactament de quin maquinari tenim, quins dispositius connectem a l'ordinador, conèixer el model de la nostra targeta base, etc.
- Aquí podem habilitar i deshabilitar controladors. En la sessió del controlador, podeu desactivar el suport per a taques de controladors propietaris al nucli, desmarquem l'opció.
- S'ha de realitzar un estudi del maquinari i consultar les funcions que volem habilitar i desactivar per tal poder optimitzar un nucli.
- Per fer-ho, sense fer cap canvi, aneu a l'opció "Desa" i premeu la tecla "Intro".
- Anem a canviar el nom del Kernel, així que sabem que aquesta és la nostra versió compilada. Una informació important que podem introduir aquí és la versió de la compilació que fem, de manera que podem provar diferents maneres i iniciar el nucli que volem després de GRUB, és a dir canviar en fitxer Makefile és la descripció en EXTRAVERSION:
- El següent pas, generant la imatge bzImage:
make bzImage
- Si tot va bé, hauriem de tenir una imatge dins del directori d'arrencada, que és una subcarpeta dins de la vostra carpeta "KERNEL", per verificar que va executar el següent comandament:
ls /usr/src/KERNEL/arch/x86_64/boot/
- El següent pas compilarà els mòduls del nucli, que inclou els controladors que hem seleccionat aquí al menú de configuració:
make modules
- Depenent de la quantitat de mòduls habilitats, aquest procés també pot trigar molt temps.
- Ara, amb els mòduls compilats, hauríem d'instal·lar-los:
make modules_install
- Ara anem a instal·lar el nucli que acaba de compilar en el nostre pc:
make install
- Quan acabi de realitzar aquesta tasca, hauríem de veure una imatge similar a aquesta:
- Ara hem de canviar el directori per executar un altre comandament que crearà la nostra imatge d'arrencada del Kernel:
- Una vegada dins d'aquest directori, executarem el següent comandament:
ls /lib/modules/
- Aquesta ordre servirà per estar segur del nom del nucli, com podeu veure a la segona línia de la imatge de dalt, el nucli que hem compilat té el nom 4.16.11compilacio-1, necessitem aquest nom en el següent comandament, que és:
sudo mkinitramfs -o initrd.img-4.16.11compilacio-1 4.16.11compilacio-1
- Ens acostem al final, necessitem que GRUB reconegui el nostre nou nucli, de manera que puguem reiniciar la màquina utilitzant-lo, de manera que això passa, necessitem actualitzar la llista de sistemes / nuclis que apareixen al menú GRUB. apareix a l'inici de l'ordinador).
Kernel en USB bootable
Formas y metodos para la creación de nuestra distribución Linux.
Aquí se explicaran los diferentes métodos y formas para hacer nuestras distribuciones que hemos utilizado y si nos ha servido para nuestro propósito.
UCK
¿Qué es?
UCK (Ubuntu Customizer Kit) es una herramienta grafica que puede crear “distribuciones” Linux.
¿Cómo funciona?
Al ejecutar la aplicación nos saldrá una ventana con el idioma a escoger, posteriormente el idioma del teclado. Estos dos pasos no son necesarios. Ahora nos pedirá una ISO donde trabajar. Seleccionada nos preguntara si queremos compilar o si queremos modificar los paquetes instalados. Posteriormente compilara.
¿Funciono?
Si pero no era lo que buscábamos, la distribución creada fue simplemente una copia de la original con o sin los paquetes marcados anteriormente.no se podía personalizar mas.
Ubuntu Builder
¿Qué es?
Ubuntu Builder es un software con mas opciones que UCK.
¿Cómo funciona?
Una vez ejecutado nos aparece una ventana. Una opción es la de seleccionar una ISO base. A comparación con UCK, este software te permite modificar mucho mas.
¿Funciono?
Por desgracia era demasiado inestable como para poder continuar.
Novo Builder
¿Qué es?
Novo Builder es un software con cierto parecido con Ubuntu Builder pero mucho mas intuitivo.
¿Cómo funciona?
Es muy parecido al Ubuntu Builder pero es mucho mas intuitivo.
¿Funciono?
Proyecto abandonado por el autor del software, demasiado anticuado para funcionar.
L.F.S.
¿Qué es?
Linux From Scratch es un libro donde explica paso a paso como se puede crear una distribucion linux desde, literalmente, desde cero.
¿Cómo funciona?
LFS es, como ya mencionado un libro. Ademas en la pagina web se puede descargar una ISO con todos los paquetes y software ya instalados. Preparados ya para su utilizacion. Durante el proceso de creacion del sistema se tendran que seguir paso a paso las instrucciones del libro (Crear particiones, directorios, compilaciones…).
¿Funciono?
Utilizamos el LFS 6.3 y en un principio, el proceso de creacion no tuvimos problemas. Pero alrededor de las 6~7 horas despues de haber iniciado el LFS empezaron a surgir los problemas. Principalmente la carencia de directorios requeridos. Tras varias horas buscando el problema y volviendo nuestros pasos hacia atrás desistimos.
L.F.Script.
¿Qué es?
LFScript es en resumen todo el libro del LFS en un unico o conjunto de bash scripts.
¿Cómo funciona?
Hemos probado dos versiones distintas que explicaremos a continuacion: I. Esta version es mas sencilla, tan solo se tiene que ejecutar un unico script. II. A diferencia del anterior este es mas “modular”. Te permite o ejecutar un script como el anterior o por contraria pequeños scripts que son los capitulos del libro LFS.
¿Funciono?
Tanto las dos versiones anteriormente mencionadas. Por desgracia salieron los mismos problemas con el LFS ya comentados. En la segunda version empezo a fallar en la parte 10 que equivaldria al capitulo 10 del libro.
Pinguy Builder.
¿Qué es?
Pinguy Builder es del mismo estilo que el Ubutnu Builder, Novo Builder enrtre otros.
¿Cómo funciona?
Pinguy Builder es esteticamente hablando muy parecida a los software ya mencionados, permitiendo modificar grandes caracteristicas como el plymouth o la pantalla de ca rga. Ademas de ser intuitivo.
¿Funciono?
A diferencia de los otros programas se pudo crear y compilar una distribucion. Por desgracia a la hora de ejecutarlo dio problemas y no se pudo iniciar.
Customizer
¿Qué es?
Un programa que coge el sistema actual de la maquina y permite crear tu propia ISO modificada.
¿Cómo funciona?
Desconocido
¿Funciono?
Por desgracia no pudimos ni ejecutar el script de instalacion.
Elementary OS
¿Qué es?
Una distribucion linux muy moldeable que permite cambiar sino todo la mayoria de las caracteristicas del OS
¿Cómo funciona?
Se instala el Elementary en una maquina virtual y a partir de este punto se trata de instalar, desintalar, modificar, personalizar, alterar… diferentes caracteristicas del sistema. Posteriormente con systemback se hace una ISO del sistema ya mencionado.
¿Funciono?
Si pero por desgracia no pudo satisfacer nuestras necesidades. Era mas personalizar un sistema operativo que crearlo.