Gentoo-sources: Com armar el teu nucli sense morir en l'intent

Bé, aquest és un més d'aquests punts que no puc passar per alt abans de començar la guia d'instal·lació de Gentoo  sé que molts estaran esperant amb ànsies aquest post, i perdó per fer-los esperar, però també considero que no explicar això atenta contra el meu estatus d'usuari Gentoo  Sense res més que esmentar, comencem.

Què és el nucli?

El nucli és pròpiament la part Linux de tota distribució, és el programa que ens permet comunicar cada peça de maquinari del nostre equip amb els programes que correm en ell. El seu creador, Linus Torvalds, va decidir alliberar-sota la llicència GPL i gràcies a ell, i a el projecte GNU, podem gaudir avui en dia de tantes distribucions i varietats per triar. Està escrit en C majoritàriament, amb una mica de Assembly per aquí i per allà, i ara per ara és el projecte més gran de programari lliure, amb milers de desenvolupadors treballant en ell, tant per hobby com professionalment, i manté una línia constant de creixement accelerat des de fa ja diversos anys. Aquí els deixo la pàgina oficial de l'nucli perquè puguin donar un cop d'ull en profunditat.

Com es troba a Gentoo?

Bé, com és d'esperar en Gentoo, trobareu diverses opcions de nucli, els deixo aquí una petita llista perquè vegin millor al que em refereixo:

  • gentoo-sources: Kernel 4.12 amb pegats especials per a Gentoo Linux.
  • git-sources: Kernel directament descarregat des del repositori Git de Linus.
  • vanilla-sources: Kernel complet sense cap tipus de pegat.
  • xbox-sources: Kernel complet per a Xbox Linux.
  • zen-sources: El nucli viu de Zen
  • ...

Per a una llista completa els deixo el link de l'wiki on poden trobar tots els nuclis que manté Gentoo en els seus repositoris. (tot el que acaba amb -sources)

Tinc el codi, ara què?

Bé, a diferència de tots els altres paquets de Linux, el nucli NO s'actualitza, s'hi instal·la. Això ens permet tenir múltiples nuclis en el nostre sistema alhora, és clar que sempre se'n podrà córrer només un alhora. Per poder compilar-ho cal fer servir les eines que ja hem discutit en un post anterior. Però com que a Gentoo la comunitat fa el 80% de la teva feina, farem la forma més senzilla 

genkernel-next:

Permeteu-me presentar-vos una eina que és simplement estupenda  s'anomena genkernel-next, la podeu trobar als repositoris de Gentoo.

Disseny propi. Christopher Díaz Riveros

La llista d'opcions és encara més gran, però aquí es poden veure algunes de les meves opcions preferides. Un dels passos més importants a l'hora d'instal·lar Gentoo és la configuració de la teva nucli, això et permetrà treure el màxim potencial al teu ordinador i a el mateix temps evitar tot aquell pes extra que tenen molts nucli pre-compilats.

CLI i GUI:

Com es pot esperar, la configuració del nucli també té diverses maneres de fer-se  eleccions per tot arreu, simplement impressionant. Aquí els deixo algunes de les fotos de com es veuen les opcions:

genkernel -xconfig all

Disseny propi. Christopher Díaz Riveros

genkernel -qconfig all

Disseny propi. Christopher Díaz Riveros

genkernel -nconfig all

Disseny propi. Christopher Díaz Riveros

genkernel -menuconfig all (el meu favorit)

Disseny propi. Christopher Díaz Riveros

Fantàstic, però com trobo les coses?

Una sàvia pregunta que tots segur s'estan fent ara mateix. Si no vols haver de buscar línia per línia, recorda que «/ » i «? " són els teus amics en aquesta missió. Però com és millor veure que llegir, els mostro al que em refereixo amb això.

Suposem que necessitem revisar el nostre processador, el nucli suporta tant intel com amd, i el nostre és intel. Si presionames / (slash), ens portarà a el següent menú:

Disseny propi. Christopher Díaz Riveros

Genial, ara vegem la màgia en acció 

Disseny propi. Christopher Díaz Riveros

¡Fantàstic! Ara tenim una llista desplegable amb tota la informació que podem necessitar, el nom tècnic de la lliçó, la ruta, el tipus de valor, etc. I ara la pregunta ... com arribo a la ubicació? 'També molt senzill! si ens fixem en la part esquerra, tenim números dins de parèntesis. Pressiona un d'ells i veuràs la màgia ocórrer novament.

Disseny propi. Christopher Díaz Riveros

Tan ràpid com això! Ja som a la ubicació que necessitem. Però ... espera, jo et vaig dir que és el teu amic, ho recordes? Doncs vegem què passa si premem? just ara.

Disseny propi. Christopher Díaz Riveros

Una petita descripció del mòdul, les seves opcions i dependències  tot a l'abast de la mà. Un cop acabada la cerca, pots donar a èxit. Podràs notar que la barra superior ha retrocedit a la línia Search (intel), si tornes a donar èxit, et tornarà al menú principal on podràs començar una nova cerca.

Què moure i què no?

En aquest punt ja t'has de sentir totalment poderós, perquè has aconseguit una cosa que pocs humans fan en la seva vida, compilar un nucli. Felicitacions! Però ara sorgeix la pregunta ... què he de modificar? Això meu amic, és una cosa que només tu pots descobrir, però per descomptat que jo et puc donar un parell de recomanacions que a mi m'ajuden molt:

El default funciona

Com en tot programa, Linux està configurat per funcionar amb les configuracions per defecte. Això et garanteix que fins i tot si no vols configurar res, a l'hora de compilar vas a tenir un nucli funcional.

Si no el coneixes, no ho moguis

Això és una cosa que potser els més aventurers passaran per alt. És genial poder navegar de manera ràpida per les opcions, però si t'interessa conèixer realment com pensa la teva màquina, una lectura de cada opció és una forma magnífica de fer-te a la idea. Sempre recordant el que canvies i buscant o comparant amb un navegador és bastant recomanable també.

El major pes està en els drivers

Molts drivers vénen carregats per defecte, això fa a l'nucli pesat. Per exemple, només per a targetes de xarxa, hi ha com 10 drivers oficials en el nucli, i moltes distribucions compilen els 10, o més, però en realitat el teu en el teu ordinador només faràs servir un (ull que per wifi hi ha una altra secció a part). Si vols disminuir el pes del teu nucli de forma considerable, el teu primer opció hi és. Per això, els teus millors amics seran lspci, lsusb, Google. Amb això podràs tenir una idea bastant clara del que té el teu sistema i només deixar els drivers necessaris per fer-ho. Per exemple els deixo la meva output de lspci:

Disseny propi. Christopher Díaz Riveros

Amb això puc tenir bastant clar informació crítica, com el meu controlador de xarxa, el de connexió internet, el meu disc dur SATA, i moltes coses més que m'ajuden a disminuir el pes del meu nucli.

Revisa bé que estiguis compilant el que cal amb *

Gràcies novament al nostre company Njord, un punt important que vaig oblidar esmentar per l'emoció 

A més cal esmentar que hi ha característiques de l'nucli que convé incloure dins el mateix (*), i altres manejar com a mòduls (M). Recordo el meu primer nucli compilat, volent deixar com a mòdul el suport per reiserfs de la meva root, quan en la vida havia de funcionar?!?! xD ...

Certament, si el teu nucli necessita d'alguna cosa per funcionar, no pot ser un mòdul. Per defecte, els mòduls carreguen després que el nucli ha fet tot el procés d'inici. Si el teu kernel necessita alguna cosa per iniciar, millor que estigui compilat dins en lloc de com a mòdul ... El que ens porta a el primer punt una altra vegada "?"  és el nostre amic 

En resum:

Bé, ara que s'han submergit una mica al món del nucli, crec que ja he complert una altra fita necessària per poder generar una guia d'instal·lació de Gentoo de ~20 passos  però si trobo alguna cosa més, intentaré explicar abans que només deixar solt a l'aire.

Salutacions i els deixo altres dels meus posts per si se'ls perden:

Gentoo Linux: La història d'un viatge

Gentoo: Per què vaig optar per compilar els meus propis programes?

Gentoo: El cor de la bèstia