kernel/README.md
2024-05-16 20:32:25 +02:00

146 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```bash
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 :
```bash
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-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