Gentoo-sources: Hoe je je kernel bouwt zonder te proberen

Welnu, dit is nog een van die punten die ik niet kan negeren voordat ik met de Gentoo-installatiegids start 🙂 Ik weet dat velen al uitkijken naar dit bericht, en sorry dat ik je heb laten wachten, maar ik ben ook van mening dat ik dit niet uitleg zorgvuldig afgezet tegen mijn Gentoo gebruikersstatus 😛 Zonder verder te vermelden, laten we beginnen.

Wat is de kernel?

De kernel is eigenlijk het Linux-deel van elke distributie, het is het programma waarmee we elk stuk hardware op onze computer kunnen communiceren met de programma's die we erop draaien. De maker, Linus Torvalds, besloot het uit te brengen onder de GPL-licentie en dankzij hem en het GNU-project kunnen we nu genieten van zoveel distributies en varianten om uit te kiezen. Het is meestal geschreven in C, met hier en daar een beetje Assembly, en vandaag is het het grootste gratis softwareproject, met duizenden ontwikkelaars die eraan werken, zowel hobbyisten als professionals, en het handhaaft al een aantal jaren een constante versnelde groei . Hier is de kernel officiële pagina zodat ze een diepgaande blik kunnen werpen.

Hoe gaat het met Gentoo?

Nou, zoals te verwachten is in Gentoo, zijn er veel kernel-opties, ik laat hier een kleine lijst achter zodat je beter kunt zien wat ik bedoel:

  • gentoo-bronnen: Kernel 4.12 met speciale patches voor Gentoo Linux.
  • git-bronnen: Kernel rechtstreeks gedownload uit de Linus Git-repository.
  • vanille-bronnen: Volledige kernel zonder enige patch.
  • xbox-bronnen: Volledige kernel voor Xbox Linux.
  • zen-bronnen: Zen's levende kernel
  • ...

Voor een volledige lijst laat ik u de wiki-link waar je alle kernels kunt vinden die Gentoo onderhoudt in hun repositories. (alles dat eindigt op -bronnen)

Ik heb de code, wat nu?

Nou, in tegenstelling tot alle andere Linux-pakketten, is de kernel NEE Het is bijgewerkt, het is geïnstalleerd. Dit stelt ons in staat om meerdere kernels tegelijkertijd in ons systeem te hebben, je kunt natuurlijk altijd maar één tegelijk draaien. Om het te compileren, is het noodzakelijk om de tools te gebruiken die we al in een vorige post hebben besproken. Maar aangezien in Gentoo de gemeenschap 80% van je werk doet, gaan we het op de eenvoudigste manier doen 😉

genkernel-volgende:

Laat me je voorstellen aan een tool die gewoon geweldig is 🙂 het heet genkernel-next, je kunt het vinden in de Gentoo repositories.

Eigen. Christopher Diaz Riveros

De lijst met opties is nog groter, maar hier zijn enkele van mijn favoriete opties. Een van de belangrijkste stappen bij het installeren van Gentoo is configuratie van je kernel, dit zal je in staat stellen om het meeste uit je computer te halen en tegelijkertijd al dat extra gewicht te vermijden dat veel voorgecompileerde kernels hebben.

CLI en GUI:

Zoals je zou verwachten, heeft de kernelconfiguratie ook verschillende manieren om overal keuzes te maken, gewoon geweldig. Hier zijn enkele foto's van hoe de opties eruit zien:

genkernel --xconfig alles

Eigen. Christopher Diaz Riveros

genkernel –qconfig alles

Eigen. Christopher Diaz Riveros

genkernel --nconfig all

Eigen. Christopher Diaz Riveros

genkernel –menuconfig all (mijn favoriet)

Eigen. Christopher Diaz Riveros

Geweldig, maar hoe vind ik dingen?

Een wijze vraag die iedereen zich nu zeker stelt. Als u niet regel voor regel wilt zoeken, onthoud dan dat « en "? ' Ze zijn je vrienden op deze missie. Maar aangezien het beter is te zien dan te lezen, laat ik u zien wat ik hiermee bedoel.

Stel dat we onze processor moeten controleren, de kernel ondersteunt zowel intel als amd, en die van ons is intel. Als u op / (schuine streep) drukt, gaan we naar het volgende menu:

Eigen. Christopher Diaz Riveros

Geweldig, laten we nu de magie in actie zien 🙂

Eigen. Christopher Diaz Riveros

Super goed! Nu hebben we een vervolgkeuzelijst met alle informatie die we nodig hebben, de technische naam van de module, het pad, het type waarde, enz. En nu de vraag ... hoe kom ik op de locatie? Ook heel simpel! als we naar het linkerdeel kijken, hebben we getallen tussen haakjes. Druk op een van hen en je zult de magie weer zien gebeuren.

Eigen. Christopher Diaz Riveros

Zo snel als dit! We zijn al op de locatie die we nodig hebben. Maar ... wacht, dat heb ik je gezegd is je vriend, weet je nog? Laten we eens kijken wat er gebeurt als we op drukken? direct.

Eigen. Christopher Diaz Riveros

Een korte beschrijving van de module, zijn opties en afhankelijkheden 🙂 allemaal binnen handbereik. Zodra uw zoekopdracht is voltooid, kunt u afsluiten. U merkt misschien dat de bovenste balk is teruggekeerd naar de regel Zoeken (intel). Als u weer afsluit, keert u terug naar het hoofdmenu waar u een nieuwe zoekopdracht kunt starten.

Wat te verplaatsen en wat niet?

Op dit punt zou je je al volkomen krachtig moeten voelen, omdat je iets hebt bereikt dat maar weinig mensen in hun leven doen, een kernel samenstellen. Gefeliciteerd! Maar nu rijst de vraag ... wat moet ik aanpassen? Dat mijn vriend, is iets dat alleen jij kunt ontdekken, maar ik kan je natuurlijk een paar aanbevelingen geven die me veel helpen:

De standaard werkt

Zoals bij alle programma's, is Linux geconfigureerd om met de standaardinstellingen te werken. Dit garandeert dat zelfs als je niets wilt configureren, je tijdens het compileren een werkende kernel hebt.

Als u het niet weet, verplaats het dan niet

Dit is iets dat misschien de meest avontuurlijke mensen over het hoofd zullen zien. Het is geweldig om snel door de opties te kunnen navigeren, maar als u echt wilt weten hoe uw machine denkt, is het lezen van elke optie een goede manier om aan het idee te wennen. Altijd onthouden wat u verandert en zoeken of vergelijken met een browser wordt ook sterk aanbevolen.

Het grootste gewicht rust op de chauffeurs

Veel stuurprogramma's worden standaard geladen, dit maakt de kernel zwaar. Alleen voor netwerkkaarten zijn er bijvoorbeeld ongeveer 10 officiële stuurprogramma's in de kernel, en veel distributies compileren alle 10, of meer, maar in werkelijkheid gebruik je er maar één op je computer (merk op dat er voor wifi nog een apart sectie). Als je het gewicht van je pit aanzienlijk wilt verminderen, is je eerste optie er. Hiervoor zullen je beste vrienden zijn lspci, lsusb, Kopen Google Reviews. Hiermee kunt u een vrij duidelijk idee hebben van wat uw systeem heeft en alleen de benodigde stuurprogramma's achterlaten om het te laten werken. Ik laat bijvoorbeeld mijn lspci-uitvoer achter:

Eigen. Christopher Diaz Riveros

Hiermee kan ik vrij duidelijke kritieke informatie hebben, zoals mijn netwerkcontroller, de Wi-Fi-controller, mijn SATA-harde schijf en vele andere dingen die me helpen het gewicht van mijn kernel te verminderen.

Controleer goed of u aan het samenstellen bent met *

Nogmaals bedankt aan onze partner njord, een belangrijk punt dat ik vergat te noemen vanwege de emotie 🙂

Er moet ook worden vermeld dat er kenmerken van de kernel zijn die erin moeten worden opgenomen (*), en andere die als modules worden behandeld (M). Ik herinner me mijn eerste gecompileerde kernel, die de reiserfs-ondersteuning van mijn root als module wilde verlaten, wanneer in het leven zou het werken?!?! xD ...

Zeker, als uw kernel iets nodig heeft om te werken, kan het geen module. Standaard worden modules geladen nadat de kernel het hele opstartproces heeft voltooid. Als je kernel iets nodig heeft om te starten, kan het beter worden gecompileerd in in plaats van als module … Wat ons weer bij het eerste punt brengt   is onze vriend 😉

Nl resumen:

Nu je een beetje in de kernelwereld bent gedoken, denk ik dat ik al een andere mijlpaal heb bereikt die nodig is om een ​​~ 20-stappen Gentoo installatiegids te genereren 🙂 maar als ik daar iets anders vind, zal ik het proberen om uit te leggen voordat je gewoon loslaat in de lucht.

Groeten en ik laat je andere van mijn berichten achter voor het geval je ze mist:

Gentoo Linux: The Story of a Journey

Gentoo: Waarom heb ik ervoor gekozen om mijn eigen programma's samen te stellen?

Gentoo: Heart of the Beast

 


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   njord zei

    Zeer goede post zoals altijd.

    En hier is mijn zandkorrel: om onze pit goed te laten werken, moeten we hem aanpassen aan onze hardware, dus we moeten hem buitengewoon goed kennen. Voor dit doel moeten we 'lspci' en 'lsusb' zien als de belangrijkste informatiebronnen. En als we iets specifiekers nodig hebben, laat ik u deze pagina achter, die me meer dan eens uit de problemen heeft geholpen https://kmuto.jp/debian/hcl/

    Er moet ook worden vermeld dat er kenmerken van de kernel zijn die erin moeten worden opgenomen (*), en andere die als modules worden behandeld (M). Ik herinner me mijn eerste gecompileerde kernel, die de reiserfs-ondersteuning van mijn root als module wilde verlaten, wanneer in het leven zou het werken?!?! xD ...

    Groeten!

    1.    Tijdelijke afbeelding voor Juan Pablo Garcia Rivera zei

      Precies njord, dus dit bericht zal niet voldoende beschrijvend zijn als je de HW die je hebt niet kent, als aanbeveling is het belangrijk om de pagina van de fabrikant te bezoeken en met behulp van de kernel zelf te lezen over de modules die je van dienst kunnen zijn , onder deze commentaren heb ik een link naar mijn blog toegevoegd waar je een geavanceerd configuratiebestand voor een Hp Pavilion 23-p132la kunt downloaden, ik hoop dat het nuttig zal zijn en hopelijk delen steeds meer gebruikers deze bestanden met verschillende toepassingen in HW.

  2.   Ik javilondo zei

    Hallo vriend, ik hou van je artikelen, daarom heb ik me al heel lang op je pagina geabonneerd. Ik deel ook de video over het onbekende om in Gentoo te komen, maar ik ben verheugd om deze reeks artikelen te volgen.
    Gefeliciteerd met je website.
    Ik vraag u alleen een gunst: upload geen afbeeldingen in * .bmp, aangezien mijn verbinding wat traag is en mijn browser veel tijd nodig heeft om zware afbeeldingen te laden, dus ik raad u aan de afbeeldingen om te zetten in * .png of * .jpg .
    Groeten.

    1.    Chris ADR zei

      Oeps, sorry 🙂 maar heel erg bedankt voor het erop wijzen, ik had er niet over nagedacht en hoewel ik enigszins ervaren ben in Gentoo, beheer ik dit onderwerp van blogs nog steeds niet zo goed 😛 maar vanaf nu zal ik proberen het formaat te veranderen, normaal gesproken neem ik alleen bezuinigingen met Shutter en upload ik ze direct, om niet te veel gewicht in mijn team te leggen, maar ik zal ook rekening houden met het gewicht voor jou 😉 Groeten en heel erg bedankt voor je opmerkingen, ze moedigen me aan om door te gaan schrijven, ik heb al het weekendcadeau 🙂

  3.   gnarlf zei

    Ik vind de serie artikelen die je schrijft super interessant. Ik heb Gentoo ooit als een hobby geïnstalleerd, maar altijd met duizend-en-een problemen, niet echt veel controle over wat ik deed en dingen bedriegen om uit de problemen te komen. Toch ben ik erin geslaagd om in mijn meerdere pogingen in te zien dat dat de distributie zou zijn waarin ik zou blijven als ik erin slaagde een optimale en correcte installatie te hebben en deze onder de knie te krijgen. Op dit moment gebruik ik Fedora, hoewel ik geen overtuigd Fedorian ben. Ik ben een beetje zoals de Gentoo-mascotte: «Larry de koe was een beetje gefrustreerd
    bij de huidige staat van Linux-distributies ...
    … Totdat ik Gentoo Linux heb geprobeerd. »
    Ik laat u een paar «tips» achter voor uw toekomstige artikelen, voor het geval u het interessant vindt om ze specifiek aan te raken en die voortkomen uit mijn eigen twijfels:
    - Gentoo heeft een vrij uitgebreide repository, maar er zijn nog steeds specifieke kenmerken die er niet in staan; of het nu gaat om wetenschappelijke programma's of andere zeer specifieke zaken. Het zou interessant zijn om uit de eerste hand te weten hoe we kunnen installeren wat we niet in uw repo's kunnen vinden. Ik ken het bestaan ​​van "overlays", maar begrijp het niet goed. Debian heeft een officiële en aanbevolen manier om software te installeren die niet in hun repositories staat, is er iets soortgelijks in Gentoo? Wat zou de beste manier zijn om te installeren zonder de klassieke ./configure && make && make install?
    - Eindelijk, mijn grootste probleem bij het installeren van Gentoo komt na de eerste herstart waarbij ik voor een console sta zonder dat het netwerk geconfigureerd is. Het is een punt van frustratie, omdat ik niet helemaal begrijp hoe ik de wifi vanaf daar moet krijgen. Het zou erg interessant zijn om de tutorial-modus te kennen, wat de exacte stappen zijn om het te doen en om door te kunnen gaan met de installatie van het bureaublad en andere hulpprogramma's. In mijn vorige installaties installeerde ik Gnome en alles van de chroot van de basissysteeminstallatie; een oplossing, kom op.
    Niks anders. Dankzij jou al DesdeLinux voor deze artikelen over een distributie die zo niet-mainstream en toch zo interessant is.
    Trouwens, en ik misbruik je al een beetje meer: ​​ik lees altijd over Gentoo vanuit het perspectief van IT-professionals zoals jij, programmeurs, systeem- of netwerkingenieurs, enz. Maar ik heb nog nooit een mening gezien van een eindgebruiker die de distro gebruikt; Is Gentoo een goed idee voor die eindgebruiker, die, ik weet het niet, een fotograaf is, milieuwetenschappen of mechatronica studeert, of gewoon Steam wil,…? (Ik denk dat je begrijpt wat ik bedoel)
    Heel erg bedankt ChrisADR en een warme groet

    1.    Chris ADR zei

      Welnu, je verzoeken zijn opgeschreven 🙂 nu ik eindelijk de stapsgewijze installatiehandleiding heb voltooid, moet je me een paar dagen de tijd geven omdat ik aanstaande zaterdag een certificeringsexamen heb (LFSC van de Linux Foundation) en ik moeten zich voorbereiden op deze resterende dagen. Wat betreft de overlays, ze worden als AUR in Arch, een plek waar gebruikers hun eigen ebuild kunnen maken, een ander onderwerp dat nog in afwachting is van een volledig bericht. En tegelijkertijd zijn er ook de normale installatieprocessen, die net zo gevarieerd zijn als er zandkorrels op het strand zijn ... maar dat is ook voor een andere post 😉 Wat betreft gebruikers, in Gentoo is er een beetje van alles, er is zijn mensen die gamer zijn (ouderwets, want ik ben niet 100% als Steam in onze hoofdrepository staat), er zijn hackers die hun eigen Gentoo-derivaat hebben voor Pentesting, Pentoo ... Ik ken enkele collega's in de gemeenschap die zijn niet per se ingenieurs of wiskundigen, en wel, ze doen het goed 🙂 Er zijn ook meer wetenschappelijke mensen en projecten over geowetenschappen, of zelfs religie ... kortom, er is een beetje van alles in Gentoo, voor alle smaken, aangezien filosofie stelt ons in staat te kiezen 🙂 Ik zal binnenkort meer artikelen schrijven en ik zal proberen uw twijfels weg te nemen 🙂 Groeten

      . Als een goede Gentoo-gebruiker die ik ben, zul je na verloop van tijd merken dat we vaak "out of the box" moeten denken en als dat een of andere vaardigheid bevat, dan is dat geweldig 😉 je zult het zien in mijn Gentoo installatiegids dat komt binnenkort 🙂

  4.   Tijdelijke afbeelding voor Juan Pablo Garcia Rivera zei

    Hoe zit het met partner ... ondersteuning van uw beweging ... hier is de configuratie ... voor de "Hp Pavilion 23-p132la + AMD A10-7800 Radeon R7"
    http://jgarcia.my-place.us/?page_id=585

    Ik ben momenteel de configuratie van de gouverneur aan het onderzoeken ... alle hulp is welkom ...

    1.    Chris ADR zei

      Uitstekend! Heel erg bedankt voor het delen van je ervaringen met de rest van de community, mijn post is ongetwijfeld niet 100% exact of perfect, want ik denk dat het in dat geval beter is om een ​​compleet boek te schrijven 😛 maar ik hoop dit tenminste zal de nieuwsgierigheid van meer van één wekken en zo in hun vrije tijd wat huiswerk voor iedereen kunnen achterlaten 😉 Groeten en dank

  5.   Fernan zei

    Hi
    Merk je veel verschil tussen het compileren van een kirnel of binaire kernels?
    In een overlay is er bijvoorbeeld deze ebuild:
    http://gpo.zugaina.org/Overlays/betagarden/sys-kernel/debian-sources-bin
    Groeten.

    1.    Chris ADR zei

      Om je een idee te geven, onze vrienden bij Linux From Scratch hebben dit te zeggen over bouwen.

      «We hebben een systeem geïnstalleerd dat net genoeg was om de Apache-webserver te laten draaien; het totale schijfruimtegebruik was ongeveer 8 MB. Met verder strippen kan dat worden teruggebracht tot 5 MB of minder. »[1]

      In het Spaans vertaald zegt het dat ze erin geslaagd zijn om een ​​embedded Apache-server te draaien met slechts 8 MB, wat zelfs 5 MB had kunnen zijn. Veel van die ruimte is alleen kernel, dus als je een systeem wilt dat specifiek één ding doet, of alleen je hardware gebruikt. Met een 10M-kernel heb je de rest van het RAM-geheugen beschikbaar (onthoud dat de kernel de hele tijd dat je je computer gebruikt in RAM draait). Naast de beveiliging en andere voordelen van een aangepaste kernel, kunt u een aanzienlijke verbetering in de ruimte zien. Wat ook de snelheid kan beïnvloeden.

      groeten

      [1] http://wiki.linuxfromscratch.org/lfs/

  6.   Fernan zei

    Hi
    Ik heb stage 3 gedownload naar een map en na het synchroniseren van portage heb ik emerge gentoo-sources geprobeerd, maar duurt het proces uren? na een half uur, berichten zoals
    / usr / linux / gentoo-sources 4.12.12 / arch / arm / *
    Moet het zo veel decomprimeren en dezelfde uren blijven of is er een optie om het sneller te doen? aangezien deze emerge alleen de bronnen verlaat om ze later te compileren met de opties.
    groeten.

    1.    Chris ADR zei

      Hallo Fernan, ik heb nog nooit geprobeerd een armprocessor te installeren. Ik begrijp dat afhankelijk van de versie van RPi (voor het geval je er een gebruikt) de USB- en internetbussen zijn aangesloten, dus de downloadtijd kan veel langer zijn dan normaal. (Zelfs op mijn i7-laptop is de downloadtijd van de kernel in de git-repository ongeveer 4-5 minuten)
      Nou, ik weet niet hoe bekend je bent met het onderwerp, maar je zou alles op een veel krachtigere laptop kunnen compileren en het al gecompileerd doorgeven aan het uiteindelijke apparaat, dat zou veel helpen met het timingprobleem.
      groeten