=====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 [[https://github.com/microsoft/WSL/issues/4210#issuecomment-648570493|WSL2 Set static ip?]] {{ :prog:wsl:wsl2_set_static_ip_issue_4210_microsoft_wsl_14_10_2022_10_05_02_.html |Archive du 21/06/2019 le 14/10/2022}} =====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 [[https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi|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 [[https://www.thomasmaurer.ch/2019/06/install-wsl-2-on-windows-10/|Install WSL 2 on Windows 10]] {{ :prog:wsl:install_wsl_2_on_windows_10_-_thomas_maurer_2020-07-07_16_54_08_.html |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 [[https://github.com/intel/compute-runtime/|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 [[https://devblogs.microsoft.com/commandline/oneapi-l0-openvino-and-opencl-coming-to-the-windows-subsystem-for-linux-for-intel-gpus/|OneAPI/L0, OpenVINO and OpenCL coming to the Windows Subsystem for Linux for Intel GPUs]] {{ :prog:wsl:oneapi_l0_openvino_and_opencl_coming_to_the_windows_subsystem_for_linux_for_intel_gpus_-_windows_command_line_20_10_2022_12_19_04_.html |Archive du 04/11/2021 le 20/10/2022}} [[https://www.intel.com/content/www/us/en/artificial-intelligence/harness-the-power-of-intel-igpu-on-your-machine.html|Harness the power of Intel iGPU on your machine]] {{ :prog:wsl:harness_the_power_of_intel_igpu_on_your_machine_20_10_2022_12_04_09_.html |Archive du 04/11/2021 le 20/10/2022}} [[https://github.com/intel/compute-runtime/releases/|Release 22.41.24420]] {{ :prog:wsl:releases_intel_compute-runtime_20_10_2022_12_33_50_.html |Archive du 14/10/2022 le 20/10/2022}} =====Distribution Gentoo===== ====Installation==== * Télécharger le [[https://gentoo.org/downloads/|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'' [wsl2] #kernel= memory=8GB #processors= #swap=8GB #swapFile= localhostForwarding=true * Lancer la console Gentoo : ''wsl ~ -d Gentoo'' ====Configuration==== ===Créer / remplacer les fichiers=== [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 : nameserver 8.8.8.8 nameserver 8.8.4.4 * Quitter la console Gentoo : ''exit'' * Redémarrer la VM : ''%%wsl --shutdown%%'' puis ''wsl ~ -d Gentoo'' * Vérifier que la connexion Internet fonctionne : ''ping 8.8.8.8'' * Vérifier que le DNS fonctionne : ''ping www.lemonde.fr'' # 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 [[https://developer.moe/gentoo-on-wsl-2|Running Gentoo on Window 10 WSL 2]] {{ :prog:wsl:gentoo_on_windows_10_wsl_2_2020-07-10_09_49_57_.html |Archive du 11/2020 le 10/07/2020}} Vous devez impérativement utiliser WSL 2 avec des drivers [[https://developer.nvidia.com/cuda/wsl|NVIDIA]] ({{ :prog:wsl:gpu_in_windows_subsystem_for_linux_wsl_nvidia_developer_2022-05-28_23_07_57_.html |archive du 2022 le 28/05/2022}}) à jour et [[https://docs.microsoft.com/en-us/windows/ai/directml/gpu-cuda-in-wsl|Windows 10 21H2 / Windows 11]] ({{ :prog:wsl:enable_nvidia_cuda_on_wsl_2_microsoft_docs_2022-05-28_23_09_00_.html |archive du 14/02/2022 le 28/05/2022}}). ===Configure des options de compilation=== 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 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 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/12sg/012sg/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 [[https://wiki.gentoo.org/wiki/CPU_FLAGS_X86|CPU_FLAGS_X86]] {{ :prog:wsl:cpu_flags_x86_-_gentoo_wiki_2020-07-11_12_08_09_.html |Archive du 29/03/2020 le 11/07/2020}} [[https://wiki.gentoo.org/wiki/Upgrading_GCC|Upgrading GCC]] {{ :prog:wsl:upgrading_gcc_-_gentoo_wiki_2020-07-11_12_02_22_.html |Archive du 10/04/2020 le 11/07/2020}} ====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 [[https://github.com/microsoft/WSL2-Linux-Kernel/releases|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_entetes_du_noyau|Installation des entêtes du noyau]]. ===Paquets=== emerge --sync layman -S sed -i "s/12sg/012sg/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 --backtrace=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