From 58fc7ed00bf7f739f06aa949d83782b57237e5a6 Mon Sep 17 00:00:00 2001 From: AlexSSD7 Date: Sat, 2 Sep 2023 20:54:58 +0100 Subject: [PATCH] Progress writing README --- INSTALL_MACOS.md | 51 +++++++++++++++++++++++++++++++++++++++++++ INSTALL_WINDOWS.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 39 +++++++++++++++++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 INSTALL_MACOS.md create mode 100644 INSTALL_WINDOWS.md create mode 100644 README.md diff --git a/INSTALL_MACOS.md b/INSTALL_MACOS.md new file mode 100644 index 0000000..6cecd1c --- /dev/null +++ b/INSTALL_MACOS.md @@ -0,0 +1,51 @@ +# Linsk installation instructions for macOS + +Here you will find the instructions on how you can install Linsk on macOS. + +# Prerequisites + +Linsk aims to have minimal dependencies. In this section, you can find the instructions to install the required dependencies. + +## QEMU +QEMU powers the Linsk's virtual machine. This is the sole requirement. + +The easiest way to install QEMU on macOS is to use `brew` package manager. +```sh +brew install qemu +``` + +## (Optional) Go +**OPTIONAL:** You need to install Go only if you want to use `go install` installation method or build Linsk from the bare Git repository. + +You can find the installer on Go's official website: https://go.dev/dl/. + +# Installation + +## Using Go's `go install` +Assuming that you have an existing Go installation, you should be able to access the `go install` command which will build the project from source and put it to `$GOPATH/bin` directory. By default, `$GOPATH` is `$HOME/go`. + +You can run the following command to build and install Linsk: +```sh +go install github.com/AlexSSD7/linsk +``` + +After that, you should be able to run `linsk`, or `~/go/bin/linsk` if you have not added `~/go/bin` to `$PATH`. + +## Package managers + +//TODO. + +## Prebuilt binaries + +//TODO. + +## Build from Source +Clone the repository using `git` and run `go build` to build the Linsk binary. + +```sh +git clone https://github.com/AlexSSD7/linsk +cd linsk +go build +``` + +After that is done, you will be able to find the `linsk` binary in the same directory you ran `go build` in. \ No newline at end of file diff --git a/INSTALL_WINDOWS.md b/INSTALL_WINDOWS.md new file mode 100644 index 0000000..30c7050 --- /dev/null +++ b/INSTALL_WINDOWS.md @@ -0,0 +1,54 @@ +# Linsk installation instructions for Windows + +Here you will find the instructions on how you can install Linsk on Windows. + +# Prerequisites + +Linsk aims to have minimal dependencies. In this section, you can find the instructions to install the required dependencies. + +## QEMU +QEMU powers the Linsk's virtual machine. + +The easiest way to install QEMU on Windows is to use the official installer binaries. You can find them here: https://www.qemu.org/download/#windows. + +## OpenVPN Tap Networking Drivers +Linsk takes use of OpenVPN's tap networking drivers to allow for direct host-VM communication over a virtual network. + +The easiest way to get these drivers is to use OpenVPN Community installer: https://openvpn.net/community-downloads/. + +## (Optional) Go +**OPTIONAL:** You need to install Go only if you want to use `go install` installation method or build Linsk from the bare Git repository. + +You can find the installer on Go's official website: https://go.dev/dl/. + +# Installation + +## Using Go's `go install` + +Assuming that you have an existing Go installation, you should be able to access the `go install` command which will build the project from source and put it to `%GOPATH%\bin` folder. By default, `%GOPATH%` is `%USERPROFILE%\go`. + +You can run the following command to build and install Linsk: +```sh +go install github.com/AlexSSD7/linsk +``` + +After that, you should be able to run `linsk`, or `%USERPROFILE%\go\bin\linsk.exe` if you have not added `%USERPROFILE%\go\bin` to PATH. + +## Package managers + +//TODO. + +## Prebuilt binaries + +//TODO. + +## Build from Source +Clone the repository using `git` and run `go build` to build the Linsk binary. + +```sh +git clone https://github.com/AlexSSD7/linsk +cd linsk +go build +``` + +After that is done, you will be able to find the `linsk.exe` binary in the same folder you ran `go build` in. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..05cf63c --- /dev/null +++ b/README.md @@ -0,0 +1,39 @@ +# Linsk + +Linsk is a utility that allows you to access Linux-native file system infrastructure, including LVM and LUKS on Windows and macOS. Unlike other solutions created to access Linux filesystems on unsupported operating systems, Linsk does not reimplement any file system. Instead, Linsk utilizes a lightweight Alpine Linux VM (~130 MB only) combined with network share technologies like SMB, AFP, and FTP. + +Because Linsk uses a native Linux VM, there are no limitations on what you can access. Anything that works on Linux will work under Linsk too (hence the Linux+Disk name). + +# Installation +//TODO + +# Contributing + +//TODO: Make it a separate .md file. + +Contributions are the most welcome. Anything including small fixes is greatly appreciated. + +Please keep your new code consistent with the existing and follow the best practices writing Go code. Before committing, please make sure that your code passes the linting & security scanning suite. + +To install linting tools, execute the following commands: +```sh +make lint-deps +make security-check-deps +``` + +After that, you will be able to run the linter and the security scanning tool. +```sh +make lint +make security-check +``` + +# Copyright and License + +Copyright (c) 2023 The Linsk Authors. + +Provided under the GNU General Public License v3. The copy of the license is included in the LICENSE file. + +Use this `git` command to view the list of Linsk Authors: +```sh +git log --format='%aN <%aE>' | sort -uf +```