WSL-Distribution-Switcher icon indicating copy to clipboard operation
WSL-Distribution-Switcher copied to clipboard

how do we run alpine?

Open biax opened this issue 7 years ago • 12 comments

get-prebuilt alpine:edge

it has no bash, how exactly do we start ?

biax avatar May 12 '17 01:05 biax

while at it, if you don't mind, do verify if archlinux/voidlinux are working on creators update.

i was only able to install ubuntu zesty. nothing else worked. i managed to install greyltc/archlinux but behavior is weird. example: i press backspace, i get a space instead.

biax avatar May 12 '17 03:05 biax

Regarding the strange terminal behaviour, perhaps you are also suffering from issue #50.

ghost avatar Jun 12 '17 20:06 ghost

I don't think this project is being maintained anymore. I haven't heard from Roli in months.

fpqc avatar Jun 20 '17 15:06 fpqc

Sorry about the radio silence. I was focused on some personal stuff and getting my OSCP. But I did all of those now, and after this weekend's vacation, I should be back in full force.

There are already a few things I wanted to implement in the project, so keep in the lookout for updates.

Recently, Microsoft announced they'll support Fedora and other distributions through the Windows Store. We'll have to wait and see how they implement the switching or if they'll offer a way to run multiple distributions at once, I'll try to mimick/support what they do, in order to have better user experience with the script.

RoliSoft avatar Jun 20 '17 19:06 RoliSoft

@RoliSoft I got it for you:

https://github.com/Microsoft/BashOnWindows/issues/2212#issuecomment-309774202

Read from my comment down =).

Not sure how long they're going to support legacy method %localappdata%\lxss , but the new registration method uses the AppX bridge (project centennial) together with some privately released kit that they're planning to open up to noncommercial distros sooner or later.

As long as they support the legacy location (install Ubuntu 16.04 Legacy with lxrun /install), your script should work without much modification, but if they move to an AppX-only model (removing legacy support), you'll have to integrate some self-signing appX tech and also require people to download the AppX bridge SDK probably (or you could remove and replace the AppX's package directory of another distro).

fpqc avatar Jun 20 '17 20:06 fpqc

The self-signed AppX will probably only be useful if we want to support wslconfig /register.

Other than that, I don't suppose they'll store the rootfs in some encrypted store, so we should be able to completely replace the default distro's rootfs, regardless where the location is.

And if they do store it encrypted, I've seen distributions switched while OS is booted (e.g. someone did it on DigitalOcean to install Arch on an active Debian image, after Arch was discontinued) so we should be fine. (Although Windows behaves differently with opened/locked files, I'm not 100% sure performing this stunt will work under WSL.)

RoliSoft avatar Jun 20 '17 20:06 RoliSoft

@RoliSoft the store is not encrypted, I even gave the path for it in OpenSuse. That's why I said "(or you could remove and replace the AppX's package directory of another distro)".

fpqc avatar Jun 20 '17 20:06 fpqc

@RoliSoft Sorry for bothering here but can you approve my pull request? I believe it makes things much easier for users of your package by fixing resolution issues.

SRGOM avatar Jul 14 '17 06:07 SRGOM

@SRGOM Sorry about that, will review it today and approve it.

RoliSoft avatar Jul 14 '17 08:07 RoliSoft

No worries. Whenever you have time. If it helps you review, the change is in the hook script and adds a single comment to /etc/resolv.conf (when WSL sees that comment, it copies Windows' DNS resolution)

SRGOM avatar Jul 22 '17 03:07 SRGOM

Good news on the this front. I looked at the new insider builds, and it seems that there is a new API to list, install and uninstall distributions. Furthermore, they are pretty easy: wslapi.dll's WslRegisterDistribution(const wchar_t *distributionName, const wchar_t *tarGzFilename) function will take care of everything, including extracting the .tar.gz properly.

Thankfully the openSUSE distribution came with a non-stripped .exe and a .pdb, so I was able to get a lot of information out of it on how it interacts with the new API.

I will soon update the script to use these APIs and register each new distribution as a "proper" distribution in WSL.

RoliSoft avatar Aug 05 '17 19:08 RoliSoft

hahaha, holy shit. That's amazing! Can you even extract and register distros put in any old location?

fpqc avatar Aug 06 '17 03:08 fpqc