4.6 KiB
4.6 KiB
Compilation de kernel pour serveur Debian avec processeur Intel
Récupération, décompression des sources du Kernel linux sur kernel.org, optimisation des réglages pour utilisation dans une VM ou en serveur.
Prérequis
- (Hyperviseur Proxmox)
- Machine hôte avec processeur Intel
- Système d’exploitation sous Debian
- Disposer du fichier de configuration noyeau de type Cloud
Usage
sudo bash kernel.sh [branch] [version] [compile]
- branch : la branche majeur du kernel
- version : la version du kernel à utiliser
- compile : optionnel, utilisé pour passer la récupération des sources et leur décompression
Exemple :
sudo bash kernel.sh 6.x 6.14.2
Résultats
- linux-headers-6.14.2-secure-clang-amd64_6.14.2-1_amd64.deb: 8.6 Mo
- linux-image-6.14.2-secure-clang-amd64-dbg_6.14.2-1_amd64.deb: 192 Mo
- linux-image-6.14.2-secure-clang-amd64_6.14.2-1_amd64.deb: 53 Mo
- linux-libc-dev_6.14.2-1_amd64.deb: 1.3 Mo
TODO
voir s'il est possible d'optimiser encore plus les disable/enable en restant stabletrouver comment rendre compatible le kernel pour une VM avec drivers Nvidia- ajouter le test de la signature du kernel après téléchargement
CHANGELOG
2025-04-24
- split 'debug' options in speparate file
- validated 'bare-metal' disabled options
2025-04-22
- try to find 'disable options' for a bare-metal kernel
2025-04-19
- Kernel 6.14.2 stable en bare metal Debian + NVIDIA
2025-04-15
- Kernel: 6.14.2
- Corrections, updates and improved error handling
2025-04-12
- Kernel: 6.14.1
- Correct for NVIDIA dkms driver support
2025-04-10
- Kernel: 6.14.1
- Cloud config: 6.12.21
2024-05-16
- 'NOP'
2024-05-07
- Ajout de CONFIG_MULTIUSER, CONFIG_TASKSTATS et CONFIG_TASK_XACCT pour Victoria Metrics
2024-05-06
- Ajout de CONFIG_TASK_IO_ACCOUNTING pour Victoria Metrics
2024-04-29
- Corrections bug de copier/coller (manque d'appel de doDownload & doUncompress)
- Suppression du paramètre STEPS
- Ajout du paramètre TARGET (afin de spécifier une distribution cible, ex: debian)
- Cibles de compilation: debian, ubuntu
- Corrections pour la compilation à destination d'Ubuntu
2024-04-26
- Gestion des versions du kernel
- Tag dans le nom du kernel définissant sécurisé/non sécurisé
2024-04-19
- Ajustements de la configuration RCU
- Ajustement des options de sécurité
2024-04-09
- Mise en place de dossiers spécifiques (configs, options, patches)
- Renommage de 'more uarch' et 'cloud-amd64'
- Déplacement des options dans des fichiers spécifiques (lisibilité du code et maintenance)
- Corrections cosmétiques (indentations, espaces...)
2024-03-20
- Suppression du 'Fast Kernel Headers' (provoque de nombreuses erreurs de compilation)
- Corrections de flags (empêchant notamement l'exécution de dmesg)
- Corrections de chemins
2024-03-19
- Corrections mineures
- Déplacement du dépôt
- Modification du répertoire de contruction (build)
2024-03-16
- Mise à jour Kernel 6.8.1
- Utilisation par défaut de Clang (fonctionnel y compris pour Nvidia)
- Désactication des mitigations par défaut
2024-03-11
- Mise à jour Kernel 6.8
- Mise à jour de la configuration du patch 'more uarch' (6.8-rc4+)
2024-03-02
- Modularisation des options par variable de conditionnement
- Ajout du 'Fast Kernel Headers' (désactivé pour le moment)
- Ajustment des options permettant l'installation de pilote Nvidia
- IPv6 remis (sinon certains conteneurs déconnent)
2024-02-23
- Correction de problèmes de configuration produisant un kernel défaillant
2024-02-22
- Mise à jour de la configuration du patch 'more uarch' (6.1.79-6.8-rc3)
- Compilation en modules par défaut
2024-02-10
- Mise à jour de la configuration cloud du kernel (config-cloud-amd64 v6.6.9)
- Retour au compilateur GCC par défaut (compatibilité)
- Correction de bugs liés aux _ACL et _XATTR (réactivation des options)
- Intégration des crypto dans le kernel
2024-01-07
- Mise à jour de la configuration cloud du kernel (config-cloud-amd64 v6.5.13)
- Mise à jour du patch pour ajouter des configurations processeurs (more-uarches-for-kernel.patch)
- Mise à jour et optimisation du script (kernel.sh)
- Passage de GCC à CLang pour les compilations
2023-11-30
- Amélioration des sélections dans les options (enable/disable)
- Ajout d'un flag TESTING conditionnant l'appel de la fonction doDefaultsTesting (pour tester d'autres options...)
2023-11-24
- Correction de bugs liés aux disable/enable (options du .config)
- Test ok avec v6.6.1 et v6.6.2 du kernel sur VM Debian sous Proxmox
2023-11-22
- Commit initial