Goedgekeurd: Fortect
U kunt ook een foutcode tegenkomen die verwijst naar Compilar Kernel Ubuntu. Er zijn verschillende manieren om dit probleem op te lossen, en we zullen het binnenkort behandelen.
De meeste computergebruikers die zich afvragen bij het bouwen van hun eigen kernel, doen dit omdat Ubuntu op hun system.me is geïnstalleerd, en een groot aantal mensen wil kleine wijzigingen aanbrengen in alle kernels voor dit systeem. In gevallen waarin ik zou zeggen dat de gebruiker alleen de kernelconstructie wil veranderen.
Goedgekeurd: Fortect
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen.
Het doel van de meeste van deze pagina’s is om deze persoon een basis van informatie over elke pagina te geven, om elke kernelwijziging eenvoudiger te maken, de hoofdkernel te conceptualiseren en te installeren. Is dit zeker bedoeld als een uitgebreide instructie om u te helpen bij het ontwikkelen van uw Ubuntu-kernel?
Omgeving maken
< h2 id="1">Hoe moet je een kernel compileren in Ubuntu Linux?
Ga naar www.kernel.org en selecteer de gewenste kernel zodat deze bv. linux-2.6.18.1.tar.bz2 (je kunt alle 2.6-kernels hier downloaden: http://www.kernel.org/pub/linux/kernel/v2.6/). Dan kun je dingen in / usr / src op precies dezelfde manier laden: We pakken dan de kerneldoelen uit en maken een linux-symlink voor alle typen kernelbrondirectory’s:
Als je de kernel nog niet op je hoofdsysteem hebt samengesteld, zijn er in feite verschillende pakketten die nodig zijn om de software met succes te bouwen. U zult het waarschijnlijk installeren met:
-
sudo apt-get build-dep linux-image - fondsen (uname linux -r)
Helaas, hun bovenstaande installeert alle vereiste afhankelijkheden. De huidige versie van Disco Release Goofy vereist de volgende aanvullende pakketten.
-
sudo apt-get bar libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libpci-dev libudev-dev liliberty-dev autoconf
Als je waarschijnlijk git gebruikt, installeer deze methode dan om de volgende redenen:
-
sudo apt-get install git
De bovenstaande opdracht vereist dat uw systeem perfecte deb-src regels heeft in /etc/apt/sources.list . Voor demonstratie moet u op Disco Dingo beschikken over:
-
deb-src http://archive.ubuntu.com/ubuntu disco maindeb-src http://archive.ubuntu.com/ubuntu hoofd
Disco-updates ophalen van de bron in Ubuntu-versie
Er zijn een aantal, meestal geassocieerd met verschillende producten voor het verkrijgen van kernelextracten. Er zijn hier meestal meer dan één hoofdroute gedocumenteerd.
Als je een specifieke versie van Ubuntu geïnstalleerd hebt en hulp vraagt bij het wijzigen van een kernel die vaak op je systeem draait, gebruik dan een willekeurige apt-get (methode die hieronder wordt beschreven) om de broncode te krijgen.
Als je echter wilt weten hoe de voornamelijk recente bronnen voor onze eigen Ubuntu werken en er bovendien enkele wijzigingen in wilt aanbrengen, gebruik dan de Git-strategie (hieronder gedetailleerd) om de eigenlijke bronnen te krijgen.
Apt-get
Hoe installeer ik een nieuwe kernel zonder compilatie?
Je bent per ongeluk op je pagina gestuit en hebt ernaar gekeken omdat het er interessant uitzag, maar gebruikers willen eigenlijk niet meer weten over popcorn-kernels. Als je een goede uitstekende kernel wilt installeren zonder te compileren, kun je Synaptic gebruiken, naar een Linux-image bladeren en het ontwerp van de kernel die je wilt installeren selecteren.
De basiscode die een specifieke binaire software heeft gegenereerd, kan meestal worden verkregen met de opdrachtterm apt-get source
-
regels apt-get linux-image-unsigned - $ (uname -r)
Git
Wat is de Linux kernel voor Ubuntu 18.04 LTS?
In dit voorbeeld zal ik het gebruik van een Ubuntu 18.04 LTS (AMD64)-desktop met Linux 5.0.0-kernel en wat kenel 5.4.2-bronsoftware als voorbeeld gebruiken om een Linux-kernel te bouwen met een aangepaste systeemaanroep en vervolgens een Linux toe te voegen. kern. unix uit de systeeminformatie op het bureaublad.
Alle Ubuntu-kernelbronnen worden gewoon beheerd met git . Het bronsysteem, als elke versie wordt beheerd, kan worden geplaatst in hun Manage Git-repository op kernel.ubuntu.com . Om een goede lokale kopie te krijgen, kan uw bedrijf eenvoudig een identieke kopie van onze repository maken voor de versie waarin u geïnteresseerd bent, zoals hieronder weergegeven.
-
git probeer git: //kernel.ubuntu.com/ubuntu/ubuntu-
.git
-
git kloon git: //kernel.ubuntu.com/ubuntu/ubuntu-disco.git
Configuratie wijzigen
U kunt deze stap vaak overslaan als u niet van de configuratievoordelen houdt. Het bouwproces werkt met een configuratie die bestaat uit verschillende subconfiguratienummers. De gemakkelijkste manier om hier iets te veranderen wordt beschouwd als uitvoeren:
-
chmod a very + x debian / ruleschmod a + y debian / scripts / *chmod a + tijden debian / scripts / misc / *LANG is gelijk aan C fakeroot debian / clean rulesLANG = C fakeroot debian / rules editconfigs # je moet ze allemaal doorlopen (Y, Exit, Y, Exit ..) of je moet achteraf een configuratieklacht ontvangen op
Dit neemt de huidige constructie op het moment van elke ondersteunde architectuur versus variant en roept menuconfig op om het productconfiguratiebestand met succes te bewerken. Chmod kan verplicht zijn omdat de uitvoerbare delen van de scripts inderdaad verloren gaan bij het bouwen van het broncodepakket.
Om je kernel “nieuwer” te houden dan de reguliere Ubuntu-kernel waarop je gebaseerd bent, kun je overwegen bij te dragen aan een lokale versie-modifier. Voeg iets toe, bijvoorbeeld , “+ test1” om het versienummer over debian.master / changelog te plaatsen voordat u gaat compileren. Dit zal vaak erg handig zijn om je kernel te identificeren wanneer het ook verschijnt als een chase over uname -a . Houd er rekening mee dat in gevallen waarin een nieuwe Ubuntu-kernel wordt uitgebracht, deze waarschijnlijk nieuwer zal zijn dan de kernel nodig heeft (die wordt hersteld), dus wees voorzichtig bij het up-to-date brengen. OPMERKING: zorg ervoor dat u het tijdens config_localversion probeert te gebruiken, _will_ zal de build afbreken.
De kernel bouwen
Het bouwen van de kernel is pijnloos. Wijzig de beheerdersdirectory naar de hoofdlijst van deze kernelbronstructuur en start kort daarna de volgende opdrachten:
-
LANG = C fakeroot debian / echt schone regels# Gebouw Sommer:LANG = C fakeroot debian / pointers header binair binair algemeen binair fa л perarch# Als klanten Linux-tools of een zinvolle kernel met lage latentie willen, gebruik dan sprint:LANG = C fakeroot debian / binaire regels
Als de build succesvol is, wordt er een set gemaakt die is gekoppeld aan drie .deb-pakketbinaire bestanden wanneer de listingdirectory boven de build-rootwebsite-directory staat. Bijvoorbeeld, na het bouwen van een kernel met taalvertaling “4.8.0-17.19” op een amd64-systeem, zullen deze (of vier) .deb-pakketten groeien:
-
CD ..ls * .deb rode hoed headers-4.8.0-17_4.8.0-17.19_all.deb linux-4.8.0-17-generic_4.8.0-17.19_amd64.deb headers linux-image-4.8.0-17-generic_4.8.0-17.19_amd64.deb
Natuurlijk zul je in een tijdje versies een extra Linux-pakket vinden dat je zelfs zou moeten installeren als je er een hebt.
Een nieuwe kernel testen
Installeer drie pakketten (in build-methode misschien een ander doelsysteem) vanwege dpkg -i bijgevolg
-
herstart sudo: dpkg -i een linux systemunix * 4.8.0-17.19 * .debsudo reboot
Symbolen voor foutopsporing
Soms doet het geloven om debug-symbolen zo efficiënt te maken. Er zijn twee grote stappen nodig. De eerste pkg-config-dbgsym moet automatisch worden geïnstalleerd. Ten tweede, als u doelen in binair formaat – * maakt, moet u ‘skipdbg = false ‘ invoegen.
-
sudo apt-get install pkg-config-dbgsymLANG = C fakeroot debian / schone regelsLANG = C fakeroot debian voor elke regel binary-headers binary-common-binary-perarch skipdbg = hoax
Zie ook
De vorige tutorial presenteert een heel eenvoudig recept voor het leveren van de bronnen en het bouwen ervan op dit platform. Als u meer succes wilt bij het ontwikkelen van de kernel in vergelijking met wat alleen de configuratiewijzigingen zijn, moet u op deze website kijken