From 82515ce03df5f0455e9b609958705604b351e8f3 Mon Sep 17 00:00:00 2001 From: Lucius Bachmann Date: Fri, 21 Jul 2023 18:03:21 +0200 Subject: [PATCH] + add wsl2 support --- ansible/playbook.yml | 3 +++ ansible/tasks/wsl-check-if-wsl.yml | 8 ++++++ docs/wsl2.md | 40 ++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 ansible/tasks/wsl-check-if-wsl.yml create mode 100644 docs/wsl2.md diff --git a/ansible/playbook.yml b/ansible/playbook.yml index f0b4bea..2c16d46 100644 --- a/ansible/playbook.yml +++ b/ansible/playbook.yml @@ -1,9 +1,12 @@ - hosts: all pre_tasks: + - ansible.builtin.include_tasks: tasks/wsl-check-if-wsl.yml - ansible.builtin.include_tasks: tasks/ubuntu_apt.yml - ansible.builtin.include_tasks: tasks/ubuntu_desktop.yml + when: not wsl_is_wsl - ansible.builtin.include_tasks: tasks/virtualbox_additions.yml + when: not wsl_is_wsl - ansible.builtin.include_tasks: tasks/basicsetup.yml - ansible.builtin.include_tasks: tasks/buildtools.yml - ansible.builtin.include_tasks: tasks/java.yml diff --git a/ansible/tasks/wsl-check-if-wsl.yml b/ansible/tasks/wsl-check-if-wsl.yml new file mode 100644 index 0000000..2f9c122 --- /dev/null +++ b/ansible/tasks/wsl-check-if-wsl.yml @@ -0,0 +1,8 @@ +- name: Check if running in wsl 2 + ansible.builtin.shell: uname -a | grep "WSL" + ignore_errors: true + changed_when: true + register: wsl_is_wsl_command +- name: Set facts if running in wsl + ansible.builtin.set_fact: + wsl_is_wsl: '{{ true if (wsl_is_wsl_command.rc == 0) else false }}' diff --git a/docs/wsl2.md b/docs/wsl2.md new file mode 100644 index 0000000..28ee4c2 --- /dev/null +++ b/docs/wsl2.md @@ -0,0 +1,40 @@ +WSL 2 +======= + +WSL 2 bietet die Möglichkeit, einen Linux-Kernel parallel zu Windows auszuführen. +Der Zugriff auf das Windows-Dateisystem ist möglich, jedoch etwas langsam. +Deshalb sollte man seine Dateien im WSL 2 Filesystem bearbeiten. +Mit den neuesten Versionen von Windows 10 und Windows 11 können auch +GUI-Anwendungen ausgeführt werden. +Es wird empfohlen, eine separate Ubuntu WSL 2 Instanz für den Jumpstart zu erstellen, +um mögliche Probleme mit anderen Projekten zu vermeiden, +falls du WSL2 bereits verwendest. + +!!! Achtung !!! +------------ + +Falls in einem Projekt schon eine VirtualBox VM verwendet wird, +kann dies zu Problemen führen. +In diesem Fall die Variante [VirtualBox](./virtualbox.md) +verwenden. + + +Installation +------------ + +1. WSL 2 über Windows Store installieren: [WSL 2 in Windows Store](https://www.microsoft.com/store/productId/9P9TQF7MRM4R) +2. \ + a. Falls noch keine WSL 2 Instanz da ist: Ubuntu über Windows Store installieren: [Ubuntu 22.04 in Windows Store](https://www.microsoft.com/store/productId/9PN20MSR04DW)\ + b. Sonst: Eine zusätzliche WSL 2 Instanz mit ubuntu 22 erstellen: \ +3. `git clone https://github.com/scs/jumpstart-vm.git` +4. `cd jumpstart-vm` +5. `./provision.sh`. Achtung: Dieser Schritt installiert sehr viele Pakete in der VM + und dauert entsprechend sehr lange. +6. Sicherstellen, dass systemd aktiviert ist: + ```bash + cat << 'EOF' | sudo tee /etc/wsl.conf + + [boot] + systemd=true + EOF + ```