Script de compilation du Kernel pour VM Debian
https://infos.zogg.fr/tags/kernel/
configs | ||
options | ||
patches | ||
.gitignore | ||
kernel.sh | ||
LICENSE | ||
README.md |
Compilation de kernel pour VM 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.
Prérequis
- Hyperviseur Proxmox
- Machine hôte avec processeur Intel
- Système d’exploitation pour VM 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.8.1
Résultats
- linux-headers-6.8.1-clang-amd64_6.8.1-1_amd64.deb : 8.5 Mo
- linux-image-6.8.1-clang-amd64-dbg_6.8.1-1_amd64.deb : 194 Mo
- linux-image-6.8.1-clang-amd64_6.8.1-1_amd64.deb : 22 Mo
- linux-libc-dev_6.8.1-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
2024-04-29
- Suppression du paramètre STEPS
- Ajout du paramètre TARGET (afin de spécifier une distribution cible, ex: debian)
- Cibles de compilation: debian, 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