Skip to content

Commit

Permalink
V 14.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Mohsens22 committed Apr 7, 2021
1 parent e94aa1a commit c3a4481
Show file tree
Hide file tree
Showing 61 changed files with 55 additions and 23 deletions.
40 changes: 37 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,43 @@

# Slackware for Windows Subsystem for Linux (WSL)

WSLackware is a version of Slackware optimized for Windows Subsystem for Linux on Windows 10 and Windows 10 Server.
WSLackware is a version of Slackware for Windows Subsystem for Linux on Windows 10 and Windows 10 Server.

WSLackware comes with almost no major modifications comparing to upstream Slackware and the binaries come directly from official Slackware repositories, however WSLackware it's stripped down a bit and added small tweaks to work well with WSL.
WSLackware 14.2 comes with almost NO modifications comparing to upstream Slackware and the binaries come directly from official Slackware repositories, however WSLackware it's stripped down to achieve less hard drive footprint and provide a liteweight Linux experience while keeping essential tools.

WSLackware is NOT maintained and indorsed by official Slackware developers (yet) and it's supported on a community-based basis.

## Installation

Make sure ...
- [WSL is configured for your Windows 10 device](https://docs.microsoft.com/en-us/windows/wsl/install-win10)
- Developer mode is on. For that, Go to Settings / Update and Security / For Developers -> Developer mode, then toggle it on.
- Powershell scripts can be executed on your device. For that, Go to Settings / Update and Security / For Developers -> Powershell, select everything and apply.

### Method 1 (recommended)

Go to your version of choice from [releases page](https://github.com/Mohsens22/WSLackware/releases), then from assets download `WSLackware_xx.x.xx.x.Appx.zip`, then extract it, from the extracted files right click on `Install.ps1` and select *Run with Powershell*. Wait a few seconds, it will install.

You can also use [Windows Device Portal](https://docs.microsoft.com/en-us/windows/uwp/debug-test-perf/device-portal) or [App Installer](https://www.microsoft.com/en-us/p/app-installer/9nblggh4nns1) to install this package.

### Method 2 (advanced)

Go to your version of choice from [releases page](https://github.com/Mohsens22/WSLackware/releases), then from assets download `install.tar.gz`, then open a windows terminal,cmd or powershell in this directory and type `wsl.exe --import <DistributionName> <InstallLocation> <FileName>`, where:

- <DistributionName> is the name of your distro, you can set it to WSLackware
- <InstallLocation> is the directory that you waana save your rootfs
- <FileName> is the path to install.tar.gz

example: `wsl.exe --import WSlackware c:\WSlackware .\install.tar.gz`

Wait a few seconds, it will install.

> Note: [With this technique](https://docs.microsoft.com/en-us/windows/wsl/reference) you can install many instanced of the same distro.
### After installation

After installation, in the first run it will configure and setup your WSL just like other distros. You will be asked for username and password. If it took long, be patient. It might take a while depending on your device.

## About

We brought Slackware to Windows because be believed that it's the perfect distro for WSL. Firstly because of the simplicity of the init system and the whole OS in general and high-performance binaries it contains; and we hope one day this project gets supported by official Slackware developers.
Expand All @@ -21,9 +52,12 @@ We brought Slackware to Windows because be believed that it's the perfect distro

- Patrick Volkerding and Slackware community for making this distro
- Microsoft for WSL and distro launcher
- PNGEgg for the Logo

#### Contrubutors

- [Reza Talebi](https://github.com/Rezat4795) - Distro fine-tuning and integration
- [Mohsen Seifi](https://github.com/Mohsens22) - Distro launcher and WSL integration

### Contributing

You can [send us issues](https://github.com/Mohsens22/WSLackware/issues) and let us know about bugs, feature requests or anything that we need to know.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" IgnorableNamespaces="uap mp uap2 uap3 rescap desktop">
<Identity Name="WSLackware" Version="15.0.15.0" Publisher="CN=Mohsens22" ProcessorArchitecture="x64" />
<Identity Name="WSLackware14" Version="14.2.4.0" Publisher="CN=Mohsens22" ProcessorArchitecture="x64" />
<mp:PhoneIdentity PhoneProductId="160867c6-4e75-4e36-85c6-1543de07d5f3" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
<Properties>
<DisplayName>WSLackware</DisplayName>
<DisplayName>WSLackware14</DisplayName>
<PublisherDisplayName>Mohsens22</PublisherDisplayName>
<Logo>Assets\Tiles\StoreLogo.png</Logo>
</Properties>
Expand All @@ -17,9 +17,9 @@
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="WSLackware" Executable="WSLackware.exe" EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements DisplayName="WSLackware" Square150x150Logo="Assets\Tiles\Square150x150Logo.png" Square44x44Logo="Assets\Tiles\Square44x44Logo.png" BackgroundColor="transparent" Description="Slackware for Windows">
<uap:DefaultTile Wide310x150Logo="Assets\Tiles\Wide310x150Logo.png" Square310x310Logo="Assets\Tiles\LargeTile.png" Square71x71Logo="Assets\Tiles\SmallTile.png" ShortName="WSLackware">
<Application Id="WSLackware14" Executable="WSLackware14.exe" EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements DisplayName="WSLackware 14.2" Square150x150Logo="Assets\Tiles\Square150x150Logo.png" Square44x44Logo="Assets\Tiles\Square44x44Logo.png" BackgroundColor="transparent" Description="Slackware for Windows">
<uap:DefaultTile Wide310x150Logo="Assets\Tiles\Wide310x150Logo.png" Square310x310Logo="Assets\Tiles\LargeTile.png" Square71x71Logo="Assets\Tiles\SmallTile.png" ShortName="WSLackware 14.2">
<uap:ShowNameOnTiles>
<uap:ShowOn Tile="square150x150Logo"/>
<uap:ShowOn Tile="wide310x150Logo"/>
Expand All @@ -29,9 +29,9 @@
<uap:SplashScreen Image="Assets\Tiles\SplashScreen.png" />
</uap:VisualElements>
<Extensions>
<uap3:Extension Category="windows.appExecutionAlias" Executable="WSLackware.exe" EntryPoint="Windows.FullTrustApplication">
<uap3:Extension Category="windows.appExecutionAlias" Executable="WSLackware14.exe" EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="WSLackware.exe" />
<desktop:ExecutionAlias Alias="WSLackware14.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.18362.0</WindowsTargetPlatformMinVersion>
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
<TargetName>WSLackware</TargetName>
<TargetName>WSLackware14</TargetName>
<ProjectName>WSLackware</ProjectName>
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
</PropertyGroup>
Expand Down
9 changes: 1 addition & 8 deletions src/WSLackwareLauncher/DistroLauncher/DistributionInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,7 @@ bool DistributionInfo::CreateUser(std::wstring_view userName)
g_wslApi.WslLaunchInteractive(commandLine.c_str(), true, &exitCode);
return false;
}
//set password
commandLine = L"cp /tmp/.bashrc /home/";
commandLine += userName;
commandLine += L"/.profile";
hr = g_wslApi.WslLaunchInteractive(commandLine.c_str(), true, &exitCode);
if ((FAILED(hr)) || (exitCode != 0)) {
return false;
}




Expand Down
4 changes: 2 additions & 2 deletions src/WSLackwareLauncher/DistroLauncher/DistributionInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ namespace DistributionInfo
//
// WARNING: This value must not change between versions of your app,
// otherwise users upgrading from older versions will see launch failures.
const std::wstring Name = L"WSLackware";
const std::wstring Name = L"WSLackware14";

// The title bar for the console window while the distribution is installing.
const std::wstring WindowTitle = L"Slackware for Windows";
const std::wstring WindowTitle = L"Slackware 14.2 for Windows";

// Create and configure a user account.
bool CreateUser(std::wstring_view userName);
Expand Down
5 changes: 5 additions & 0 deletions src/WSLackwareLauncher/DistroLauncher/DistroLauncher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ HRESULT InstallDistribution(bool createUser)
return hr;
}

hr = g_wslApi.WslLaunchInteractive(L"echo \"%wheel ALL=(ALL) ALL\" >> /etc/sudoers", true, &exitCode);
if (FAILED(hr)) {
return hr;
}

// Create a user account.
if (createUser) {
Helpers::PrintMessage(MSG_CREATE_USER_PROMPT);
Expand Down
Binary file modified src/WSLackwareLauncher/DistroLauncher/MSG00409.bin
Binary file not shown.
Binary file modified src/WSLackwareLauncher/DistroLauncher/images/icon.ico
Binary file not shown.
Binary file modified src/WSLackwareLauncher/DistroLauncher/images/icon.png
2 changes: 1 addition & 1 deletion src/WSLackwareLauncher/DistroLauncher/messages.h
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@
//
// MessageText:
//
// Installing WSLackware, this may take a few minutes...
// Installing WSLackware 14.2, this may take a few minutes...
//
#define MSG_STATUS_INSTALLING 0x000003EEL

Expand Down
2 changes: 1 addition & 1 deletion src/WSLackwareLauncher/DistroLauncher/messages.mc
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Usage:
MessageId=1006 SymbolicName=MSG_STATUS_INSTALLING
Language=English
Installing WSLackware, this may take a few minutes...
Installing WSLackware 14.2, this may take a few minutes...
.
MessageId=1007 SymbolicName=MSG_INSTALL_SUCCESS
Expand Down

0 comments on commit c3a4481

Please sign in to comment.