{"id":13705579,"url":"https://github.com/Biswa96/WSLInstall","last_synced_at":"2025-05-05T16:33:22.630Z","repository":{"id":49584415,"uuid":"114983091","full_name":"Biswa96/WSLInstall","owner":"Biswa96","description":"Install any GNU/Linux userspace in WSL","archived":false,"fork":false,"pushed_at":"2020-10-23T14:48:53.000Z","size":84,"stargazers_count":254,"open_issues_count":2,"forks_count":28,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-11-11T20:51:27.689Z","etag":null,"topics":["bash-on-windows","windows-10","windows-subsystem-for-linux","windows-subsystem-linux","wsl"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Biswa96.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}},"created_at":"2017-12-21T08:41:37.000Z","updated_at":"2024-10-06T11:15:42.000Z","dependencies_parsed_at":"2022-09-15T09:43:38.965Z","dependency_job_id":null,"html_url":"https://github.com/Biswa96/WSLInstall","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Biswa96%2FWSLInstall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Biswa96%2FWSLInstall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Biswa96%2FWSLInstall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Biswa96%2FWSLInstall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Biswa96","download_url":"https://codeload.github.com/Biswa96/WSLInstall/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224455892,"owners_count":17314200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","windows-10","windows-subsystem-for-linux","windows-subsystem-linux","wsl"],"created_at":"2024-08-02T22:00:44.046Z","updated_at":"2024-11-13T13:30:42.918Z","avatar_url":"https://github.com/Biswa96.png","language":"C","funding_links":[],"categories":["C","Unofficial Distributions"],"sub_categories":["10. GUI Apps"],"readme":"# WSLInstall\n\nInstall any GNU/Linux distribution userspace in Windows Subsystem for Linux (WSL)\nwith compressed RootFS tarballs :package: (tar.gz) or\nwith Docker containers :whale: or with ISO files :cd: \n\n## Build\n\nClone this GitHub repository with this link https://github.com/Biswa96/WSLInstall.git .\nUse MSBuild (or mingw-w64) to make executable file from project file(.vcxproj).\nOr use the makefile in `WslFunctions` folder. The project file only provides x64-Release version. \n\n### Build wslapi export libraries:\n\n* Generate DEF file: `gendef /c/Windows/System32/wslapi.dll` \n* For MSVC: `lib /DEF:wslapi.def /MACHINE:X64` \n* For GCC: `dlltool -D /c/Windows/System32/wslapi.dll -d wslapi.def -l libwslapi.a` \n\nwslapi export library was added in latest mingw-64 toolchain. See this commits\nfor further details:\n\n* [wslapi export library](https://sourceforge.net/p/mingw-w64/mingw-w64/ci/bfd2db7ac52c48fb48a679f41b6e0ea6e815f047/)\n* [wslapi header file](https://sourceforge.net/p/mingw-w64/mingw-w64/ci/a04227bc74288284755304089f243989ae50c7e5/)\n\n## How to use\n\n### WslInstall: Installs GNU/Linux distributions \n\n1. First make a folder where you want to install that distribution,\nthat may be any partition of internal drives only. External drives are not supported now. \n2. Place both `WslInstall.exe` and `{distribution}.tar.gz` files in that same folder. \n3. Open command prompt in that folder and type the command like this:\n`WslInstall.exe \u003cdistro_name\u003e \u003cdistribution.tar.gz\u003e`. Always put a space\nbetween the two command arguments like between \u003cdistro_name\u003e and \u003cdistribution.tar.gz\u003e. \n4. After some seconds, that distribution will be installed. Confirm it with\n`wslconfig.exe /list /all` command. Also you may see a `rootfs` folder in that\ndirectory where you want to install.\n\n## How does it work\n\n* WslInstall: In the source code, the main function imports the\n[`WslRegisterDistribution`] function from `wslapi.dll` file. Then it passes\nthe provided two commandline arguments in `distroName` and in `tarGzFilename`\nstring parameters of that function respectively and the imported function\ninstalls that distribution. See details of [WSL Functions] and [WSL_DISTRIBUTION_FLAGS]. \n\n\n## Table Of Contents:\n\n* Docs:\n  - [Install any distribution in WSL](docs/Install_Distributions.md)\n  - [Install any desktop environment in WSL](docs/Install_Desktop_Environments.md)\n  - [List of distributions](docs/Distro_Links.md)\n  - [Make rootfs tarball](docs/Make_RootFS.md)\n  - [Chroot into ARMv8 64bit (AARCH64) distribution](docs/Chroot_ARM64_Linux_Distro.md)\n\n* Tools:\n  - DistroLink: Create a shortcut file aka. shell link with `\\\\wsl$` path.\n\n\n## Other repositories\n1. [LxRunoffline](https://github.com/DDoSolitary/LxRunOffline.git)\n2. [WSL-DistroLauncher](https://github.com/yuk7/WSL-DistroLauncher.git)\n3. [runnix](https://github.com/npyl/runnix.git)\n4. [miniwsl](https://github.com/0xbadfca11/miniwsl.git)\n5. [wslbridge](https://github.com/rprichard/wslbridge.git)\n\n\n## License\n\nThis project is licensed under GNU General Public License v3 or higher. See [LICENSE](LICENSE) for more details. You are free to study, change, modify the source code and make your own version and publish that. \n\n\u003c!--Links--\u003e\n\n[`WslRegisterDistribution`]: https://docs.microsoft.com/en-us/windows/desktop/api/wslapi/nf-wslapi-wslregisterdistribution\n[WSL Functions]: https://docs.microsoft.com/en-us/windows/desktop/api/wslapi/\n[WSL_DISTRIBUTION_FLAGS]: https://docs.microsoft.com/en-us/windows/desktop/api/wslapi/ne-wslapi-wsl_distribution_flags\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBiswa96%2FWSLInstall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBiswa96%2FWSLInstall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBiswa96%2FWSLInstall/lists"}