Рейтинг:-1

Будет ли wsl работать с новым родным ядром Ubuntu?

В настоящее время я работаю под wsl2 в дистрибутиве 21.10, ядро 5.10.60.1-Майкрософт-Стандарт-WSL2.

Что произойдет, если я продолжу и установлю один из основные ядра ubuntu там?

muru avatar
флаг us
Как вы вообще заставите WSL использовать его?
მამუკა ჯიბლაძე avatar
@muru Так он просто сразу вылетит или что?
muru avatar
флаг us
https://falco.org/blog/falco-wsl2-custom-kernel/ показывает, что кто-то работает с 5.10, в то время как WSL2 все еще был на 5.4, так что, предположительно, это может работать. Попробуй сам.
флаг us
Вам это действительно нужно?
მამუკა ჯიბლაძე avatar
@ArchismanPanigrahi Ну, поскольку сам wsl имеет 20.04 как последний доступный дистрибутив, я полагаю, что ядро ​​​​Microsoft ориентировано на него, поэтому я подумал, что более новое ядро ​​будет лучше работать для 21.10, не так ли?
флаг us
`новое ядро ​​будет лучше работать с 21.10` -- Новые ядра лучше совместимы с новым оборудованием. В остальном это практически не имеет значения.И WSL похож на виртуальную машину, ему все равно не нужно много взаимодействовать с оборудованием.
Рейтинг:2
флаг vn

В лучшем случае вы получите крайне неоптимизированную систему WSL. В худшем просто не запустится.

Я пытался (нерешительно) запустить 5.15 ядро под WSL:

  • Скачал и установил .deb
  • Скопировано vmlinuz-5.15.0-051500-общий в каталог в моем профиле пользователя Windows
  • Отредактировал мой %userprofile%\.wslconfig чтобы добавить соответствующий указатель ядра
  • wsl --shutdown

Попытка запустить любой из моих экземпляров WSL (любой дистрибутив) не удалась. Нет ошибки, просто заблокировал wsl команду, пока я не выдал другую wsl --shutdown в другом сеансе PowerShell.

Я говорю «нерешительно», потому что я мог бы пойти дальше. Глядя на существующие ядра WSL, они кажутся несжатыми. Так что я мог бы попытаться распаковать ядро ​​Ubuntu.

Но, тем не менее, у меня просто не было больших надежд на то, что это окупится (или будет очень полезным).

Обратите внимание, что Microsoft поддерживает свои собственные Репозиторий ядра WSL2 с изменениями, необходимыми для оптимизации для WSL2. По крайней мере, .config сильно отличается от стандартной конфигурации ядра Ubuntu. Я потратил немного времени на сканирование вимдифф из двух из любопытства, но я ни в коем случае не эксперт в настройке ядра.

Такие вещи, как виртуализация, уже включены в стандартном ядре Ubuntu, так что это не проблема. Но одна вещь, которая мне запомнилась, это то, что стандартное ядро ​​Ubuntu, конечно же, требует физического или даже виртуального «железа», поддерживающего управление питанием. WSL нет. Там нет «Включение», «Приостановка» и т. Д. Если подсистема управления питанием (ACPI) переводит систему в спящий режим при WSL, «пробуждение» невозможно.

Между ними существует огромное количество других различий. Я уверен, что многие из них являются оптимизациями (или даже требованиями) на стороне WSL.

Кстати, кажется, что есть является немного более новая версия ядра, поставляемого Microsoft. На прошлой неделе был выпущен линукс-msft-wsl-5.10.74.3. Он должен быть доступен в ближайшее время для wsl --обновить (или через автоматические обновления Windows). Или вы можете скачать и скомпилировать самостоятельно из предоставленного источника.

მამუკა ჯიბლაძე avatar
Я очень благодарен за ваши усилия. Теперь я знаю, что не должен пробовать это сам. Тем не менее, остается вероятность того, что если кто-то скомпилирует ядро ​​​​из самого wsl, как описано в [ссылке] (https://falco.org/blog/falco-wsl2-custom-kernel/), предоставленной комментарием @muru выше , или сказать [здесь](https://sypalo.com/how-to-upgrade-ubuntu), результаты будут менее разочаровывающими...
მამუკა ჯიბლაძე avatar
Извините, я более внимательно изучил свою собственную ссылку, там не происходит компиляции, просто устанавливается файл `.deb`, как вы это сделали.
NotTheDr01ds avatar
флаг vn
@áááá£ááá¯ááááá«á Правильно, ключевая строка на веб-сайте Falco: ` wget https://raw.githubusercontent.com/microsoft/WSL2-Linux-Kernel/7015d6023d60b29c3be4c6a398bed923b48b4341/Microsoft/config-wsl -O .config`. Это втягивает в процесс оптимизированный Microsoft `.config`. На самом деле сборку ядра можно выполнить практически из любой системы, если вы используете правильную комбинацию конфигураций. Просто для ясности: `.config` — это параметры конфигурации ядра, тогда как `.wslconfig` — это файл, который указывает WSL2 использовать другое ядро ​​(и другие параметры).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.