Giter Club home page Giter Club logo

endeavouroswsl2's Introduction

Disclaimer

This project is in no way related to or created by the official EndeavourOS team or its members. It is solely a project of mine. Do not go around spamming the EndeavourOS forum if you come across any issues. You certainely won't receive any help. Mention your issues here and I'll try to find a solution.

EndeavourOS for WSL2

Running minimal EndeavourOS bootstrap on WSL2 (Windows 10 FCU or later) based on wsldl. This does not come with all the packages required to run a GUI ootb!!! You can take a look at this package list or use the built-in eos-packagelist command to install the required packages if you are interested in implementing GUI support. Even then, success is not guaranteed.

Screenshot-2022-07-26-063310.png Github All Releases GitHub release (latest by date) PRs Welcome License

Features and important information

EndeavourOSWSL2 has the following features during the installation stage.

  • Increase virtual disk size from the default 256GB
  • Create a new user and set the user as default
  • EndeavourOSWSL2 Supports systemd natively if you are running wsl v0.67.6 (more details here) and above. For earlier versions of wsl, systemd is supported using diddledani's one-script-wsl2-systemd. This is done automatically during initial setup.
  • EndeavourOSWSL2 includes a wsl.conf file which only has section headers. Users can use this file to configure the distro to their liking. You can read more about wsl.conf and its configuration settings here.

Requirements

  • For x64 systems: Version 1903 or higher, with Build 18362 or higher.
  • For ARM64 systems: Version 2004 or higher, with Build 19041 or higher.
  • Builds lower than 18362 do not support WSL 2.
  • If you are running Windows 10 version 2004 or higher, you can install all components required to run wsl2 with a single command. This will install ubuntu by default. More details are available here.
     wsl.exe --install
  • If you are running Windows 10 lower then version 2004, follow the steps below. For more details, check this microsoft document.
    • Enable Windows Subsystem for Linux feature.
     dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    • Enable Virtual Machine feature
     dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    • Download and install the latest Linux kernel update package from here.

How to install

  • Make sure all the steps mentioned under "Requirements" are completed.
  • Download installer zip
  • Extract all files in zip file to same directory
  • Set version 2 as default. Note that this step is required only for manual installation.
    wsl --set-default-version 2
    
  • Run EndeavourOS.exe to extract rootfs and register to WSL

Note: Exe filename is using the instance name to register. If you rename it you can register with a diffrent name and have multiple installs.

How to setup

EndeavourOSWSL2 will ask you to create a new user during its first run. If you choose to create a new user during the first run, the steps below are not required unless you want to create additional users.

Open EndeavourOS.exe and run the following commands.

passwd
useradd -m -g users -G wheel -s /bin/bash <username>
echo "%wheel ALL=(ALL) ALL" >/etc/sudoers.d/wheel
passwd <username>
exit

You can set the user you created as default user using 2 methods.

Open EndeavourOS.exe, run the following command (replace username with the actual username you created).

sed -i '/\[user\]/a default = username' /etc/wsl.conf

Shutdown and restart the distro (this step is important).

(or)

Execute the command below in a windows cmd terminal from the directory where EndeavourOS.exe is installed.

>EndeavourOS.exe config --default-user <username>

How to use installed instance

exe usage

Usage :
    <no args>
      - Open a new shell with your default settings.

    run <command line>
      - Run the given command line in that instance. Inherit current directory.

    runp <command line (includes windows path)>
      - Run the given command line in that instance after converting its path.

    config [setting [value]]
      - `--default-user <user>`: Set the default user of this instance to <user>.
      - `--default-uid <uid>`: Set the default user uid of this instance to <uid>.
      - `--append-path <true|false>`: Switch of Append Windows PATH to $PATH
      - `--mount-drive <true|false>`: Switch of Mount drives
      - `--default-term <default|wt|flute>`: Set default type of terminal window.

    get [setting]
      - `--default-uid`: Get the default user uid in this instance.
      - `--append-path`: Get true/false status of Append Windows PATH to $PATH.
      - `--mount-drive`: Get true/false status of Mount drives.
      - `--wsl-version`: Get the version os the WSL (1/2) of this instance.
      - `--default-term`: Get Default Terminal type of this instance launcher.
      - `--lxguid`: Get WSL GUID key for this instance.

    backup [contents]
      - `--tar`: Output backup.tar to the current directory.
      - `--reg`: Output settings registry file to the current directory.
	  - `--tgz`: Output backup.tar.gz to the current directory.
      - `--vhdx`: Output backup.ext4.vhdx to the current directory.
      - `--vhdxgz`: Output backup.ext4.vhdx.gz to the current directory.

    clean
      - Uninstall that instance.

    help
      - Print this usage message.

Run exe

>{InstanceName}.exe
[root@PC-NAME user]#

Run with command line

>{InstanceName}.exe run uname -r
4.4.0-43-Microsoft

Run with command line using path translation

>{InstanceName}.exe runp echo C:\Windows\System32\cmd.exe
/mnt/c/Windows/System32/cmd.exe

Change default user(id command required)

>{InstanceName}.exe config --default-user user

>{InstanceName}.exe
[user@PC-NAME dir]$

Set "Windows Terminal" as default terminal

>{InstanceName}.exe config --default-term wt

How to update

Updating EndeavourOSWSL2 doesn't require you to download and install a newer release everytime. Usually all it takes is to run the command below to update the instance.

$sudo pacman -Syu

Sometimes updates may fail to install. You can try the command below in such a situation.

$sudo pacman -Syyuu

You may need to install a newer release if additional features have been added/removed from the installer.

How to uninstall instance

>EndeavourOS.exe clean

How to backup instance

export to backup.tar.gz

>EndeavourOS.exe backup --tgz

export to backup.ext4.vhdx.gz

>EndeavourOS.exe backup --vhdxgz

How to restore instance

There are 2 ways to do it.

Rename the backup to rootfs.tar.gz and run EndeavourOS.exe

(or)

.tar(.gz)

>EndeavourOS.exe install backup.tar.gz

.ext4.vhdx(.gz)

>EndeavourOS.exe install backup.ext4.vhdx.gz

You may need to run the command below in some circumstances.

>EndeavourOS.exe --default-uid 1000

How to build from source

prerequisites

Docker, tar, zip, unzip, bsdtar need to be installed.

git clone [email protected]:sileshn/EndeavourOSWSL2.git
cd EndeavourOSWSL2
make

Copy the EndeavourOSWSL2.zip file to a safe location and run the command below to clean.

make clean

How to run docker in EndeavourOSWSL2 without using docker desktop

Install docker.

sudo pacman -S docker

Follow this blog post for further details on how to setup. Alternatively, if using systemd, use the commands below to setup and reboot.

sudo systemctl start docker.service
sudo systemctl enable docker.service
sudo usermod -aG docker $USER

Screenshot-2022-05-09-232847

endeavouroswsl2's People

Contributors

biswa96 avatar harryyoud avatar nils-werner avatar sileshn avatar sitiom avatar vinfall avatar yosukes-dev avatar yuk7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

sarvex

endeavouroswsl2's Issues

Systemd setup

Requirements

  • Yes
  • No

WSL Version

  • WSL 2
  • WSL 1

Version

Microsoft Windows [Version 10.0.19045.2604]

Kernel Version

5.15.79.1-microsoft-standard-WSL2

Repro Steps

  • setting .wslconfig in /mnt/c/Users/Timo/.wslconfig
  • restarting wsl with wsl.exe --shutdown
  • sudo systemctl start docker

Expected Behavior

It should start docker daemon

Actual Behavior

Failed to connect to bus: Connection refused

Tried some other things:

sudo systemctl  list-units                                                                       
Failed to connect to bus: Connection refused

sudo systemctl --user list-units                                                                   
Failed to connect to bus: No medium found

systemctl --user list-units                                                                      
Failed to list units: Process org.freedesktop.systemd1 exited with status 1

systemctl list-units                                                                              
Failed to connect to bus: Connection refused

systemctl --user status podman                                                                     
Failed to get properties: Process org.freedesktop.systemd1 exited with status 1

Can you tell me if this is something related to your distro? (awsome work by the way) Or is it some configuration issue on linux?

Help is highly appreciated. Thanks and keep up the good work!

WSLUtilities Unknown - failed to synchronize all databases (invalid or corrupted database (PGP signature))

Requirements

  • Yes
  • No

WSL Version

  • WSL 2
  • WSL 1

Version

Microsoft Windows [Version 10.0.19045.3086]

Kernel Version

Linux version 5.15.90.1-microsoft-standard-WSL2

Repro Steps

sudo pacman -Syu
[sudo] password for abcdef:
error: wslutilities: key "2D4C887EB08424F157151C493DD50AA7E055D853" is unknown
:: Import PGP key 2D4C887EB08424F157151C493DD50AA7E055D853? [Y/n] y
error: key "2D4C887EB08424F157151C493DD50AA7E055D853" could not be looked up remotely
:: Synchronizing package databases...
endeavouros 27.6 KiB 9.79 KiB/s 00:03 [----------------------------------------] 100% core is up to date
extra 8.3 MiB 1187 KiB/s 00:07 [----------------------------------------] 100% community is up to date
multilib 140.7 KiB 41.4 KiB/s 00:03 [----------------------------------------] 100% wslutilities 1153.0 B 1623 B/s 00:01 [----------------------------------------] 100%error: wslutilities: key "2D4C887EB08424F157151C493DD50AA7E055D853" is unknown
:: Import PGP key 2D4C887EB08424F157151C493DD50AA7E055D853? [Y/n] y
error: key "2D4C887EB08424F157151C493DD50AA7E055D853" could not be looked up remotely
error: failed to synchronize all databases (invalid or corrupted database (PGP signature))

Expected Behavior

pacman should update the repositories and the relevant packages.

Actual Behavior

Import PGP key 2D4C887EB08424F157151C493DD50AA7E055D853? [Y/n] y
error: key "2D4C887EB08424F157151C493DD50AA7E055D853" could not be looked up remotely
error: failed to synchronize all databases (invalid or corrupted database (PGP signature))

Unable to install

Requirements

  • Yes
  • No

WSL Version

  • WSL 2
  • WSL 1

Version

Microsoft Windows [Version 10.0.19045.4355]

Kernel Version

Default Version: 2

Repro Steps

  • download the release (tried both most recent and 1 version back)
  • extract to c:\wsl
  • run endeavouros.exe

Expected Behavior

EOS to be installed

Actual Behavior

Using: C:\wsl\rootfs.tar.gz
Installing...
ERR: Unspecified error
HRESULT: 0x80004005
Press enter to exit...

Exe file is not running

I tried to launch EndeavourOS.exe, but it terminates within a second. Any help will be appreciated.

can't install package

Requirements

  • Yes
  • No

WSL Version

  • WSL 2
  • WSL 1

Version

Microsoft Windows [Version 10.0.22621.1992]

Kernel Version

5.15.90.1-microsoft-standard-WSL2

Repro Steps

sudo pacman -S xorg-xwininfo
image
i had try to found the wslutilities, but i can't found it

Expected Behavior

of cause install xwininfo!!

Actual Behavior

image

Add GUI Support, It is easily implementable with VcXsrv

Requirements

  • Yes
  • No

WSL Version

  • WSL 2
  • WSL 1

Version


Kernel Version


Repro Steps

I have seen Kali Linux on WSL support GUI through VNC.

Kali Linux has a tool called kex which was added in one of 2020 releases, This win-kex tool somehow (I haven't checked how it works yet) runs TigerVNC and connects it to Kali environment
https://www.kali.org/docs/wsl/win-kex-sl/
And here is the utility:
https://sourceforge.net/projects/vcxsrv/

Expected Behavior

--

Actual Behavior

--

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.