Table des matières
Installation
- Sous PowerShell (Admin) :
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
- Définir une adresse IP
Cette étape ne doit être faite que si WSL
définit une adresse IP non compatible avec le réseau Ethernet.
Pour connaître l'adresse IP depuis Linux, lancer ip a
. Côté Windows, lancer ipconfig
.
Il n'est pas possible de définir une adresse IP statique sur WSL
. Mais il est possible d'en ajouter une.
Commencer par redémarrer l'ordinateur pour que l'interface réseau vEthernet (WSL)
ne soit pas définie. Exécuter en ligne de commande avec droits administrateur :
wsl -d "Ubuntu-22.04" -u root ip addr add 172.20.0.176/16 dev eth0 label eth0:1 netsh interface ip add address "vEthernet (WSL)" 172.20.0.177 255.255.0.0
Distribution Ubuntu
- Installer la distribution Linux le Windows Store : https://docs.microsoft.com/en-us/windows/wsl/install-manual
- Lancer l'installation de la distribution depuis le Windows Store en cliquant sur Lancer.
- Vérifier la version de WSL utilisé :
wsl -l -v
Rendu :
NAME STATE VERSION * Ubuntu Stopped 1
Ici, on utilise la version 1.
- Passage à la version 2 :
wsl --set-version Ubuntu 2
Le message doit s'afficher :
La conversion est en cours. Cette opération peut prendre quelques minutes... Pour plus d’informations sur les différences de clés avec WSL 2, visitez https://aka.ms/wsl2 La conversion est terminée.
Si le message d'erreur apparaît :
WSL 2 nécessite une mise à jour de son composant noyau. Pour plus d’informations, visitez https://aka.ms/wsl2kernel
Installer la mise à jour de WSL 2 puis relancer la commande de changement de version.
- Utiliser la défaut la version 2 :
wsl --set-default-version 2
Install WSL 2 on Windows 10 Archive du 13/06/2019 le 07/07/2020
Lancement
La ligne de commande est identique à celle de la distribution.
- Lancement
wsl ~ -d Ubuntu
- Disques dur
Ils sont dans /mnt/
.
- Première utilisation
apt update apt upgrade
Configuration spécial WSL
- OpenGL
Pour avoir le support GPU / OpenGL, il suffit d'installer les derniers drivers NVIDIA récents.
- OpenCL
OpenCL n'est supporté pour le moment que par Intel.
Il faut installer les paquets ocl-icd-libopencl1
et ocl-icd-opencl-dev
ainsi que les drivers spécifiques à Intel. Il ne faut pas que intel-opencl-icd
soit installé depuis les dépôts Ubuntu.
Si l'installation des drivers spécifiques n'est pas fait, le programme risque de planter au premier appel de la fonction cl*
.
apt install ocl-icd-libopencl1 ocl-icd-opencl-dev cd /tmp/neo wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.12260.1/intel-igc-core_1.0.12260.1_amd64.deb wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.12260.1/intel-igc-opencl_1.0.12260.1_amd64.deb wget https://github.com/intel/compute-runtime/releases/download/22.41.24420/intel-level-zero-gpu-dbgsym_1.3.24420_amd64.ddeb wget https://github.com/intel/compute-runtime/releases/download/22.41.24420/intel-level-zero-gpu_1.3.24420_amd64.deb wget https://github.com/intel/compute-runtime/releases/download/22.41.24420/intel-opencl-icd-dbgsym_22.41.24420_amd64.ddeb wget https://github.com/intel/compute-runtime/releases/download/22.41.24420/intel-opencl-icd_22.41.24420_amd64.deb wget https://github.com/intel/compute-runtime/releases/download/22.41.24420/libigdgmm12_22.2.0_amd64.deb sudo dpkg -i *.deb
OneAPI/L0, OpenVINO and OpenCL coming to the Windows Subsystem for Linux for Intel GPUs Archive du 04/11/2021 le 20/10/2022
Harness the power of Intel iGPU on your machine Archive du 04/11/2021 le 20/10/2022
Distribution Gentoo
Installation
- Télécharger le stage 3.
- Décompresser le
.xz
mais garder le.tar
. wsl.exe --import "Gentoo" gentoo_folder stage3-amd64.tar --version 2
- Créer le fichier
c:\Users\YOURUSERNAME\.wslconfig
- /mnt/c/Users/YOURUSERNAME/.wslconfig
[wsl2] #kernel= memory=8GB #processors= #swap=8GB #swapFile= localhostForwarding=true
- Lancer la console Gentoo :
wsl ~ -d Gentoo
Configuration
Créer / remplacer les fichiers
- /etc/wsl.conf
[network] generateResolvConf = false [automount] enabled = true options = "metadata" mountFsTab = false
Vérifier si le fichier /etc/resolv.conf
est un lien symbolique ou un fichier. Si c'est un lien symbolique, vérifier son contenu et supprimer le lien. Puis éditer le fichier avec le contenu ci-dessous :
- /etc/resolv.conf
nameserver 8.8.8.8 nameserver 8.8.4.4
- Quitter la console Gentoo :
exit
- Redémarrer la VM :
wsl --shutdown
puiswsl ~ -d Gentoo
- Vérifier que la connexion Internet fonctionne :
ping 8.8.8.8
- Vérifier que le DNS fonctionne :
ping www.lemonde.fr
- /etc/portage/make.conf
# These settings were set by the catalyst build script that automatically # built this stage. # Please consult /usr/share/portage/config/make.conf.example for a more # detailed example. COMMON_FLAGS="-march=native -O0 -ggdb2 -g2 -pipe -fno-omit-frame-pointer" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" LDFLAGS="-Wl,--as-needed -Wl,-O0" USE="X gtk -nls -doc -rdoc -alsa gmp threads openmp" VIDEO_CARDS="nvidia" FEATURES="-ipc-sandbox -pid-sandbox -mount-sandbox -network-sandbox splitdebug noclean compressdebug" ACCEPT_KEYWORDS="~amd64" ACCEPT_LICENSE="*" MAKEOPTS="-j8" EMERGE_DEFAULT_OPTS="-j8 --load-average=8" CHOST="x86_64-pc-linux-gnu" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby30" # NOTE: This stage was built with the bindist Use flag enabled PORTDIR="/var/db/repos/gentoo" DISTDIR="/var/cache/distfiles" PKGDIR="/var/cache/binpkgs" # This sets the language of build output to English. # Please keep this setting intact when reporting bugs. LC_MESSAGES=C
Running Gentoo on Window 10 WSL 2 Archive du 11/2020 le 10/07/2020
Vous devez impérativement utiliser WSL 2 avec des drivers NVIDIA (archive du 2022 le 28/05/2022) à jour et Windows 10 21H2 / Windows 11 (archive du 14/02/2022 le 28/05/2022).
Configure des options de compilation
- /etc/portage/package.use
sys-devel/llvm gold sys-devel/gdb source-highlight net-libs/nodejs system-icu sys-devel/clang-runtime -abi_x86_32 sys-libs/libomp -abi_x86_32 dev-lang/php curl
- /etc/portage/package.env
sys-devel/clang-runtime prod sys-devel/clang-common prod sys-devel/clang prod sys-devel/llvm-common prod sys-devel/llvm prod sys-devel/llvmgold prod sys-libs/compiler-rt prod sys-libs/compiler-rt-sanitizers prod sys-libs/libomp prod sys-devel/gcc prod
- /etc/portage/env/prod
COMMON_FLAGS="${COMMON_FLAGS} -O2 -g0 -fomit-frame-pointer" CFLAGS="${COMMON_FLAGS} -O2 -g0 -fomit-frame-pointer" CXXFLAGS="${COMMON_FLAGS} -O2 -g0 -fomit-frame-pointer" FCFLAGS="${COMMON_FLAGS} -O2 -g0 -fomit-frame-pointer" FFLAGS="${COMMON_FLAGS} -O2 -g0 -fomit-frame-pointer" LDFLAGS="${LDFLAGS} -Wl,-O2"
Installation des entêtes du noyau
Exécuter uname -r
pour connaître le numéro de version. Ici : 5.4.72-microsoft-standard-WSL2
.
Récupérer alors les sources associées.
cd /usr/src/ wget https://github.com/microsoft/WSL2-Linux-Kernel/archive/refs/tags/linux-msft-5.4.72.tar.gz tar xvzf linux-msft-5.4.72.tar.gz mv WSL2-Linux-Kernel-linux-msft-5.4.72 linux cd linux cp /proc/config.gz . gunzip config.gz mv config .config
portage
proposera toujours d'installer gentoo-sources
. Il suffira de ne jamais faire de eselect kernel set X
.
Mettre à jour le système la première fois
emerge --sync emerge -1va portage emerge -va eix gentoolkit emerge -1 cpuid2cpuflags -va echo "*/* $(cpuid2cpuflags)" >> /etc/portage/package.use emerge -C cpuid2cpuflags eselect profile list eselect profile set default/linux/amd64/xx.x/systemd sed -i "s/123szg/0123szg/g" /var/db/repos/gentoo/eclass/flag-o-matic.eclass eix-update emerge --oneshot --deep -va sys-devel/gcc gcc-config --list-profiles gcc-config 2 source /etc/profile emerge --oneshot --usepkg=n -va sys-devel/libtool binutils binutils-config -l binutils-config 2 source /etc/profile # Update all packages with the newly built compiler # This will take a long time, ~1-5 hours emerge --oneshot --emptytree --deep --keep-going -va @world emerge --oneshot --deep --keep-going -va @preserved-rebuild emerge --ask --depclean
Mise à jour
Noyau
Pour savoir la version du noyau de la VM, lancer : uname -a
.
Pour savoir la dernière version du noyau existant, aller dans le dépôt Github de WSL2-Linux-Kernel et vérifier la dernière version disponible.
Lancer la mise à jour avec wsl --update
.
Arrêter wsl
. Faire exit
depuis WSL. Faire wsl --shutdown
pour arrêter les machines virtuelles.
Relancer la machine virtuelle avec wsl ~ -d Gentoo
.
Mettre à jour les entêtes conformément au paragraphe Installation des entêtes du noyau.
Paquets
emerge --sync layman -S sed -i "s/123szg/0123szg/g" /var/db/repos/gentoo/eclass/flag-o-matic.eclass eix-update # Update rapide emerge -1vuDaN --keep-going @world # Update long mais plus complet et gérant mieux les conflits. emerge --backtrack=30 --update --deep --newuse --keep-going -va --autounmask-keep-masks --with-bdeps=y --complete-graph=y --autounmask-write --verbose-conflicts @world emerge -va --keep-going @live-rebuild emerge --oneshot --keep-going @preserved-rebuild emerge --ask --depclean eclean-dist -d
Commandes spécifiques
- Monter un lecteur amovible
Un lecteur amovible ne sera pas détecté comme du “plug and play”.
Pour monter le nouveau lecteur :
mount -t drvfs f: /mnt/f