Configuration de noyau ubuntu

Fermé
ronaldoR9 - 2 oct. 2016 à 22:13
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 5 oct. 2016 à 20:20
Bonjour à tous,

Je débute dans la partie configuration et compilation de noyau linux. Pour cela j'ai téléchargé un iso sur le site de ubuntu que j'ai installé en vm via virtualbox.

Du coup je suis un tuto pour effectuer les configs mais je rencontre pas mal de difficulté.

Lorsque je lance un make menuconfig, je ne trouve pas certaines options. Je voualis savoir si c'est normal, ou si ces options sont situées ailleurs.

ci-dessous les sous options introuvables :

General setup --->
[*] Prompt for development and/or incomplete code/drivers

Processor type and features --->
Subarchitecture Type --->

Ensuite pour la partie processeur, je n'ai pas mon processeur dans la liste des processeurs :

Processor type and features --->
Processor family --->
() Opteron/Athlon64/Hammer/K8
( ) Intel P4 / older Netburst based Xeon
( ) Core 2/newer Xeon
( ) Intel Atom
(X) Generic-x86-64

alors que lorsque je fais 1 cat /proc/cpuinfo | grep "model name" j'ai cela :
model name : Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
qui est bien sûr mon processeur physique.
Ma question est donc comment je fais pour l'ajouter dans la liste.

Dernier point, je voulais effectuer une config propre avec "make defconfig" mais j'ai cette erreur :
      • Default configuration is based on target 'x86_64_defconfig'
      • Can't find default configuration "arch/x86/configs/x86_64_defconfig"!

scripts/kconfig/Makefile:108 : la recette pour la cible « x86_64_defconfig » a échouée


Au niveau de ma config actuelle de ma vm j'ai ceci :
2016 x86_64 x86_64 x86_64 GNU/Linux
drwxr-xr-x 27 root root 4096 oct. 2 21:21 /usr/src/linux-headers-4.4.0-21
Ubuntu 16.04 LTS \n \l
model name : Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
A voir également:

2 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
3 oct. 2016 à 09:54
Bonjour,

Du coup je suis un tuto pour effectuer les configs mais je rencontre pas mal de difficulté. Lorsque je lance un make menuconfig, je ne trouve pas certaines options. Je voualis savoir si c'est normal, ou si ces options sont situées ailleurs.

Certaines options ont des pré-requis, ou sont contradictoires entre elle. Et
make menuconfig
ne permet que d'activer des choses qui ne seront pas contradictoire avec celles déjà activées.

Le but de
make menuconfig
est de générer un fichier
.config
qui sera ensuite utilisé pour compiler le noyau.

Tu peux t'inspirer de ce tutoriel pour compiler ton noyau (voir section "compiler un noyau") :
https://www.mistra.fr/tutoriel-linux-compiler.html

Comme expliqué dans ce tutoriel, le
.config
utilisé dans un noyau empaqueté par debian/ubuntu/... est fourni dans le paquet
linux-headers
correspondant, et fournit donc un bon point de départ que tu peux ensuite écrémer pour correspondre à tes besoins (voir tutoriel).

Tu peux vérifier avec
apt-file
:

sudo apt-get update
sudo apt-get install apt-file
sudo apt-file update
apt-file search linux-headers | grep "/^.config$"


Exemple :

(mando@velvet) (~) $ apt-file search linux-headers | grep "/^.config$"
linux-headers-4.6.0-1-amd64: /usr/src/linux-headers-4.6.0-1-amd64/.config
linux-headers-4.6.0-1-rt-amd64: /usr/src/linux-headers-4.6.0-1-rt-amd64/.config


Bonne chance
0
hello mamiemando,

merci pour ce tuto. Je vais le suivre du coup. je te tiens au jus pour la suite.
0
Hello,

c'est encore moi,

Je crois que j'ai sauté une étape, la décompression du fichier en tar.bz2, et en faisait un ls -l du /usr/src, il n'est pas présent par défaut.

voici le résultat d'un ls -l du repertoire :
[/contents/646-linux-gestion-des-utilisateurs root]@ronald-[/download/telecharger-3673479-virtualbox VirtualBox]:/usr/src# ll
total 24
drwxr-xr-x  6 root root 4096 oct.   4 19:50 ./
drwxr-xr-x 11 root root 4096 avril 21 00:13 ../
lrwxrwxrwx  1 root root   30 oct.   2 18:16 linux -> linux-headers-4.4.0-21-generic/
drwxr-xr-x 27 root root 4096 oct.   3 01:06 linux-headers-4.4.0-21/
drwxr-xr-x  7 root root 4096 oct.   2 22:10 linux-headers-4.4.0-21-generic/
drwxr-xr-x 27 root root 4096 oct.   4 19:50 linux-headers-4.4.0-38/
drwxr-xr-x  7 root root 4096 oct.   4 19:50 linux-headers-4.4.0-38-generic/
lrwxrwxrwx  1 root root   51 oct.   2 20:58 vboxguest-4.3.22 -> /opt/VBoxGuestAdditions-4.3.22/src/vboxguest-4.3.22/


la version du kernel avec uname -r me donne
#uname -r
4.4.0-21-generic

donc lorsque je fais un locate je n'ai rien:
root@ronald-VirtualBox:/usr/src# locate -i "*4.4.0-21-generic*.tar*"
root@ronald-VirtualBox:/usr/src# updatedb
root@ronald-VirtualBox:/usr/src# locate -i "*4.4.0-21-generic*.tar*"


ou même find :
root@ronald-VirtualBox:/usr/src# find /usr/ -iname "*4.4.0-21-generic.tar*"

root@ronald-VirtualBox:/usr/src#



Y-a-t'il moyen de récupérer ce tar.bz2 quelque part ?

Merci d'avance
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
5 oct. 2016 à 20:20
Je te conseille plutôt de récupérer des sources de noyaux via les paquets : le plus simple c'est avec
apt-get install linux-source-x.x.xx-amd64
ou x.x.xx est la version du noyau (voir résultats de
apt-cache search linux-sources | grep linux-sources
), ce qui les installera dans
/usr/src
.

Ensuite si tu tiens à partir de sources de noyau standard, il suffit d'aller sur :
https://www.kernel.org/

Il faudra juste adapter la syntaxe de
tar
car il s'agit à présent de fichiers ".xz" :
https://askubuntu.com/questions/92328/how-do-i-uncompress-a-tarball-that-uses-xz

Quelque soit la manière dont est récupéré le noyau, assure toi que /usr/src/linux pointe bien sur les bonnes sources (celles du noyaux que tu veux compiler). Si ce lien existe supprime ce fichier et recrée le bon lien symbolique :

rm /usr/src/linux
ln -s /usr/src/linux-sources-x.x.xx /usr/src/linux


Bonne chance
0