Skip to content
/ wsldl Public
forked from yuk7/wsldl

Advanced WSL installer / launcher. (Win10 FCU 64bit or later.)

License

Notifications You must be signed in to change notification settings

alekstj/wsldl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wsldl

General Purpose WSL Distribution Installer & Launcher

screenshot

Travis (.org) AppVeyor Github All Releases PRs Welcome License

💻Requirements

  • Windows 10 1709 Fall Creators Update 64bit or later.
  • Windows Subsystem for Linux feature is enabled.

📦Install with prebuilt rootfs

1. Download installer zip

Alpine Linux

Alpine Linux with Git-LFS and Sphinx (by binarylandscapes)

Amazon Linux 2 (by yosukes-dev)

Arch Linux

Artix Linux (by hdk5)

CentOS

CentOS (by fbigun)

Clear Linux (by wight554)

Fedora (by yosukes-dev)

Red hat(UBI) (by yosukes-dev)

Void Linux (glibc) (by am11)

Void Linux (musl-libc) (by am11)

2. Extract all files in zip file to same directory

3.Run exe to Extract rootfs and Register to WSL

Exe filename is using to the instance name to register. If you rename it, you can register with a different name.

🔧Install with any rootfs

2. Rename it for distribution name to register.

(Ex:Rename to Arch.exe if you want to use "Arch" for the Instance name)

3. Put your rootfs.tar.gz in same directory as exe (Installation directory)

4. Run exe to install. This process may take a few minutes.

Note: You can distribute your distribution including wsldl exe.

📝How-to-Use(for 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 distro. Inherit current directory.

    runp <command line (includes windows path)>
      - Run the path translated command line in that distro.

    config [setting [value]]
      - `--default-user <user>`: Set the default user for this distro to <user>
      - `--default-uid <uid>`: Set the default user uid for this distro to <uid>
      - `--append-path <on|off>`: Switch of Append Windows PATH to $PATH
      - `--mount-drive <on|off>`: Switch of Mount drives

    get [setting]
      - `--default-uid`: Get the default user uid in this distro
      - `--append-path`: Get on/off status of Append Windows PATH to $PATH
      - `--mount-drive`: Get on/off status of Mount drives
      - `--lxguid`: Get WSL GUID key for this distro

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

    clean
      - Uninstall the distro.

    help
      - Print this usage message.

Just 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 with 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]$

How to uninstall instance

>{InstanceName}.exe clean

🛠How-to-Build

Windows

Visual Studio or Build Tools 2017+

Use Developer Command Prompt for Visual Studio or run these in the Windows Command Prompt

:: locate VS base installation path using vswhere
SET vswherePath=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe
FOR /F "tokens=*" %i IN ('
      "%vswherePath%" -latest -prerelease -products *               ^
        -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ^
        -property installationPath'
      ) DO SET vsBase=%i

:: initialize x64 build environment
CALL "%vsBase%\vc\Auxiliary\Build\vcvarsall.bat" x64

To compile Launcher.exe

cl /nologo /O2 /W4 /WX /Ob2 /Oi /Oy /Gs- /GF /Gy /Tc main.c /Fe:Launcher.exe Advapi32.lib Shell32.lib shlwapi.lib

Optionally, to add an icon to the exe, create and link a resource with

SET YourDistroName=Fedora

:: create resources
rc /nologo res\%YourDistroName%\res.rc

:: compile to %YourDistroName%.exe
cl /nologo /O2 /W4 /WX /Ob2 /Oi /Oy /Gs- /GF /Gy /Tc main.c /Fe:%YourDistroName%.exe ^
  Advapi32.lib Shell32.lib shlwapi.lib res\%YourDistroName%\res.res

MinGW

Install x86_64 version of MSYS2(https://www.msys2.org).

Run these commands in msys shell

$ pacman -S mingw-w64-x86_64-toolchain # install tool chain
$ gcc -std=c99 --static -lshlwapi main.cpp -o Launcher.exe # compile main.c

Optionally, to add an icon to the exe, create and link a resource with

YourDistroName=Fedora
$ windres res/$YourDistroName/res.rc res.o # compile resource
$ gcc -std=c99 --static -lshlwapi main.cpp -o Launcher.exe res.o # compile main.cpp

Linux (cross compile)

Install mingw-w64 toolchain include gcc-mingw-w64-x86-64.

Run this command in shell

 $ x86_64-w64-mingw32-gcc -std=c99 --static -lshlwapi main.c -o Launcher.exe # compile main.c

📄License

MIT

Copyright (c) 2017-2020 yuk7

About

Advanced WSL installer / launcher. (Win10 FCU 64bit or later.)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 100.0%