yuk7 / AlpineWSL

Alpine Linux based WSL distribution. Supports multi-install. Lightest WSL distribution.
https://git.io/alpwsl
MIT License
541 stars 48 forks source link
alpine-linux windows-10 windows-subsystem-linux wsl wsldl

AlpineWSL

Alpine Linux on WSL (Windows 10 1803 or later) based on wsldl

screenshot

GitHub Workflow Status Github All Releases PRs Welcome License

Download

Requirements

Install

1. Download installer zip

2. Extract all files in zip file to same directory

3.Run Alpine.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 and have multiple installs.

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 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.

    clean
      - Uninstall that instance.

    help
      - Print this usage message.

How to uninstall instance

>Alpine.exe clean

How-to-Build

AlpineWSL can build on GNU/Linux or WSL.

curl,bsdtar,tar(gnu) and sudo is required for build.

$ make

with flags:

$ make ARCH=arm64 OUT_ZIP=Alpine_arm64.zip

Basic Params

Parameter Value Default
ARCH x64/arm64 x64
LNCR_EXE launcher file name Alpine.exe
OUT_ZIP zip file name Alpine.zip
DLR file downloader curl
DLR_FLAGS downloader flags -L
BASE_URL base rootfs url https:~
ROOTFS_TARBALL_CKSM_URL sha-sum for the base rootfs tarball https:~