kernel/README.md

3.9 KiB
Raw Blame History

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 dexploitation 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 stable
  • trouver 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

  • 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

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