Goedgekeurd: Fortect
Ik hoop dat als je de Ubuntu Build-kernelmodule op je bedrijfscomputer hebt geïnstalleerd, deze gids je kan helpen.Instructies voor het bouwen van je eigen kernel in Ubuntu. Vastberadenheid gekoppeld aan afhankelijkheden. Voordat je indruk kunt maken op een kernel, hebben klanten precieze tools nodig om het te bouwen. Verkrijg meestal de kernelbron. Nu ga je waarschijnlijk de tijd nemen om de bron in te voeren die je echt wilt instellen. Aanpassen volgens uw build. Start de aangemaakte door de mappen te wijzigen in de nieuwe gedupliceerde websitemap. Kernel configuratie. Bouw kernelpakketten. Installeer de specifieke kernel regelmatig.
De meeste gebruikers die geïnteresseerd zijn in het bouwen van hun eigen kernel, doen dit als antwoord, aangezien Ubuntu op hun systeem is geïnstalleerd, willen ze ook alleen dat je kleine wijzigingen aanbrengt in de kernel die het systeem maakt wanneer de gebruiker slechts een bepaalde kernel wil draaien. configuratie. …
Het doel van dit bericht is dat je deze shopper een minimum aan informatie moet geven om de nieuwe kernel gemakkelijk te kunnen wijzigen, compileren en bovendien de enterprise-kernel te installeren. Wees dit specifieke plan voor het ontwikkelen van Ubuntu-kernels.
Omgeving maken
Als je nog geen werkende kernel op je systeem hebt gemaakt, zijn er ongetwijfeld meestal verschillende pakketten die je van tevoren efficiënt kunt ontwerpen. Je kunt het samen installeren met:
-
sudo apt-get build-dep ubuntu linux-image - $ (uname -r)
Hoe extern te bouwen kernelmodules?
Helaas installeert dit niet alle benodigde afhankelijkheden. De huidige versie van Goofy Disco vereist dat u de volgende aanvullende pakketten ziet.
-
sudo apt-get fix libncurses-dev gawk flex buffalo openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev liliberty-dev autoconf
Als kopers Git willen implementeren, installeer dan de situatie vanaf:
-
sudo apt-get alter git
Voor het bovenstaande commando is je eigen systeem nodig om de deb-src -bereiken in /etc/apt/sources.list te repareren. Op Disco Dingo heb je bijvoorbeeld: Misschien
-
deb-src http://archive.ubuntu.com/ubuntu disco hoofddeb-src http://archive.ubuntu.com/ubuntu disco-updates hoofd
Verkrijg de broncode van iemand anders voor de Ubuntu-versie
Er zijn verschillende manieren om kernelbronnen te ontwikkelen. Slechts twee methoden worden hier algemeen beschreven.
Als uw familie een versie van Ubuntu heeft en u wilt ook wijzigingen aanbrengen in onze kernel die in uw software is geïnstalleerd, gebruik dan de apt-get methode (hieronder beschreven) om de generatoren te pakken.
Als je echter zin hebt om de nieuwste broncode te krijgen voor welke versie dan ook met betrekking tot Ubuntu die je gewoonlijk uitvoert en wijzigingen aan te brengen, dan eindigt het met behulp van de Git-methode (hieronder beschreven) bij de bronnen.
Apt-get
De broncode die een op maat gemaakt binair pakket heeft gegenereerd, kan worden verkregen met behulp van de opdracht apt-get source
-
apt-get verkrijg linux-image-unsigned - $ (uname -r)
Git
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.
Alle Ubuntu-kernelbronnen voor het artikel worden beheerd door git . Het begin van elke versie wordt beheerd in zijn unieke Git-repository met behulp van kernel.ubuntu.com . Hoe dan ook, dat zal helpen om een lokale kopie te krijgen, je hoeft alleen maar – kloon de repository voor onze eigen versie naar git waarin je geïnteresseerd bent, zoals hieronder vermeld.
-
git clone git: //kernel.ubuntu.com/ubuntu/ubuntu-
.git
-
git identieke kopie van git: //kernel.ubuntu.com/ubuntu/ubuntu-disco.git
Configuratie wijzigen
Deze stap kan worden overgeslagen als er geen configuratiewijzigingen vereist zijn. Aan het begin van het bouwproces wordt een absolute configuratie gebruikt die bestaat uit unieke subconfiguratiebestanden. De gemakkelijkste manier om iets hieronder te wijzigen is door het volgende uit te voeren:
-
chmod a + x debian en regelschmod a + x debian / scripts - *chmod a + x debian / scripts versus misc / *LANG = C fakeroot debian voor elke schone regelsLANG = C fakeroot debian / ordinances editconfigs # Je moet elke persoonlijke voorkeur doorlopen (Y, Exit, Y, Exit ..) of je krijgt dat later gewoon een configuratieklacht
Dit omvat de huidige configuratie voor elke ondersteunde architectuur per variant in combinatie met een callovom menuconfig om het configuratiebestand handmatig te wijzigen. Dit zijn de vereisten voor chmod bij het bouwen van een broncodepakket, die uitvoerbare bits in scripts verliest.
Om je kernel “nieuwer” te maken door hem te vergelijken met elke Ubuntu-kernel waarop elke kernel is gebaseerd, moet je nadenken over het toevoegen van een modifier van je eigen versie. Iets voegt bijvoorbeeld “+ test1” toe aan de onderkant van het eerste productnummer in debian.master changelog voordat het wordt versterkt. Dit helpt bij het identificeren van je eigen kernel als deze ook verschijnt om te werken in uname -a . Houd er rekening mee dat als een Ubuntu Newbie-kernel meestal wordt uitgebracht en nieuwer is dan uw kernel (die zeker opnieuw moet worden opgebouwd), u voorzichtig moet zijn bij het upgraden. OPMERKING: probeer CONFIG_LOCALVERSION niet te wijzigen, aangezien dit een _interrupt_-build is.
De kernel bouwen
Hoe kan het een Linux-kernel aanpassen?
Ik heb families nodig om je eigen kernel-buildplannen te kunnen maken. Volledige kernel source tree. Configureer vaak de kernel. Als je kunt, ga dan niet het gedistribueerde kernelconfiguratiebestand aanpassen, iemand kan deze sectie perfect overslaan (CentOS-7). Kern ABI. Aanpassing uit het kernelspecificatiebestand. De structuur van een nieuwe kernel. Een nieuwe kernel installeren.
Het bouwen van onze eigen kernel is vrij eenvoudig. Wijzig de werkdirectory die belangrijk is voor de basis van de kernelbronspecificatie, voer dan de volgende opdrachten in:
-
LANG = C fakeroot debian / vergeet niet de regels te poetsen# sneller bouwen:LANG = C fakeroot debian / methoden binaire headers binair-algemeen en indien binair-perarch# Je zou een Linux-kernel met lage latentie moeten hebben, of anders uitvoeren:LANG = C fakeroot debian / binaire tips
Als de compilatie succesvol is, wordt die set van 5 .deb-pakketbinaire bestanden gemaakt in de map boven de beginmap van de compilatie. In navolging van het voorbeeld van het maken van een uitstekende kernel met versie “4.8.0-17.On 19”, zullen deze twee of drie (of vier) .deb-letters overeenkomen met elk goed AMD64-systeem
-
Product-cd: ..ls 3 . .deb linux-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
In latere versies kan de klant ook een extra Linux-pakket vinden, dat als algemene regel moet worden geïnstalleerd indien beschikbaar.
Een nieuwe kernel testen
Installeer het specifieke driedelige pakket (op uw bouwsysteem of talrijke doelsystemen) met dpkg -i, en start opnieuw op: Dpkg
-
sudo -i linux ( leeg ) 4.8.0-17.19 * .debsudo reboot
Symbolen voor foutopsporing
Soms is het ook handig om betekenis te creëren bij het debuggen. We hebben nog twee opties nodig. De eerste pkg-config-dbgsym moet worden geconfigureerd. Ten tweede moet je skipdbg = false toevoegen terwijl je begint met twee gemeenschappelijke doelen *.
-
sudo apt-get run pkg-config-dbgsymLANG = C fakeroot debian voor elke schone regelsLANG = C fakeroot debian voor elke regel binaries-headers binary-common-binary-perarch skipdbg = false
Zie ook
Het bovenstaande mini-seminar biedt een heel eenvoudig recept om elke bron te verkrijgen en ze vervolgens te maken. Als u normaal gesproken aanvullende informatie over kernelontwikkeling meeneemt in de vorm van eenvoudige configuratiewijzigingen, let dan op het volgende: