compilation du noyau
comment faire en mageia 8
Système et matériels / Installation et configuration

Pierre_Léonard Membre non connecté
-
- Voir le profil du membre Pierre_Léonard
- Inscrit le : 02/09/2017
- Site internet
- Groupes :
Je voudrais compiler le noyau de la Mageia 8 version :
5.10.56-desktop-1.mga8
J'ai oublié comment faire, je lance make xconfig et cette cible n'existe pas dans le Makefile.
Il me semble qu'il fallait faire quelque chose avant pour avoir la bonne version pour le processeur X86_64 et changer les paramètres de compilation mais je ne sais plus.
l'un d'entre vous pourrait-il maider ?
Merci d'avance
Pierre Léonard
Pierre Léonard

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Cela fait très longtemps que je n' ai pas compilé de noyau, mais si xconfig ne fonctionne pas, peut être que menuconfig fonctionne (peut être qu' un make oldconfig doit être fait avant ?) ?

Pierre_Léonard Membre non connecté
-
- Voir le profil du membre Pierre_Léonard
- Inscrit le : 02/09/2017
- Site internet
- Groupes :
Merci en effet c'est beaucoup mieux.
Mais avec xconfig je pouvais supprimer des parties du noyau qui ne m'intéressent pas.
Pierre Léonard
Pierre Léonard

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Le menuconfig n' est pas une version ligne de commande, où le xconfig est une interface x11 (avec les problèmes potentiels de droits d' accès au serveur X ) ?
En principe, si c' est la même chose, on devrait pouvoir enlever les modules non voulus également (peut être de manière moins intuitive/simple qu' un xconfig).

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Pierre_Léonard Membre non connecté
-
- Voir le profil du membre Pierre_Léonard
- Inscrit le : 02/09/2017
- Site internet
- Groupes :
J'ai réussi à compiler : kernel-5.10.56-1.mga8/
Mais la version : kernel-5.10.56-desktop-1.mga8/ ne se compile pas le Makefile ne fonctionne pas du tout, et s'arrête après quelques lignes.
Curieux, il doit manquer quelques choses pour cette version.
Et Mageia n'explique pas la différence entre les deux versions du noyau.
Bon pas très grave, si les sources ne se compile pas pourquoi les distribuer ??
Merci à tous.
Pierre Léonard
Pierre Léonard

funix Membre non connecté
-
- Voir le profil du membre funix
- Inscrit le : 17/12/2012
- Site internet
- Groupes :

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Comment sont récupérées les sources ?
Si ce sont les sources brutes, il faut peut-être retravailler dessus.
Si ce sont les sources venant avec une spec pour en faire un rpm, il y a probablememt dans la spec des modifications faites pour activer/désactiver des modules nécessaires en fonction de l'architecture par exemple.
Quelle est la source ? Quelle est le protocol appliqué pour compiler ?
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

funix Membre non connecté
-
- Voir le profil du membre funix
- Inscrit le : 17/12/2012
- Site internet
- Groupes :

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
funix :
je m'étonne juste que tu te lances dans une manip qui reste ardue alors que visiblement tu ne maîtrises pas les bases au vu de tes messages, tout d'abord pourquoi cherches-tu à recompiler le noyau ? A l'heure actuelle ça a assez peu d'intérêt.
Il y a quelques intérêts :
- la curiosité, l'apprentissage, l'apprentissage de la mécanique propre à Mageia (spec rpm → compilation → installation avec script de post-installation → mise à jour du chargeur de démarrage)
- la compilation d'un pilote primordiale pour une architecture spécifique (ce que j'ai fait avant un rapport de bogue pour l'activer du coté de Mageia.Org)
- l'optimisation pour une application (les noyaux qu'on avait de joeghi par exemple)
Il y a surement d'autre cas.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

funix Membre non connecté
-
- Voir le profil du membre funix
- Inscrit le : 17/12/2012
- Site internet
- Groupes :

Pierre_Léonard Membre non connecté
-
- Voir le profil du membre Pierre_Léonard
- Inscrit le : 02/09/2017
- Site internet
- Groupes :
je recompile le noyau avec des paramètres de gcc plus performants et supprimer tout ce dont je n'ai pas besoin. je le faisais régulièrement il y a quelques années et j'ai oublié.
Il n'y a pas à chercher d'autres intérêts.
Je connais assez bien les systèmes d'exploitation. J'ai fait dix ans de recherche sur les OS de type Unix, a l'INRIA Rocquencourt puis au CNET (maintenant Orange research) à Issy les Moulineaux.
Puis en collaboration avec le projet Chorus de l'INRIA nouc avonc conçu un système à micro noyau distribué sur un réseau et temps réel et fondé la société Chorus Systemes.
Donc je crois savoir ce qu'est un système de type Unix et maintenant Posix.
Pour revenir à nos moutons, la compilation de la version desktop donne les erreurs suivantes :
Et je revendique le droit d'être encore curieux à 63 ans.
merci à vous tous..
[root@alycanthe linux]# make -j4 all
HOSTCC scripts/basic/fixdep
DESCEND objtool
HOSTCC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/fixdep.o
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
HOSTLD /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/fixdep-in.o
LINK /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/fixdep
HOSTCC scripts/selinux/genheaders/genheaders
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/exec-cmd.o
HOSTCC scripts/bin2c
HOSTCC scripts/selinux/mdp/mdp
HOSTLD arch/x86/tools/relocs
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/help.o
HOSTCC scripts/kallsyms
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/arch/x86/special.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/pager.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/arch/x86/decode.o
HOSTCC scripts/recordmcount
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/parse-options.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/weak.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/run-command.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/check.o
LD /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/arch/x86/objtool-in.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/sigchain.o
HOSTCC scripts/sorttable
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/subcmd-config.o
LD /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/libsubcmd-in.o
AR /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/libsubcmd.a
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/special.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/orc_gen.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/orc_dump.o
HOSTCC scripts/asn1_compiler
HOSTCC scripts/extract-cert
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/builtin-check.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/builtin-orc.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/elf.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/objtool.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/libstring.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/libctype.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/str_error_r.o
CC /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/librbtree.o
HOSTCC scripts/mod/mk_elfconfig
CC scripts/mod/empty.o
CC scripts/mod/devicetable-offsets.s
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/sumversion.o
LD /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/objtool-in.o
LINK /usr/src/kernel-5.10.56-desktop-1.mga8/tools/objtool/objtool
HOSTLD scripts/mod/modpost
CC kernel/bounds.s
CALL scripts/atomic/check-atomics.sh
CC arch/x86/kernel/asm-offsets.s
CALL scripts/checksyscalls.sh
make[1]: *** Aucune règle pour fabriquer la cible « init/main.o », nécessaire pour « init/built-in.a ». Arrêt.
make[1]: *** Attente des tâches non terminées....
CHK include/generated/compile.h
make[1]: *** Aucune règle pour fabriquer la cible « usr/gen_initramfs.sh », nécessaire pour « usr/initramfs_data.cpio ». Arrêt.
make: *** [Makefile:1822 : usr] Erreur 2
make: *** Attente des tâches non terminées....
make: *** [Makefile:1822 : init] Erreur 2
make[2]: *** Aucune règle pour fabriquer la cible « arch/x86/xen/enlighten.o », nécessaire pour « arch/x86/xen/built-in.a ». Arrêt.
make[1]: *** [scripts/Makefile.build:497 : arch/x86/xen] Erreur 2
make[1]: *** Attente des tâches non terminées....
make[3]: *** Aucune règle pour fabriquer la cible « arch/x86/events/amd/core.o », nécessaire pour « arch/x86/events/amd/built-in.a ». Arrêt.
make[2]: *** [scripts/Makefile.build:497 : arch/x86/events/amd] Erreur 2
make[2]: *** Attente des tâches non terminées....
make[2]: *** Aucune règle pour fabriquer la cible « arch/x86/entry/entry_64.o », nécessaire pour « arch/x86/entry/built-in.a ». Arrêt.
make[2]: *** Attente des tâches non terminées....
make[3]: *** Aucune règle pour fabriquer la cible « arch/x86/events/intel/core.o », nécessaire pour « arch/x86/events/intel/built-in.a ». Arrêt.
make[2]: *** [scripts/Makefile.build:497 : arch/x86/events/intel] Erreur 2
make[1]: *** [scripts/Makefile.build:497 : arch/x86/events] Erreur 2
make[3]: *** Aucune règle pour fabriquer la cible « arch/x86/entry/vsyscall/vsyscall_64.o », nécessaire pour « arch/x86/entry/vsyscall/built-in.a ». Arrêt.
make[2]: *** [scripts/Makefile.build:497 : arch/x86/entry/vsyscall] Erreur 2
make[3]: *** Aucune règle pour fabriquer la cible « arch/x86/entry/vdso/vma.o », nécessaire pour « arch/x86/entry/vdso/built-in.a ». Arrêt.
make[2]: *** [scripts/Makefile.build:497 : arch/x86/entry/vdso] Erreur 2
make[1]: *** [scripts/Makefile.build:497 : arch/x86/entry] Erreur 2
make: *** [Makefile:1822 : arch/x86] Erreur 2
[root@alycanthe linux]# make all
CALL scripts/checksyscalls.sh
CALL scripts/atomic/check-atomics.sh
DESCEND objtool
CHK include/generated/compile.h
make[1]: *** Aucune règle pour fabriquer la cible « init/main.o », nécessaire pour « init/built-in.a ». Arrêt.
make: *** [Makefile:1822 : init] Erreur 2
Pierre Léonard

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Quels sont les modifications faites avant de lancer la compilation ?
Quel a été le processus ?
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Pierre_Léonard Membre non connecté
-
- Voir le profil du membre Pierre_Léonard
- Inscrit le : 02/09/2017
- Site internet
- Groupes :
le Makefile d'origine ne fonctionne pas du tout :
[root@alycanthe linux]# make oldconfig
make: rien à faire pour « oldconfig ».
Donc j'ai copié le Makefile de la version kernel-5.10.56-1.mga8, ainsi que le .config,
Et j'ai obtenu ce résultat.
Pierre Léonard

Pierre_Léonard Membre non connecté
-
- Voir le profil du membre Pierre_Léonard
- Inscrit le : 02/09/2017
- Site internet
- Groupes :
Il s'agit du noyau : linux -> kernel-5.10.56-desktop-1.mga8
et non pas du : kernel-5.13.8-desktop-1.mga8
Pierre Léonard
Pierre Léonard
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie