MacMusic  |  PcMusic  |  440 Software  |  440 Forums  |  440TV  |  Zicos
wsl
Search

How to easily update Windows Subsystem for Linux 2’s kernel

Monday November 11, 2024. 04:30 PM , from PC World
There are many open source programs (aka code that’s accessible to the public) out there for both Linux and Windows. For programs and tools where that’s not the case, WSL (Windows Subsystem for Linux) is the ideal solution for using Linux programs on Windows computers. This means that you don’t have to start Linux first and can use the Linux program in the currently active Windows.

Programs in WSL run slower than under native Linux, but it’s not always noticeable. Microsoft is also continuing to work on improvements that will be incorporated into the Linux kernel. A newer kernel can therefore speed up WSL.

WSL kernel and virtualization

In WSL 2, the Linux kernel runs on a hypervisor (Hyper-V), similar to its Linux counterpart KVM/Qemu. The kernel offers functions to ensure communication between the guest and host systems. This concerns, for example, the shared use of the main memory and CPU management. The program code for this comes primarily from Microsoft.




get windows 11 pro for cheap




Windows 11 Pro












Price When Reviewed:

199.99




Best Prices Today:


$59 at PCWorld Store – Win 11 Pro Upgrade Only |
$79.99 at PCWorld Software Store







For Linux users, newer kernels offer support for newer hardware and performance optimizations. Microsoft also regularly optimizes the Hyper-V code in the kernel, but the hardware drivers hardly play a role in WSL because the virtual hardware always remains the same. However, there are drivers that are required for certain applications such as network block devices (nbd), which can be used to mount virtual hard disks in VHD format, for example.

Install WSL and check the version

Powershell, Command Prompt, and WSL can be used conveniently in the Windows terminal. It’s available by default in Windows 11, but Windows 10 users need to install it via the Microsoft Store.

In Powershell, install WSL with the following code:

wsl --install -d Ubuntu-24.04

To call up the available distributions, enter the code below and then restart Windows:

wsl --list --online

After logging in, a Linux terminal will open and notify you when the installation is complete. You will then be asked to enter a user name and password for the Linux account. Update the Ubuntu system with:

sudo apt update && sudo apt upgrade

In the Windows terminal, start Linux via the menu that appears after clicking on the arrow button next to the tabs. In Powershell, determine the WSL version with:

wsl -l -v

If a 1 appears in the Version column for an older installation, update the version with these two lines:

wsl --set-default-version 2
wsl --set-default [Distribution]

Replace the placeholder [Distribution] with the name of the distribution.

Creating a new kernel for WSL 2

Step 1: Start Linux in WSL and install some developer packages with:

sudo apt install build-essential flex bison dwarves libssl-dev libelf-dev libncurses-dev git

Step 2: Create a working directory and download the source code (four lines):

mkdir kernel
cd kernel
git clone https://github.com/microsoft/WSL2-Linux-Kernel.git --depth=1 -b linux-msft-wsl-6.6.y
cd WSL2-Linux-Kernel

Adjust the kernel version if necessary.

Step 3: With the following line of code, you can give the kernel its own name:

scripts/config --file Microsoft/config-wsl --set-str LOCALVERSION '-custom-microsoft-standard-WSL2'

If you wish, you can use this line of code to call up the configuration editor and make your own customizations:

make menuconfig KCONFIG_CONFIG=Microsoft/config-wsl




Configuring the WSL kernel: The kernel configuration can be edited via “menuconfig”. The entry for “Local version” helps to differentiate between kernel versions.
IDG

Step 4: Create the kernel with:

echo 'yes' | make -j $(nproc) KCONFIG_CONFIG=Microsoft/config-wsl

Install the modules with:

sudo make KCONFIG_CONFIG=Microsoft/config-wsl modules_install

Step 5: In Windows Explorer, call up the Linux environment via the entry below Linux in the navigation area. Copy the vmlinux file from your home directory to the Windows user profile in the WSL folder (C:Users[username]WSL).

Step 6: Under Windows, create the.wslconfig file in your profile folder. Enter these two lines into it:

[wsl2]
kernel=C:Users[username]WSLvmlinux

Replace the placeholder [username] with your user name.

In Powershell, terminate all running WSL instances with:

wsl --shutdown

If you start Linux in the Windows subsystem for Linux, the following command shows the version of the new kernel:

uname -a
https://www.pcworld.com/article/2509595/windows-subsystem-for-linux-wsl-2-how-to-easily-update-the-k...

Related News

News copyright owned by their original publishers | Copyright © 2004 - 2024 Zicos / 440Network
Current Date
Dec, Sun 22 - 16:03 CET