Publicité

De même que installer Gentoo Gentoo: une distribution Linux où vous compilez votre propre logiciel optimiséLe nombre considérable de façons différentes dont Linux peut être exécuté est étonnant, car il y a beaucoup de choix à faire. Bien qu'il existe de nombreuses distributions qui reposent sur le .deb ... Lire la suite , compiler votre propre noyau Linux est l'une de ces choses considérées comme très geek et techniques. Nous avons déjà couvert quelques raisons 3 raisons pour lesquelles vous pourriez vouloir compiler votre propre noyau [Linux]Les systèmes Linux sont tellement ridiculement flexibles et configurables, c'est carrément fou. Une grande partie de la raison pour laquelle Linux est si flexible est à cause de sa structure modulaire. Chaque composant et programme système est divisé ... Lire la suite pourquoi vous pourriez vouloir faire cela. Avant de vous guider à travers les étapes, voici un bref aperçu de certains concepts importants.

Qu'est-ce qu'un noyau?

En bref, c'est une partie vitale de votre système d'exploitation, sinon la plus importante. Un système d'exploitation est chargé de laisser vos programmes fonctionner, en leur permettant d'accéder à votre matériel. Mais c’est le

instagram viewer
noyau Qu'est-ce qu'un noyau sous Linux et comment vérifiez-vous votre version?Linux est un système d'exploitation, non? Enfin, pas exactement! C'est en fait un noyau. Mais qu'est-ce que le noyau Linux? Lire la suite qui réalise en fait tous ces emplois.

Le noyau Linux est spécial en ce qu'il peut être fait sur mesure pour s'adapter au matériel que vous possédez. Comparez cela avec le noyau Windows NT, qui sera généralement le même sur tous les ordinateurs. Pour ce faire, le noyau doit passer par un processus appelé compilation.

Pour plus d'informations, consultez notre introduction aux noyaux sous Linux Qu'est-ce qu'un noyau sous Linux et comment vérifiez-vous votre version?Linux est un système d'exploitation, non? Enfin, pas exactement! C'est en fait un noyau. Mais qu'est-ce que le noyau Linux? Lire la suite .

Qu'est-ce que la compilation?

Généralement, les programmes sont écrits dans un format lisible par l'homme. Cela facilite la création de logiciels par les utilisateurs. Par exemple, le noyau Linux est écrit principalement dans un langage de programmation appelé C. Cependant, les ordinateurs ne peuvent pas comprendre cela. Ils ne reconnaissent qu'une langue compliquée appelée langage machine. Pour ce faire, les lignes de texte doivent être traduit Comment compiler et installer les fichiers TAR GZ et TAR BZ2 dans Ubuntu Linux Lire la suite en utilisant un logiciel spécial appelé compilateur.

Différents compilateurs sont utilisés pour convertir différents langages de programmation. Par exemple, GCC est un compilateur qui traduit le code C en code machine (entre autres). Mais ce n'est pas tout ce qu'ils font - les compilateurs peuvent aussi optimiser le code traduit pour des machines spécifiques. Parallèlement à cela, ils peuvent également supprimer les fonctionnalités indésirables des programmes.

Habituellement, ce processus est déjà effectué pour de nombreux logiciels. Au lieu de cela, les gens téléchargent le fichier converti binaire instructions, qui fonctionnent hors de la boîte. Par exemple, le navigateur web Utilisez-vous le meilleur navigateur Web pour Linux en 2016?L'utilisation du «mauvais» navigateur peut entraîner de nombreux maux de tête inutiles, une perte de productivité et même la perte de données. Alors, quel navigateur est le meilleur pour votre ordinateur Linux? Découvrons-le. Lire la suite que vous exécutez en ce moment est déjà compilé. En effet, la compilation de quelque chose peut être un peu compliquée et longue. Pensez-y comme traduire un gros livre dans une langue étrangère.

En bref, compiler le noyau signifie convertir son code en quelque chose qui s'exécutera réellement sur votre ordinateur.

Obtention des sources du noyau

On ne peut pas faire de feu sans carburant. De même, vous ne pouvez pas compiler des programmes si vous ne disposez pas du code pour cela en premier lieu. La méthode est généralement la même pour la plupart des systèmes d'exploitation Linux à quelques exceptions près. Beaucoup d'entre eux fournissent leurs propres sources de noyau personnalisées. Vous devriez essayer de l'utiliser si vous le pouvez. Par exemple, si vous utilisez un Système d'exploitation basé sur Debian comme Ubuntu, vous devez installer les sources à l'aide de ces commandes:

mise à jour sudo apt-get. sudo apt-get install linux-source. 
Comment compiler votre propre noyau Linux Debian Linux Source

Vous pouvez également installer différentes versions de ce package (par exemple linux-source-4.8.0) si tu veux. Vous trouverez les fichiers installés dans le /usr/src/ répertoire, alors accédez-y et affichez le contenu:

cd / usr / src / ls.

Vous verrez un fichier qui se termine par .tar.bz2. C'est la source que vous utiliserez. Extrayez-le avec cette commande:

sudo tar xjvf linux-source-4.4.0.tar.bz2. 

Assurez-vous bien sûr de remplacer le fichier par le nom correct. Le fichier sera assez volumineux, donc le processus prendra un peu de temps!

Méthode alternative

Si vous le souhaitez, vous pouvez obtenir vos sources auprès du site officiel du noyau Linux. Je le recommande uniquement si votre système d'exploitation Linux ne les fournit pas. Sélectionnez la version que vous souhaitez et téléchargez-la. Si vous suivez cette route, vous devez la télécharger dans un dossier vide. De cette façon, si vous souhaitez compiler plus de noyaux à l'avenir, vous aurez un joli dossier pour les organiser.

Comment compiler vos propres sources de noyau Linux Vanilla Kernel

Cela fait, extrayez le fichier avec cette commande:

tar xJvf linux-4.9.11.tar.xz
Comment compiler votre propre source Linux Vanilla Linux

Assurez-vous que vous utilisez le nom de fichier qui correspond à la version que vous avez téléchargée!

Personnalisez le noyau

C'est l'étape où vous pouvez choisir les parties du noyau dont vous souhaitez vous débarrasser. Par exemple, le noyau est livré avec de nombreux pilotes différents pour une variété de périphériques. Si vous n'avez pas besoin de ce support, vous en débarrasser peut vous apporter des avantages en termes de vitesse, ainsi qu'un noyau plus petit.

Conditions préalables

Avant de continuer, vous devez installer certains programmes qui vous permettront de le personnaliser et de le compiler.

Sur les systèmes basés sur Debian, vous avez besoin du essentiel à la construction package, entre autres:

sudo apt-get install build-essential gcc libncurses5-dev libssl-dev. 

le libncurses5-dev package facilitera la configuration du noyau, assurez-vous donc de l'installer. D'autres systèmes d'exploitation Linux auront un programme similaire, mais cela peut être sous un nom différent. Par exemple, si vous utilisez Feutre 5 raisons d'utiliser Pure Open Source Distro, FedoraFedora n'est pas aussi connu qu'Ubuntu et a la réputation d'être difficile à utiliser. Mais si cela est vrai, pourquoi tant de gens continuent-ils à utiliser Fedora? Lire la suite , c'est appelé ncurses.

S'il n'est pas déjà installé, vous aurez également besoin du Collection de compilateurs GNU (CCG). Il s'agit de l'outil chargé de traduire le code source brut en quelque chose de compréhensible pour les ordinateurs. C'est-à-dire la compilation.

Après avoir installé ces programmes, ouvrez votre terminal pour que vous soyez à l'intérieur le dossier source Linux extrait. Par exemple, si vous avez utilisé le linux-source vous feriez ceci:

cd /usr/src/linux-source-4.4.0

Fichier de configuration du noyau

Avant de compiler le noyau, vous devez indiquer à GCC comment vous voulez que cela se fasse. Pour ce faire, utilisez un outil de ligne de commande appelé faire. Tapez cette commande:

sudo make localmodconfig. 

Cela crée un fichier appelé .config, qui indique à GCC quoi compiler à partir des sources du noyau. le faire localmodconfig La commande détecte les composants du noyau en cours d'exécution et les marque pour la compilation. Si le noyau se trouve dans un dossier que vous possédez, vous n'aura pas besoin de sudo pour que cela fonctionne.

Vous pouvez rencontrer des messages comme celui ci-dessous. Appuyez simplement sur Entrer pour les ignorer - ce ne sont généralement que de nouvelles fonctionnalités du noyau.

Comment compiler votre propre noyau Linux Rendre Localmodconfig nouveau

Cependant, localmodconfig n'est pas parfait! Si vous n'utilisez pas actuellement certaines parties de votre ordinateur, il peut ne pas détecter toutes les choses qu'il prend en charge. En tant que tel, vous devez les activer manuellement. Alternativement, vous pouvez ignorer cette étape entièrement et utiliser la commande suivante à la place. Cela compilera le nouveau noyau avec les mêmes options que celui que vous utilisez actuellement.

Si vous préférez cela, mais avez déjà utilisé la commande localmodconifg, procédez comme suit:

sudo make clean. 

Cela vous donnera une construction propre. Vous devez également utiliser cette commande si vous avez déjà compilé un noyau avec ces sources.

Configuration supplémentaire

Dans le dossier source du noyau, il y a un fichier appelé .config. C'est ce que GCC utilisera pour choisir ce qu'il faut compiler. Au lieu de le modifier manuellement (non recommandé), vous utiliserez plutôt quelques outils de terminal. Cela facilitera la sélection des options de compilation.

Cela fait, affinez-le davantage:

sudo make nconfig. 

Vous verrez un menu coloré apparaître. Il s'agit du menu de configuration du noyau. Pour naviguer, utilisez les touches fléchées. Vous pouvez appuyer sur droite flèche pour développer les entrées avec un —> signe à côté d'eux. Parcourez ces sous-menus en appuyant sur la touche la gauche touche fléchée.

Comment compiler votre propre noyau Linux Faire Nconfig

Vous pouvez basculer les entrées de menu qui ont le <> ou [] signez à côté d'eux en appuyant sur la barre d'espace. Cela fera défiler les différentes options de menu. Si vous voyez un * ou M à l'intérieur, ce composant du noyau spécifique sera compilé. La seule différence entre eux est que le M L'option sera chargée en cas de besoin. Cela peut être utile si vous compilez un pilote par exemple, qui ne sera pas utilisé souvent.

Si vous souhaitez en savoir plus sur ce que fait un commutateur spécifique, appuyez sur F2 par-dessus. Vous verrez une description utile de ce que vous compilez.

Comment compiler votre propre noyau Linux Faites Nconfig F2

Une fois que vous avez terminé, appuyez sur la touche F9 bouton pour enregistrer et quitter.

Comment compiler votre propre noyau Linux Faire enregistrer Nconfig

Compilation et installation du noyau

Maintenant que vous avez créé un fichier de création personnalisé, vous devez compiler Comment compiler et installer les fichiers TAR GZ et TAR BZ2 dans Ubuntu Linux Lire la suite le noyau. Tapez cette commande:

sudo make -j $ (nproc --all)

Vous serez pas besoin de sudo si vous avez téléchargé les sources du noyau sur le Web. La deuxième partie de la commande permet d'accélérer le temps de compilation du noyau, en profitant de tous vos Cœurs de processeur Qu'est-ce qu'un cœur de processeur? [MakeUseOf explique]Chaque ordinateur possède un processeur, qu'il s'agisse d'un petit pro de l'efficacité ou d'une grande puissance de performance, sinon il ne pourrait pas fonctionner. Bien sûr, le processeur, également appelé CPU ou Central Processing ... Lire la suite . Vous pouvez vous en débarrasser ou changer le numéro en quelque chose d'autre (par ex. -j2), si vous souhaitez utiliser votre ordinateur pour d'autres tâches sans trop de hoquets. Cependant, cela rendra également la compilation plus lente!

Ce processus peut et prendra très longtemps. Moins vous choisissez de compiler, plus ce sera court. Néanmoins, vous devrez probablement être patient.

Ensuite, tapez cette commande pour terminer la compilation du reste du noyau:

sudo make modules_install. 

Pour réellement utiliser ce noyau, vous devrez entrer cette commande:

sudo make install. 

Cela copiera automatiquement le noyau sur votre /boot dossier et générer les fichiers appropriés pour le faire fonctionner.

Changement de noyau à l'aide de GRUB

Si vous redémarrez après avoir installé votre nouveau noyau, votre système peut ne pas fonctionner! Cela est généralement dû à un noyau mal compilé (c'est-à-dire qu'il ne prend pas suffisamment en charge votre ordinateur). Affaire au point, mon propre ordinateur portable. Au cas où cela se produirait, je recommande modification de GRUB Comment personnaliser le chargeur de démarrage GRUB à l'aide de BURG [Ubuntu] Lire la suite afin qu'il puisse revenir aux noyaux plus anciens. Pour ce faire, utilisez cette commande:

sudo nano / etc / default / grub. 
Comment compiler votre propre noyau Linux Ubuntu GRUB

Placez un signe # devant le GRUB_HIDDEN_TIMEOUT et GRUB_HIDDEN_TIMEOUT_QUIET lignes. Ensuite, enregistrez ces modifications en exécutant cette commande:

sudo grub-mkconfig -o /boot/grub/grub.cfg. 
Comment compiler votre propre menu GRUB du noyau Linux

Maintenant, si vous redémarrez votre ordinateur, vous pourrez basculer vers un ancien noyau si votre nouveau ne fonctionne pas. Allez simplement sur le Options avancées élément de menu et sélectionnez le noyau que vous souhaitez démarrer. Si tout fonctionne bien, félicitations! Vous utiliserez le noyau que vous avez compilé par vous-même.

Êtes-vous intéressé à compiler plus de noyaux? D'autres programmes? Trouvez-vous cela utile?

Crédits image: chombosan / Shutterstock

Actuellement étudiant pour un BIT, Austin Luong est un passionné de Linux passionné qui aime faire du prosélytisme sur les logiciels libres. Il aime aussi écrire de la science-fiction, mais uniquement dans l'intimité de son disque dur.