Skip to content

Commit

Permalink
Release 2.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
meefik committed Aug 25, 2018
1 parent 577b2f0 commit e612cda
Show file tree
Hide file tree
Showing 18 changed files with 757 additions and 992 deletions.
825 changes: 0 additions & 825 deletions CHANGELOG

This file was deleted.

633 changes: 633 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

70 changes: 34 additions & 36 deletions README.md
@@ -1,33 +1,31 @@
Linux Deploy
============
# Linux Deploy

Copyright (C) 2012-2018 Anton Skshidlevsky, [GPLv3](http://opensource.org/licenses/gpl-3.0.html)
Copyright (C) 2012-2018 Anton Skshidlevsky, [GPLv3](https://github.com/meefik/linuxdeploy/blob/master/LICENSE)

This application is open source software for quick and easy installation of the operating system (OS) GNU/Linux on your Android device.

The application creates a disk image on a flash card, mounts it and installs an OS distribution. Applications of the new system are run in a chroot environment and working together with the Android platform. All changes made on the device are reversible, i.e. the application and components can be removed completely. Installation of a distribution is done by downloading files from official mirrors online over the internet. The application requires superuser rights (ROOT).

The program supports multi language interface. You can manage the process of installing the OS, and after installation, you can start and stop services of the new system (there is support for running your scripts) through the UI. The installation process is reported as text in the main application window. During the installation, the program will adjust the environment, which includes the base system, SSH server, VNC server and desktop environment. The program interface can also manage SSH and VNC settings.

Installing a new operating system takes about 30 minutes. The recommended minimum size of a disk image is 1024 MB (with LXDE), and without a GUI - 512 MB. When you install Linux on the flash card with the FAT32 file system, the image size should not exceed 4095 MB! After the initial setup the password for SSH and VNC generated automatically. The password can be changed through "Properties -> User password" or standard OS tools (passwd, vncpasswd).
Installing a new operating system takes about 15 minutes. The recommended minimum size of a disk image is 1024 MB (with LXDE), and without a GUI - 512 MB. When you install Linux on the flash card with the FAT32 file system, the image size should not exceed 4095 MB! After the initial setup the password for SSH and VNC generated automatically. The password can be changed through "Properties -> User password" or standard OS tools (passwd, vncpasswd).

#### Features:
The app is available for download in Google Play and GitHub.

* Supported distributions: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Gentoo, Slackware, RootFS (tgz, tbz2, txz)
* Installation type: image file, directory, disk partition, RAM
* Supported file systems: ext2, ext3, ext4
* Supported architectures: ARM, ARM64, x86, x86_64, emulation mode (ARM ~ x86)
* Control interface: CLI, SSH, VNC, X11, Framebuffer
* Desktop environment: XTerm, LXDE, Xfce, MATE, other (manual configuration)
* Supported languages: multilingual interface
<a href="https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy"><img src="https://gist.githubusercontent.com/meefik/54a54afa7cc1dc600bdb855cb7895a4a/raw/ad617c006a1ac28d067c9a87cec60199ca8fef7c/get-it-on-google-play.png" alt="Get it on Google Play"></a>
<a href="https://github.com/meefik/linuxdeploy/releases/latest"><img src="https://gist.githubusercontent.com/meefik/54a54afa7cc1dc600bdb855cb7895a4a/raw/ad617c006a1ac28d067c9a87cec60199ca8fef7c/get-apk-from-github.png" alt="Get it on Github"></a>

#### Install
## Features

You can install the app from:
* GitHub: <https://github.com/meefik/linuxdeploy/releases>
* Google Play: <https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy>
- Supported distributions: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Gentoo, Slackware, RootFS (tgz, tbz2, txz)
- Installation type: image file, directory, disk partition, RAM
- Supported file systems: ext2, ext3, ext4
- Supported architectures: ARM, ARM64, x86, x86_64, emulation mode (ARM ~ x86)
- Control interface: CLI, SSH, VNC, X11, Framebuffer
- Desktop environment: XTerm, LXDE, Xfce, MATE, other (manual configuration)
- Supported languages: multilingual interface

#### FAQ
## FAQ

> Do not work update operating environment or errors appear in debug mode: "Permission denied", "Socket operation on non-socket" or other.
Expand All @@ -41,31 +39,31 @@ If you are using SuperSU utility you need to uncheck "mount namespace separation
You need to remove the application directory: /data/data/ru.meefik.linuxdeploy

#### Performance
## Performance

SD card read / write speed (10 class) on Android (Samsung Galaxy S II) for file systems vfat, ext2, ext4:
* **vfat**: read speed 14.1 MB/s; write speed 12.0 MB/s
* **ext2**: read speed 14.9 MB/s; write speed 3.9 MB/s
* **ext4**: read speed 14.9 MB/s; write speed 16.6 MB/s
* **ext2 (loop)**: read speed 17.0 MB/s; write speed 7.4 MB/s
* **ext4 (loop)**: read speed 17.2 MB/s; write speed 8.8 MB/s
- **vfat**: read speed 14.1 MB/s; write speed 12.0 MB/s
- **ext2**: read speed 14.9 MB/s; write speed 3.9 MB/s
- **ext4**: read speed 14.9 MB/s; write speed 16.6 MB/s
- **ext2 (loop)**: read speed 17.0 MB/s; write speed 7.4 MB/s
- **ext4 (loop)**: read speed 17.2 MB/s; write speed 8.8 MB/s

Installation time and use space on disk (Debian wheezy/armhf on Samsung Galaxy S II):
* **Without GUI** ~ 0:12 / 260 MB
* **XTerm** ~ 0:14 / 290 MB
* **LXDE** ~ 0:19 / 450 MB
* **XFCE** ~ 0:20 / 495 MB
* **GNOME** ~ 0:55 / 1.3 GB
* **KDE** ~ 1:20 / 1.3 GB
- **Without GUI** ~ 0:12 / 260 MB
- **XTerm** ~ 0:14 / 290 MB
- **LXDE** ~ 0:19 / 450 MB
- **XFCE** ~ 0:20 / 495 MB
- **GNOME** ~ 0:55 / 1.3 GB
- **KDE** ~ 1:20 / 1.3 GB

#### Source code
## Links

Linux Deploy App: <https://github.com/meefik/linuxdeploy>
Source code:

Linux Deploy CLI: <https://github.com/meefik/linuxdeploy-cli>
- Linux Deploy App: <https://github.com/meefik/linuxdeploy>
- Linux Deploy CLI: <https://github.com/meefik/linuxdeploy-cli>

#### Donations
Donations:

E-Money: <http://meefik.github.io/donate>

Google Play: <https://play.google.com/store/apps/details?id=ru.meefik.donate>
- E-Money: <http://meefik.github.io/donate>
- Google Play: <https://play.google.com/store/apps/details?id=ru.meefik.donate>
65 changes: 0 additions & 65 deletions README.ru.md

This file was deleted.

9 changes: 4 additions & 5 deletions app/build.gradle
@@ -1,15 +1,15 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 28
compileSdkVersion 27
buildToolsVersion '28.0.2'

defaultConfig {
applicationId 'ru.meefik.linuxdeploy'
minSdkVersion 14
targetSdkVersion 28
targetSdkVersion 27
versionCode 241
versionName "2.1.1"
versionName "2.2.0"
}
buildTypes {
release {
Expand All @@ -24,6 +24,5 @@ android {
}

dependencies {
implementation 'com.android.support:support-v4:28.0.0-rc01'
implementation 'com.android.support:design:28.0.0-rc01'
implementation 'com.android.support:design:27.1.1'
}
4 changes: 2 additions & 2 deletions app/src/main/assets/bin/all/websocket.sh
@@ -1,4 +1,4 @@
#!/data/data/ru.meefik.linuxdeploy/env/bin/sh
#!/system/bin/sh
# websocket.sh
# (C) 2016-2018 Anton Skshidlevsky <meefik@gmail.com>, MIT
# The cross platform WebSocket implementation for SH.
Expand Down Expand Up @@ -49,7 +49,7 @@ ws_send()
# Binary frame: 0x82 [length] [data]
# Max length: 00-7D -> 125; 0000-FFFF -> 65535
data=$(dd bs=65535 count=1 2>/dev/null)
length=${#data}
length=$(echo -n "$data" | wc -c)
# exit if received 0 bytes
[ "$length" -gt 0 ] || break
if [ "$length" -gt 125 ]
Expand Down
Binary file modified app/src/main/assets/bin/arm/busybox
Binary file not shown.
Binary file modified app/src/main/assets/bin/intel/busybox
Binary file not shown.
2 changes: 1 addition & 1 deletion app/src/main/assets/env
2 changes: 1 addition & 1 deletion app/src/main/assets/web/cgi-bin/resize
@@ -1,4 +1,4 @@
#!/data/data/ru.meefik.linuxdeploy/env/bin/sh
#!/system/bin/sh

echo "Content-type: text/html"
echo ""
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/assets/web/cgi-bin/sync
@@ -1,4 +1,4 @@
#!/data/data/ru.meefik.linuxdeploy/env/bin/sh
#!/system/bin/sh

echo 'Content-Type: application/octet-stream'
echo 'Content-Transfer-Encoding: binary'
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/assets/web/cgi-bin/terminal
@@ -1,4 +1,4 @@
#!/data/data/ru.meefik.linuxdeploy/env/bin/sh
#!/system/bin/sh

echo "Content-type: text/html"
echo ""
Expand Down
1 change: 0 additions & 1 deletion app/src/main/assets/web/issue

This file was deleted.

6 changes: 5 additions & 1 deletion app/src/main/java/ru/meefik/linuxdeploy/BootReceiver.java
Expand Up @@ -8,18 +8,22 @@ public class BootReceiver extends BroadcastReceiver {

@Override
public void onReceive(final Context context, Intent intent) {
switch (intent.getAction()) {
String action = intent.getAction();
if (action == null) return;
switch (action) {
case Intent.ACTION_BOOT_COMPLETED:
try { // Autostart delay
Integer delay_s = PrefStore.getAutostartDelay(context);
Thread.sleep(delay_s * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
EnvUtils.execServices(context, new String[]{"telnetd", "httpd"}, "start");
EnvUtils.execService(context, "start", "-m");
break;
case Intent.ACTION_SHUTDOWN:
EnvUtils.execService(context, "stop", "-u");
EnvUtils.execServices(context, new String[]{"telnetd", "httpd"}, "stop");
try { // Shutdown delay
Integer delay_s = PrefStore.getAutostartDelay(context);
Thread.sleep(delay_s * 1000);
Expand Down

0 comments on commit e612cda

Please sign in to comment.