{"id":26164842,"url":"https://github.com/sileshn/soluswsl2","last_synced_at":"2026-05-05T07:04:39.471Z","repository":{"id":62961025,"uuid":"256214713","full_name":"sileshn/SolusWSL2","owner":"sileshn","description":"Solus for WSL2 using wsldl","archived":true,"fork":false,"pushed_at":"2025-11-01T02:18:54.000Z","size":2825,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-26T19:41:16.512Z","etag":null,"topics":["bash-on-windows","solus","windows-subsystem-linux","wsl2","wsldl"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sileshn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-04-16T12:54:53.000Z","updated_at":"2026-01-01T04:05:54.000Z","dependencies_parsed_at":"2024-06-06T02:58:39.479Z","dependency_job_id":"e808b3a3-90f5-441a-9027-de42a2b68c57","html_url":"https://github.com/sileshn/SolusWSL2","commit_stats":null,"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/sileshn/SolusWSL2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sileshn%2FSolusWSL2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sileshn%2FSolusWSL2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sileshn%2FSolusWSL2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sileshn%2FSolusWSL2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sileshn","download_url":"https://codeload.github.com/sileshn/SolusWSL2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sileshn%2FSolusWSL2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32365321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash-on-windows","solus","windows-subsystem-linux","wsl2","wsldl"],"created_at":"2025-03-11T15:57:02.797Z","updated_at":"2026-05-05T07:04:39.431Z","avatar_url":"https://github.com/sileshn.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SolusWSL2\nSolus on WSL2 (Windows 10 FCU or later) based on [wsldl](https://github.com/yuk7/wsldl)\n\n[![Screenshot-2023-08-04-032944.png](https://i.postimg.cc/28dP1Gx2/Screenshot-2023-08-04-032944.png)](https://postimg.cc/MvTs4yNQ)\n[![Github All Releases](https://img.shields.io/github/downloads/sileshn/SolusWSL2/total.svg?style=flat-square)](https://github.com/sileshn/SolusWSL2/releases) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) \n[![License](https://img.shields.io/github/license/sileshn/SolusWSL2.svg?style=flat-square)](https://raw.githubusercontent.com/sileshn/SolusWSL2/main/LICENSE)\n\n## Features and important information\nSolusWSL2 may display errors while installing packages. This is due to [usysconf](https://github.com/getsolus/packages/tree/main/packages/u/usysconf) running post installation triggers. It doesn't affect the normal functioning of SolusWSL2 afaik.\n\nYou need a kernel with apparmor support for proper functioning of SolusWSL2. The standard wsl kernel doesn't include apparmor. You can find more information on how to compile and load a custom kernel [here](https://github.com/Fubuchi/SolusWSL-usysconf-fix?tab=readme-ov-file#compile-wsl2-kernel-with-apparmor-enable).\n\nSolusWSL2 has the following features during the installation stage.\n* Increase virtual disk size from the default 256GB\n* Create a new user and set the user as default\n* Supports systemd natively if you are running wsl v0.67.6 (more details [here](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/)) and above. You will need the [store version of wsl](https://apps.microsoft.com/store/detail/windows-subsystem-for-linux-preview/9P9TQF7MRM4R) for native systemd support. For previous versions of wsl, systemd is supported using diddledani's [one-script-wsl2-systemd](https://github.com/diddledani/one-script-wsl2-systemd). This is done automatically during initial setup.\n\nSolusWSL2 includes a wsl.conf file which only has [section headers](https://i.postimg.cc/MZ4DC1Fw/Screenshot-2022-02-02-071533.png). Users can use this file to configure the distro to their liking. You can read more about wsl.conf and its configuration settings [here](https://docs.microsoft.com/en-us/windows/wsl/wsl-config).\n\n## Requirements\n* For x64 systems: Version 1903 or higher, with Build 18362 or higher.\n* For ARM64 systems: Version 2004 or higher, with Build 19041 or higher.\n* Builds lower than 18362 do not support WSL 2.\n* 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](https://devblogs.microsoft.com/commandline/install-wsl-with-a-single-command-now-available-in-windows-10-version-2004-and-higher/).\n\t```cmd\n\twsl.exe --install\n\t```\n* If you are running Windows 10 lower then version 2004, follow the steps below. For more details, check [this](https://docs.microsoft.com/en-us/windows/wsl/install-manual) microsoft document.\n\t* Enable Windows Subsystem for Linux feature.\n\t```cmd\n\tdism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart\n\t```\n\t* Enable Virtual Machine feature\n\t```cmd\n\tdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart\n\t```\n\t* Download and install the latest Linux kernel update package from [here](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi).\n\n## How to install\n* Make sure all the steps mentioned under \"Requirements\" are completed.\n* [Download](https://github.com/sileshn/SolusWSL2/releases/latest) installer zip\n* Extract all files in zip file to same directory\n* Set version 2 as default. Note that this step is required only for manual installation.\n  ```dos\n  wsl --set-default-version 2\n  ```\n* Run Solus.exe to extract rootfs and register to WSL\n\n**Note:**\nExe filename is using the instance name to register. If you rename it you can register with a diffrent name and have multiple installs.\n\n## How to setup\nOpen Solus.exe and run the following commands.\n```dos\npasswd\nsed -i 's#\\# %wheel ALL=(ALL) ALL#%wheel ALL=(ALL) ALL#g' /etc/sudoers\nuseradd -m -G wheel -s /bin/bash \u003cusername\u003e\npasswd \u003cusername\u003e\nexit\n```\nExecute the command below in a windows cmd terminal from the directory where Solus.exe is installed.\n```dos\n\u003eSolus.exe config --default-user \u003cusername\u003e\n```\n\n## How to use installed instance\n#### exe Usage\n```\nUsage :\n    \u003cno args\u003e\n      - Open a new shell with your default settings.\n        Inherit current directory (with exception that %%USERPROFILE%% is changed to $HOME).\n\n    run \u003ccommand line\u003e\n      - Run the given command line in that instance. Inherit current directory.\n\n    runp \u003ccommand line (includes windows path)\u003e\n      - Run the given command line in that instance after converting its path.\n\n    config [setting [value]]\n      - `--default-user \u003cuser\u003e`: Set the default user of this instance to \u003cuser\u003e.\n      - `--default-uid \u003cuid\u003e`: Set the default user uid of this instance to \u003cuid\u003e.\n      - `--append-path \u003ctrue|false\u003e`: Switch of Append Windows PATH to $PATH\n      - `--mount-drive \u003ctrue|false\u003e`: Switch of Mount drives\n      - `--wsl-version \u003c1|2\u003e`: Set the WSL version of this instance to \u003c1 or 2\u003e\n      - `--default-term \u003cdefault|wt|flute\u003e`: Set default type of terminal window.\n\n    get [setting [value]]\n      - `--default-uid`: Get the default user uid in this instance.\n      - `--append-path`: Get true/false status of Append Windows PATH to $PATH.\n      - `--mount-drive`: Get true/false status of Mount drives.\n      - `--wsl-version`: Get the version os the WSL (1/2) of this instance.\n      - `--default-term`: Get Default Terminal type of this instance launcher.\n      - `--wt-profile-name`: Get Profile Name from Windows Terminal\n      - `--lxguid`: Get WSL GUID key for this instance.\n\n    backup [file name]\n      - `*.tar`: Output backup tar file.\n      - `*.tar.gz`: Output backup tar.gz file.\n      - `*.ext4.vhdx`: Output backup ext4.vhdx file. (WSL2 only)\n      - `*.ext4.vhdx.gz`: Output backup ext4.vhdx.gz file. (WSL2 only)\n      - `*.reg`: Output settings registry file.\n\n    clean\n      - Uninstall that instance.\n\n    help\n      - Print this usage message.\n```\n\n#### Just Run exe\n```cmd\n\u003eSolus.exe\n[root@PC-NAME user]#\n```\n\n#### Run with command line\n```cmd\n\u003eSolus.exe run uname -r\n4.4.0-43-Microsoft\n```\n\n#### Run with command line with path translation\n```cmd\n\u003eSolus.exe runp echo C:\\Windows\\System32\\cmd.exe\n/mnt/c/Windows/System32/cmd.exe\n```\n\n#### Change Default User(id command required)\n```cmd\n\u003eSolus.exe config --default-user user\n\n\u003eSolus.exe\n[user@PC-NAME dir]$\n```\n\n#### Set \"Windows Terminal\" as default terminal\n```cmd\n\u003eSolus.exe config --default-term wt\n```\n\n## How to uninstall instance\n```dos\n\u003eSolus.exe clean\n\n```\n\n## How to backup instance\nexport to backup.tar.gz (WSL1 or 2)\n```cmd\n\u003eSolus.exe backup backup.tar.gz\n```\nexport to backup.ext4.vhdx.gz  (WSL2 only)\n```cmd\n\u003eSolus.exe backup backup.ext4.vhdx.gz\n```\n\n## How to restore instance\n\nThere are 2 ways to do it. \n\nRename the backup to rootfs.tar.gz and run Solus.exe\n\n(or)\n\n.tar(.gz)\n```cmd\n\u003eSolus.exe install backup.tar.gz\n```\n.ext4.vhdx(.gz)\n```cmd\n\u003eSolus.exe install backup.ext4.vhdx.gz\n```\n\nYou may need to run the command below in some circumstances.\n```cmd\n\u003eSolus.exe --default-uid 1000\n```\n\n## How to build\n#### Prerequisites\n\nDocker, tar, zip, unzip need to be installed.\n\nIf you want to build using solus unstable profile, checkout the unstable branch.\n```dos\ngit clone git@gitlab.com:sileshn/SolusWSL2.git\ncd SolusWSL2\nmake\n\n```\nCopy the Solus-main.zip file to a safe location and run the command below to clean.\n```dos\nmake clean\n\n```\n\n## How to install \u0026 run docker in SolusWSL2 without using docker desktop\nInstall docker binaries. Note that installing docker from solus repos doesn't work as the latest version in solus is 19.03.14. We need 20.10 versions and above.\n```dos\nsudo eopkg it -y wget\nwget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.6.tgz\ntar xzvf docker-20.10.6.tgz\nsudo cp docker/* /usr/bin/\n\n```\nYou can now delete the downloaded files if needed.\n```dos\nrm -rf docker\nrm docker-20.10.6.tgz\n\n```\n\nTo manage docker as a non-root user, create and add user to docker group. \n```dos\nsudo groupadd docker\nsudo usermod -aG docker $USER\n\n```\n\nFollow [this](https://blog.nillsf.com/index.php/2020/06/29/how-to-automatically-start-the-docker-daemon-on-wsl2/) blog post for further setup instructions.\n\n[![Screenshot-2021-02-18-120518.png](https://i.postimg.cc/7YqVpBqP/Screenshot-2021-02-18-120518.png)](https://postimg.cc/V5HntWS2)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsileshn%2Fsoluswsl2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsileshn%2Fsoluswsl2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsileshn%2Fsoluswsl2/lists"}