Récapitulatif des commandes que vous devrez saisir pour construire un noyau WSL2, créer un fichier VHDX contenant les modules, et configurer le fichier .wslconfig
pour utiliser ce noyau personnalisé.
-
Cloner le Dépôt du Noyau WSL2 :
git clone https://github.com/microsoft/WSL2-Linux-Kernel.git cd WSL2-Linux-Kernel
-
Installer les Dépendances de Construction :
sudo apt update sudo apt install build-essential flex bison dwarves libssl-dev libelf-dev cpio qemu-utils
-
Modifier les Configurations du Noyau (Optionnel) :
make menuconfig KCONFIG_CONFIG=Microsoft/config-wsl
-
Construire le Noyau et Installer les Modules :
make -j$(nproc) KCONFIG_CONFIG=Microsoft/config-wsl && make INSTALL_MOD_PATH="$PWD/modules" modules_install
-
Créer un VHDX pour les Modules :
sudo ./Microsoft/scripts/gen_modules_vhdx.sh "$PWD/modules" modules.vhdx
-
Nettoyer les Artéfacts de Compilation (Optionnel) :
make clean && rm -r "$PWD/modules"
Si vous préférez créer le VHDX manuellement, voici les commandes :
- Calculer la Taille des Modules en octets et afficher leur taille en Mo :
modules_size=$(du -s "$PWD/modules" | awk '{print $1;}') modules_size=$((modules_size * 1024 + 1024)) echo "Taille des modules : $modules_size_mb Mo"
1.1. Conversion de la talle en mégaoctets
modules_size_mb=$((modules_size / 1024 / 1024))
-
Créer un Fichier d'Image Vide avec une jauge de progression :
dd if=/dev/zero of="$PWD/modules.img" bs=100M count=$((modules_size / (100 * 1024 * 1024) + 1)) status=progress
-
Configurer le Système de Fichiers et Monter le Fichier d'Image :
lo_dev=$(sudo losetup --find --show "$PWD/modules.img") sudo mkfs -t ext4 "$lo_dev" mkdir -p "$PWD/modules_img" sudo mount "$lo_dev" "$PWD/modules_img"
-
Copier les Modules dans l'Image Montée :
sudo cp -r "$PWD/modules" "$PWD/modules_img"
-
Démonter l'Image :
sudo umount "$PWD/modules_img"
-
Convertir l'Image en VHDX :
qemu-img convert -O VHDX "$PWD/modules.img" "$PWD/modules.vhdx"
-
Nettoyer (Optionnel) :
rm modules.img # Optionnel : supprimer le répertoire des modules # rm -r "$PWD/modules"
-
Créer ou Modifier le Fichier
.wslconfig
: Ouvrez ou créez le fichier.wslconfig
dans votre répertoire utilisateur Windows (par exemple,C:\Users\VotreNomUtilisateur\.wslconfig
) et ajoutez le contenu suivant :[wsl2] kernel=C:\\Users\\VotreNomUtilisateur\\path\\to\\WSL2-Linux-Kernel\\arch\\x86\\boot\\bzImage
Remplacez
C:\\Users\\VotreNomUtilisateur\\path\\to\\WSL2-Linux-Kernel\\arch\\x86\\boot\\bzImage
par le chemin correct vers le noyau que vous avez construit.
Ces commandes vous guideront à travers le processus de construction d'un noyau WSL2, de création d'un fichier VHDX pour les modules, et de configuration de votre environnement pour utiliser ce noyau personnalisé. Si vous avez des questions ou avez besoin d'aide supplémentaire, n'hésitez pas à demander !