Comment compiler votre propre noyau Linux

Comment compiler votre propre noyau Linux / Linux

Parallèlement à l’installation de Gentoo Gentoo: une distribution Linux où vous compilez votre propre logiciel optimisé Gentoo: une distribution Linux, où vous compilez votre propre logiciel optimisé Le nombre impressionnant de façons dont Linux peut être exécuté est stupéfiant, car il existe faire le tour. Bien qu'il existe de nombreuses distributions qui s'appuient soit sur .deb… En savoir plus, compiler votre propre noyau Linux est l'une de ces choses considérées comme très geek et techniques. Nous avons déjà abordé quelques raisons. 3 raisons pour lesquelles vous pourriez vouloir compiler votre propre noyau [Linux] 3 raisons pour lesquelles vous pourriez vouloir compiler votre propre noyau [Linux] Les systèmes Linux sont tellement ridiculement flexibles et configurables que c'est carrément fou. Une grande partie de la flexibilité de Linux s'explique par sa structure modulaire. Chaque composant et programme du système est divisé en deux… Lire la suite pourquoi vous voudrez peut-être faire cela. Avant de vous expliquer les étapes, voici un bref aperçu de certains concepts importants..

Qu'est-ce qu'un noyau??

En bref, il s’agit d’un élément essentiel de votre système d’exploitation, sinon le plus important. Un système d'exploitation est chargé de laisser fonctionner vos programmes en leur permettant d'accéder à votre matériel. Cependant, c'est le noyau Le noyau Linux: une explication dans les termes de Layman Le noyau Linux: une explication dans les termes de Layman Il n'y a qu'une chose de facto que les distributions Linux ont en commun: le noyau Linux. Mais alors que l'on en parle souvent, beaucoup de gens ne savent pas vraiment ce que ça fait. Lire la suite qui porte en réalité tous ces emplois.

Le noyau Linux a la particularité de pouvoir être adapté 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.

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'un langage compliqué appelé langage machine. Pour ce faire, les lignes de texte doivent être traduites. Comment compiler et installer des fichiers TAR GZ & TAR BZ2 sous Ubuntu Linux Comment compiler et installer des fichiers TAR GZ & TAR BZ2 sous Ubuntu Linux En savoir plus avec 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 tout en le faisant.

Généralement, 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? Utilisez-vous le meilleur navigateur Web pour Linux en 2016? L'utilisation du "mauvais" navigateur peut entraîner beaucoup de maux de tête inutiles, une perte de productivité et même une perte de données. Alors quel navigateur est le meilleur pour votre ordinateur Linux? Découvrons-le. Lisez plus que vous utilisez en ce moment est déjà compilé. En effet, compiler quelque chose peut être un peu compliqué et prendre beaucoup de temps. Pensez-y comme à la traduction d'un gros livre dans une langue étrangère.

En résumé, compiler le noyau signifie convertir son code en quelque chose qui fonctionnera réellement sur votre ordinateur..

Obtenir des sources de noyau

Vous ne pouvez pas faire un feu sans carburant. De même, vous ne pouvez pas compiler de programmes si vous n'en avez pas le code. 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 d'utiliser cela 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 des commandes suivantes:

sudo apt-get mise à jour sudo apt-get install 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 la / usr / src / répertoire, alors naviguez-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 de remplacer le fichier par le nom correct, bien sûr. Le fichier sera assez volumineux, le processus prendra donc un peu de temps!

Méthode alternative

Si vous le souhaitez, vous pouvez vous procurer vos sources sur le site Web officiel du noyau Linux. Je le recommande uniquement si votre système d'exploitation Linux ne les fournit pas. Sélectionnez la version de votre choix et téléchargez-la. Si vous suivez cette route, vous devriez le télécharger dans un dossier vide. De cette façon, si vous voulez compiler plus de noyaux dans le futur, vous aurez un joli dossier pour les garder organisés.

Ceci fait, extrayez le fichier avec cette commande:

tar xJvf linux-4.9.11.tar.xz

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

Personnaliser le noyau

C'est l'étape où vous pouvez choisir les parties du noyau dont vous voulez vous débarrasser. Par exemple, le noyau est livré avec un grand nombre de 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 faire gagner du temps, 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 de la essentiel de la construction forfait, entre autres:

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

le libncurses5-dev package facilitera la configuration du noyau, assurez-vous de l’installer. Les autres systèmes d'exploitation Linux auront un programme similaire, mais celui-ci peut être sous un nom différent. Par exemple, si vous utilisez Fedora 5 raisons d'utiliser Pure Open Source Distro, Fedora 5 raisons d'utiliser Pure Open Source Distro, Fedora est moins connue 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, ça s'appelle ncurses.

S'il n'est pas déjà installé, vous aurez également besoin de la Collection du compilateur GNU (GCC). C'est l'outil responsable de la conversion du code source brut en quelque chose de compréhensible pour les ordinateurs. C'est-à-dire, compiler.

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

cd /usr/src/linux-source-4.4.0

Fichier de configuration du noyau

Avant de compiler le noyau, vous devez dire à GCC comment vous voulez le faire. Vous faites cela en utilisant un outil de ligne de commande appelé faire. Tapez cette commande:

sudo faire localmodconfig 

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

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

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

Si vous préférez cela, mais utilisez la commande localmodconifg auparavant, procédez comme suit:

sudo faire propre 

Cela vous donnera une construction propre. Vous devriez é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 les éléments à 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, ajustez-le plus avant:

sudo make nconfig 

Vous verrez un menu coloré apparaître. C'est le menu de configuration du noyau. Pour naviguer, utilisez les touches fléchées. Vous pouvez appuyer sur le droite touche fléchée pour développer les entrées avec un -> signer à côté d'eux. Sortez de ces sous-menus en appuyant sur la touche la gauche touche fléchée.

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

Si vous voulez en savoir plus sur le fonctionnement d’un commutateur spécifique, appuyez sur F2 par-dessus. Vous verrez une description utile de ce que vous compilez..

Une fois que vous avez terminé, appuyez sur le bouton F9 bouton pour sauvegarder et quitter.

Compiler et installer le noyau

Maintenant que vous avez créé un fichier de création personnalisé, vous devez compiler et installer des fichiers TAR GZ & TAR BZ2 sous Ubuntu Linux. Comment compiler et installer des fichiers TAR GZ & TAR BZ2 sous Ubuntu Linux. Lisez plus 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 accélère le temps de compilation du noyau en tirant parti de tous les cœurs de votre processeur. Qu'est-ce qu'un cœur de processeur? [MakeUseOf explique] Qu'est-ce qu'un noyau de processeur? [MakeUseOf explique] Chaque ordinateur dispose d’un processeur, qu’il s’agisse d’un petit professionnel de l’efficacité ou d’un grand centre de performances, sinon il ne pourrait pas fonctionner. Bien sûr, le processeur, également appelé processeur ou traitement central… Lire la suite. Vous pouvez vous en débarrasser ou changer le numéro pour un autre (par exemple. -j2), si vous voulez utiliser votre ordinateur pour d’autres tâches sans trop de hoquet. Cependant, cela ralentira également la compilation!

Ce processus peut et va prendre beaucoup de temps. Moins vous aurez choisi de compiler, plus ce sera court. Néanmoins, vous devrez probablement être patient.

Ensuite, tapez cette commande pour finir de compiler le reste du noyau:

sudo make modules_install 

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

sudo faire installer 

Cela va automatiquement copier le noyau sur votre /démarrage dossier et générer les fichiers appropriés pour le faire fonctionner.

Changer de noyau avec GRUB

Si vous redémarrez après avoir installé votre nouveau noyau, votre système pourrait ne pas fonctionner! Cela est généralement dû à un noyau mal compilé (c’est-à-dire ne supportant pas assez votre ordinateur). Exemple, mon propre ordinateur portable. Au cas où cela se produirait, je vous recommande d’éditer GRUB Comment personnaliser le chargeur de démarrage GRUB avec BURG [Ubuntu] Comment personnaliser le chargeur de démarrage GRUB avec BURG [Ubuntu] Read More afin qu’il puisse revenir aux noyaux plus anciens. Pour ce faire, utilisez cette commande:

sudo nano / etc / default / 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 

Maintenant, si vous redémarrez votre ordinateur, vous pourrez passer à un noyau plus ancien si votre nouveau ne fonctionne pas. Il suffit d'aller au Options avancées élément de menu et sélectionnez le noyau que vous voulez démarrer. Si tout se passe bien, félicitations! Vous utiliserez le noyau que vous avez compilé par vous-même.

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

Crédits d'image: chombosan / Shutterstock

En savoir plus sur: Linux.