diff --git a/CHANGELOG.md b/CHANGELOG.md index 41867d05..c5063735 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,12 +6,26 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +## [2.4.0] - 2019-08-12 +### Added +- Added support Alpine Linux +- Added support for Slackware x86_64 +- Added built-in binaries for 64-bit architecture +- Added NET_TRIGGER in the properties dialog + +### Changed +- Added executable permission for application directory +- Updated built-in busybox to v1.30.1 + +### Removed +- End of support for Gentoo + ## [2.3.1] - 2019-07-29 ### Added -- Added support Debian 10 (buster). +- Added support Debian 10 (buster) ### Fixed -- Problem with network trigger on Android 7+. +- Fixed problem with network trigger on Android 7+ ## [2.3.0] - 2019-03-02 ### Changed @@ -28,8 +42,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Replaced by dbus-run-session to dbus-launch ### Fixed -- Problem with running "am" via unchroot (issue #987) -- Problem with color in the list of mount points (issue #1018) +- Fixed problem with running "am" via unchroot (issue #987) +- Fixed problem with color in the list of mount points (issue #1018) ## [2.2.1] - 2018-10-29 ### Changed diff --git a/README.md b/README.md index 99b1e339..98260b7d 100644 --- a/README.md +++ b/README.md @@ -17,10 +17,10 @@ The app is available for download in Google Play and GitHub. ## Features -- Supported distributions: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Gentoo, Slackware, RootFS (tgz, tbz2, txz) +- Supported distributions: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Slackware, Alpine Linux, other (from rootfs.tar) - 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) +- 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 diff --git a/app/build.gradle b/app/build.gradle index 2f962bf6..7a64aeeb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId 'ru.meefik.linuxdeploy' minSdkVersion 15 targetSdkVersion 28 - versionCode 247 - versionName "2.3.1" + versionCode 248 + versionName "2.4.0" } buildTypes { release { diff --git a/app/src/main/assets/bin/arm/busybox b/app/src/main/assets/bin/arm/busybox index 042dfc0a..3d063dca 100755 Binary files a/app/src/main/assets/bin/arm/busybox and b/app/src/main/assets/bin/arm/busybox differ diff --git a/app/src/main/assets/bin/arm/proot b/app/src/main/assets/bin/arm/proot index b60b149a..5e89dd86 100755 Binary files a/app/src/main/assets/bin/arm/proot and b/app/src/main/assets/bin/arm/proot differ diff --git a/app/src/main/assets/bin/arm/qemu-i386-static b/app/src/main/assets/bin/arm/qemu-i386-static index ac9ea9fe..aeb8c03d 100755 Binary files a/app/src/main/assets/bin/arm/qemu-i386-static and b/app/src/main/assets/bin/arm/qemu-i386-static differ diff --git a/app/src/main/assets/bin/arm_64/busybox b/app/src/main/assets/bin/arm_64/busybox new file mode 100755 index 00000000..4c43cc4c Binary files /dev/null and b/app/src/main/assets/bin/arm_64/busybox differ diff --git a/app/src/main/assets/bin/arm_64/proot b/app/src/main/assets/bin/arm_64/proot new file mode 100755 index 00000000..75c829d3 Binary files /dev/null and b/app/src/main/assets/bin/arm_64/proot differ diff --git a/app/src/main/assets/bin/arm_64/qemu-x86_64-static b/app/src/main/assets/bin/arm_64/qemu-x86_64-static new file mode 100755 index 00000000..1855540b Binary files /dev/null and b/app/src/main/assets/bin/arm_64/qemu-x86_64-static differ diff --git a/app/src/main/assets/bin/intel/busybox b/app/src/main/assets/bin/intel/busybox deleted file mode 100755 index 8ae880d2..00000000 Binary files a/app/src/main/assets/bin/intel/busybox and /dev/null differ diff --git a/app/src/main/assets/bin/intel/proot b/app/src/main/assets/bin/intel/proot deleted file mode 100755 index 46f73ee1..00000000 Binary files a/app/src/main/assets/bin/intel/proot and /dev/null differ diff --git a/app/src/main/assets/bin/intel/qemu-arm-static b/app/src/main/assets/bin/intel/qemu-arm-static deleted file mode 100755 index 3fb961b9..00000000 Binary files a/app/src/main/assets/bin/intel/qemu-arm-static and /dev/null differ diff --git a/app/src/main/assets/bin/x86/busybox b/app/src/main/assets/bin/x86/busybox new file mode 100755 index 00000000..cbed7043 Binary files /dev/null and b/app/src/main/assets/bin/x86/busybox differ diff --git a/app/src/main/assets/bin/intel/dd b/app/src/main/assets/bin/x86/dd similarity index 100% rename from app/src/main/assets/bin/intel/dd rename to app/src/main/assets/bin/x86/dd diff --git a/app/src/main/assets/bin/intel/e2fsck b/app/src/main/assets/bin/x86/e2fsck similarity index 100% rename from app/src/main/assets/bin/intel/e2fsck rename to app/src/main/assets/bin/x86/e2fsck diff --git a/app/src/main/assets/bin/intel/mke2fs b/app/src/main/assets/bin/x86/mke2fs similarity index 100% rename from app/src/main/assets/bin/intel/mke2fs rename to app/src/main/assets/bin/x86/mke2fs diff --git a/app/src/main/assets/bin/intel/pkgdetails b/app/src/main/assets/bin/x86/pkgdetails similarity index 100% rename from app/src/main/assets/bin/intel/pkgdetails rename to app/src/main/assets/bin/x86/pkgdetails diff --git a/app/src/main/assets/bin/x86/proot b/app/src/main/assets/bin/x86/proot new file mode 100755 index 00000000..c6df206d Binary files /dev/null and b/app/src/main/assets/bin/x86/proot differ diff --git a/app/src/main/assets/bin/x86/qemu-arm-static b/app/src/main/assets/bin/x86/qemu-arm-static new file mode 100755 index 00000000..7cc60401 Binary files /dev/null and b/app/src/main/assets/bin/x86/qemu-arm-static differ diff --git a/app/src/main/assets/bin/intel/ssl_helper b/app/src/main/assets/bin/x86/ssl_helper similarity index 100% rename from app/src/main/assets/bin/intel/ssl_helper rename to app/src/main/assets/bin/x86/ssl_helper diff --git a/app/src/main/assets/bin/x86_64/proot b/app/src/main/assets/bin/x86_64/proot new file mode 100755 index 00000000..4b4a34ee Binary files /dev/null and b/app/src/main/assets/bin/x86_64/proot differ diff --git a/app/src/main/assets/bin/x86_64/qemu-aarch64-static b/app/src/main/assets/bin/x86_64/qemu-aarch64-static new file mode 100755 index 00000000..e3556a3e Binary files /dev/null and b/app/src/main/assets/bin/x86_64/qemu-aarch64-static differ diff --git a/app/src/main/assets/env b/app/src/main/assets/env index 8a7c2f65..169fe11d 160000 --- a/app/src/main/assets/env +++ b/app/src/main/assets/env @@ -1 +1 @@ -Subproject commit 8a7c2f65b214735917dd59ef198ac0b1f2234585 +Subproject commit 169fe11d4cfbc985dc54bdf247d0656b23890bb6 diff --git a/app/src/main/java/ru/meefik/linuxdeploy/EnvUtils.java b/app/src/main/java/ru/meefik/linuxdeploy/EnvUtils.java index c97fdd54..b84e5e02 100644 --- a/app/src/main/java/ru/meefik/linuxdeploy/EnvUtils.java +++ b/app/src/main/java/ru/meefik/linuxdeploy/EnvUtils.java @@ -319,7 +319,23 @@ static boolean updateEnv(final Context c) { // extract bin assets if (!extractDir(c, PrefStore.getBinDir(c), "bin/all", "")) return false; - if (!extractDir(c, PrefStore.getBinDir(c), "bin/" + PrefStore.getArch(), "")) return false; + String arch = PrefStore.getArch(); + switch (arch) { + case "arm": + if (!extractDir(c, PrefStore.getBinDir(c), "bin/arm", "")) return false; + break; + case "arm_64": + if (!extractDir(c, PrefStore.getBinDir(c), "bin/arm", "")) return false; + if (!extractDir(c, PrefStore.getBinDir(c), "bin/arm_64", "")) return false; + break; + case "x86": + if (!extractDir(c, PrefStore.getBinDir(c), "bin/x86", "")) return false; + break; + case "x86_64": + if (!extractDir(c, PrefStore.getBinDir(c), "bin/x86", "")) return false; + if (!extractDir(c, PrefStore.getBinDir(c), "bin/x86_64", "")) return false; + break; + } // extract web assets if (!extractDir(c, PrefStore.getWebDir(c), "web", "")) return false; @@ -327,13 +343,9 @@ static boolean updateEnv(final Context c) { // make linuxdeploy script if (!makeMainScript(c)) return false; - // set executable bin directory - File binDir = new File(PrefStore.getBinDir(c)); - setPermissions(binDir, true); - - // set executable cgi-bin directory - File cgiDir = new File(PrefStore.getWebDir(c) + "/cgi-bin"); - setPermissions(cgiDir, true); + // set executable app directory + File appDir = new File(PrefStore.getEnvDir(c) + "/.."); + appDir.setExecutable(true, false); // make config directory File configDir = new File(PrefStore.getConfigDir(c)); @@ -343,6 +355,10 @@ static boolean updateEnv(final Context c) { File tmpDir = new File(PrefStore.getTmpDir(c)); tmpDir.mkdirs(); + // set executable env directory + File binDir = new File(PrefStore.getEnvDir(c)); + setPermissions(binDir, true); + // create .nomedia File noMedia = new File(PrefStore.getEnvDir(c) + "/.nomedia"); try { @@ -537,6 +553,7 @@ static boolean telnetd(Context c, String cmd) { params.add("export TERM=\"xterm\""); params.add("export PS1=\"\\$ \""); params.add("export HOME=\"" + PrefStore.getEnvDir(c) + "\""); + params.add("export TMPDIR=\"" + PrefStore.getTmpDir(c) + "\""); params.add("cd \"$HOME\""); params.add("telnetd" + args); } diff --git a/app/src/main/java/ru/meefik/linuxdeploy/PrefStore.java b/app/src/main/java/ru/meefik/linuxdeploy/PrefStore.java index af29a4de..470bff17 100644 --- a/app/src/main/java/ru/meefik/linuxdeploy/PrefStore.java +++ b/app/src/main/java/ru/meefik/linuxdeploy/PrefStore.java @@ -398,10 +398,8 @@ static Boolean isStealth(Context c) { * @return path, e.g. ${ENV_DIR}/bin */ static String getPath(Context c) { - String binDir = getBinDir(c); String path = SETTINGS.get(c, "path"); - if (path.isEmpty()) path = binDir; - else path = path + ":" + binDir; + if (path.isEmpty()) path = getBinDir(c); return path; } @@ -659,7 +657,7 @@ static String generatePassword() { * Get hardware architecture * * @param arch unformated architecture - * @return intel, arm or mips + * @return arm, arm_64, x86, x86_64 */ static String getArch(String arch) { String march = "unknown"; @@ -667,16 +665,14 @@ static String getArch(String arch) { char a = arch.toLowerCase().charAt(0); switch (a) { case 'a': - if (arch.equals("amd64")) - march = "intel"; + if (arch.equals("amd64")) march = "x86_64"; + else if (arch.contains("64")) march = "arm_64"; else march = "arm"; break; - case 'm': - march = "mips"; - break; case 'i': case 'x': - march = "intel"; + if (arch.contains("64")) march = "x86_64"; + else march = "x86"; break; } } @@ -686,7 +682,7 @@ static String getArch(String arch) { /** * Get current hardware architecture * - * @return intel, arm or mips + * @return arm, arm_64, x86, x86_64 */ static String getArch() { return getArch(System.getProperty("os.arch")); diff --git a/app/src/main/java/ru/meefik/linuxdeploy/PropertiesStore.java b/app/src/main/java/ru/meefik/linuxdeploy/PropertiesStore.java index 01287321..0d50dc60 100644 --- a/app/src/main/java/ru/meefik/linuxdeploy/PropertiesStore.java +++ b/app/src/main/java/ru/meefik/linuxdeploy/PropertiesStore.java @@ -13,8 +13,8 @@ class PropertiesStore extends ParamUtils { public static final String name = "properties_conf"; private static final String[] params = {"method", "distrib", "arch", "suite", "source_path", "target_type", "target_path", "disk_size", "fs_type", "user_name", "user_password", - "privileged_users", "dns", "locale", "init", "init_path", "init_level", "init_user", - "init_async", "ssh_port", "ssh_args", "pulse_host", "pulse_port", "graphics", + "privileged_users", "locale", "dns", "net_trigger", "init", "init_path", "init_level", + "init_user", "init_async", "ssh_port", "ssh_args", "pulse_host", "pulse_port", "graphics", "vnc_display", "vnc_depth", "vnc_dpi", "vnc_width", "vnc_height", "vnc_args", "x11_display", "x11_host", "x11_sdl", "x11_sdl_delay", "fb_display", "fb_dev", "fb_input", "fb_args", "fb_refresh", "fb_freeze", "desktop", "mounts", "include"}; diff --git a/app/src/main/java/ru/meefik/linuxdeploy/RepositoryActivity.java b/app/src/main/java/ru/meefik/linuxdeploy/RepositoryActivity.java index 7160af1a..81294cfc 100644 --- a/app/src/main/java/ru/meefik/linuxdeploy/RepositoryActivity.java +++ b/app/src/main/java/ru/meefik/linuxdeploy/RepositoryActivity.java @@ -57,7 +57,7 @@ private void importDialog(final Map profile) { .setCancelable(false) .setNegativeButton(android.R.string.no, (dialog13, whichButton) -> dialog13.cancel()); - if (profile.get("PROTECTED") != null && !isDonated()) { + if (!isDonated()) { dialog.setPositiveButton(R.string.repository_purchase_button, (dialog12, whichButton) -> startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=ru.meefik.donate")))); @@ -117,6 +117,9 @@ public View getView(int position, View convertView, ViewGroup parent) { int iconRes = R.raw.linux; if (type != null) { switch (type) { + case "alpine": + iconRes = R.raw.alpine; + break; case "archlinux": iconRes = R.raw.archlinux; break; @@ -129,11 +132,8 @@ public View getView(int position, View convertView, ViewGroup parent) { case "fedora": iconRes = R.raw.fedora; break; - case "gentoo": - iconRes = R.raw.gentoo; - break; - case "kalilinux": - iconRes = R.raw.kalilinux; + case "kali": + iconRes = R.raw.kali; break; case "slackware": iconRes = R.raw.slackware; @@ -249,7 +249,7 @@ protected void onPostExecute(Boolean success) { private void downloadUrl(String url) throws IOException { BufferedReader reader = null; try { - URL u = new URL(new URL(url), "index.gz"); + URL u = new URL(url + "/index.gz"); reader = new BufferedReader(new InputStreamReader(new GZIPInputStream(u.openStream()))); String line; Map map = new HashMap<>(); diff --git a/app/src/main/res/raw/alpine.png b/app/src/main/res/raw/alpine.png new file mode 100644 index 00000000..6573f2ee Binary files /dev/null and b/app/src/main/res/raw/alpine.png differ diff --git a/app/src/main/res/raw/gentoo.png b/app/src/main/res/raw/gentoo.png deleted file mode 100644 index 77b03895..00000000 Binary files a/app/src/main/res/raw/gentoo.png and /dev/null differ diff --git a/app/src/main/res/raw/kalilinux.png b/app/src/main/res/raw/kali.png similarity index 100% rename from app/src/main/res/raw/kalilinux.png rename to app/src/main/res/raw/kali.png diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index b8dd790f..2cce5a39 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -56,7 +56,7 @@ SSH VNC Framebuffer - This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 Installieren Configure FB: X Eigenschaften diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 9fee1da0..87462512 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -80,7 +80,7 @@ VNC Framebuffer \nHelp Install\").\n5. Wait until the installation is complete.\n6. Tap \"START\" button to run the container.\n7. Connect to the container through CLI, SSH, VNC, or others.\n\nFor more information, see \"About\".]]> - This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 Configurar Instalar Mostrar información de depuración diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 85d845c9..88747fc9 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -80,7 +80,7 @@ VNC Tampon de trame \nHelp Install\").\n5. Wait until the installation is complete.\n6. Tap \"START\" button to run the container.\n7. Connect to the container through CLI, SSH, VNC, or others.\n\nFor more information, see \"About\".]]> - This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 Configurer Installer Affiche les informations de débugage diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 4467313f..9a7c7c11 100755 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -306,6 +306,6 @@ "Paksa refresh framebuffer" "\nBantuan\n\nAplikasi ini untuk menginstal distribusi GNU/Linux yang dipilih dan menjalankannya dalam container chroot.\n\nProsedur:\n1. Dapatkan hak istimewa superuser (root).\n2. Periksa koneksi Internet.\n3. Tentukan pilihan instalasi.\n4. Jalankan instalasi (\"Menu => Install\").\n5. Tunggu sampai penginstalan selesai.\n6. Ketuk tombol \"START\" untuk menjalankan container.\n7. Sambungkan melalui CLI, SSH, VNC, atau lainnya.\n\nUntuk informasi lebih lanjut, lihat \"Tentang\"." - "Aplikasi ini untuk menginstal distribusi GNU/Linux yang dipilih dan menjalankannya dalam container chroot.\n\nUntuk informasi lebih lanjut, lihat halaman project, forum atau situs pengembang.\n\n© 2012-2019 Anton Skshidlevsky, GPLv3" + "Aplikasi ini untuk menginstal distribusi GNU/Linux yang dipilih dan menjalankannya dalam container chroot.\n\nUntuk informasi lebih lanjut, lihat halaman project, forum atau situs pengembang.\n\n© 2012-2019 Anton Skshidlevsky, GPLv3" \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 96b8436f..097d26ef 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -80,7 +80,7 @@ VNC Framebuffer \nHelp Install\").\n5. Wait until the installation is complete.\n6. Tap \"START\" button to run the container.\n7. Connect to the container through CLI, SSH, VNC, or others.\n\nFor more information, see \"About\".]]> - This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 Configura Installa Mostra informazioni di debug diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 79aa63aa..0283219d 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -300,6 +300,6 @@ 강제로 Framebuffer 새로고침 \n도움말\n\n이 응용 프로그램은 GNU/Linux 배포판을 설치하고 chroot로 마운트 하는 프로그램 입니다.\n\n순서 :\n1. 루트 권한을 허용해 주세요. (루팅해야 합니다.)\n2. 이 경로를 통해 BusyBox를 설치하세요. (반드시 이 BusyBox로 설치하셔야 합니다.)\n3. 인터넷 연결을 확인하세요.\n4. 밑에 있는 다운로드 아이콘을 눌러서 설치 환경을 설정하세요.\n5. 설치버튼을 누르세요.\n6. 설치가 모두 다되는동안 기다리세요.\n7. \"START\" 버튼을 눌러서 시작하세요.\n8. CLI, SSH, VNC 등으로 리눅스에 연결하세요.\n\n자세한 내용은 \"정보\" 를 참고해 주세요.\n\n만약 설치 및 실행하는데 오류가 발생한다면 이 링크로 가셔서 문제 해결방법을 보세요.\n\n버그 신고는 여기(한글가능, Github 아이디 필요) 로 해 주세요. - 이 응용 프로그램은 GNU/Linux 배포판을 설치하고 chroot로 마운트 하는 프로그램 입니다.\n\n자세한 내용은 프로젝트 사이트, 포럼(러시아어) 또는 개발자 사이트(러시아어) 를 확인하세요.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + 이 응용 프로그램은 GNU/Linux 배포판을 설치하고 chroot로 마운트 하는 프로그램 입니다.\n\n자세한 내용은 프로젝트 사이트, 포럼(러시아어) 또는 개발자 사이트(러시아어) 를 확인하세요.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 2d55690b..a98a3d9a 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -167,7 +167,7 @@ Zatrzymaj Android UI Zatrzymaj Android UI \nPomoc\n\nTa aplikacja instaluje wybraną dystrybucję GNU/Linux i uruchamia ją w środowisku chroot.\n\nProcedura:\n1. Zdobądź uprawnienia root.\n2. Sprawdź połączenie internetowe.\n3. Określ ustawienia instalacji.\n4. Rozpocznij instalację (\"Właściwości => Instaluj\").\n5. Poczekaj do zakończenia instalacji.\n6. Naciśnij przycisk \"URUCHOM\", aby uruchomić profil.\n7. Połącz się używając CLI, SSH, VNC lub innych.\n\nAby uzyskać więcej informacji zobacz \"O programie\". - Ta aplikacja instaluje wybraną dystrybucję GNU/Linux i uruchamia ją w środowisku chroot.\n\nAby uzyskać więcej informacji zobacz stronę projektu, forum lub stronę programisty.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + Ta aplikacja instaluje wybraną dystrybucję GNU/Linux i uruchamia ją w środowisku chroot.\n\nAby uzyskać więcej informacji zobacz stronę projektu, forum lub stronę programisty.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 Profile Zarządzanie Konfiguruj diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 88b03a05..03b99566 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -167,7 +167,7 @@ Congelar UI do Android Congelar UI do Android \nAjuda\n\nEssa aplicação instala a distribuição GNU/Linux selecionada e a executa em um container chroot.\n\nProcesso:\n1. Conseguir privilégios de super-usuário (root).\n2. Instalar BusyBox.\n3. Verificar conexão com a Internet.\n4. Especificar as opções da instalação.\n5. Iniciar a instalação (\"Propriedades => Instalar\").\n6. Esperar até que a instalação seja concluída.\n7. Apertar o botão \"INICIAR\" para executar o container.\n8. Conectar ao container através de CLI, SSH, VNC ou outros.\n\nPara mais informações, veja \"Sobre\". - Essa aplicação instala a distribuição GNU/Linux e a executa em um container chroot.\n\nPara mais informações veja página do projeto, fórum ou site do desenvolvedor.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + Essa aplicação instala a distribuição GNU/Linux e a executa em um container chroot.\n\nPara mais informações veja página do projeto, fórum ou site do desenvolvedor.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 Gestão Configurar GUI diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 234495ee..5c8b3da2 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -86,7 +86,7 @@ VNC Framebuffer \nСправка\n\nПриложение устанавливает выбранный GNU/Linux дистрибутив и запускает его в chroot-контейнере.\n\nПорядок действий:\n1. Получить права суперпользователя (root).\n2. Проверить подключение к интернету.\n3. Указать параметры установки.\n4. Запустить установку (\"Меню => Установить\").\n5. Дождаться окончания установки.\n6. Запустить контейнер кнопкой \"СТАРТ\".\n7. Подключиться к контейнеру через CLI, SSH, VNC или др.\n\nДополнительную информацию см. в разделе \"О программе\". - Приложение устанавливает выбранный GNU/Linux дистрибутив и запускает его в chroot-контейнере.\n\nЗа дополнительной информацией обращайтесь на страницу проекта, форум или сайт разработчика.\n\n© 2012–2019 Антон Скшидлевский, GPLv3 + Приложение устанавливает выбранный GNU/Linux дистрибутив и запускает его в chroot-контейнере.\n\nЗа дополнительной информацией обращайтесь на страницу проекта, форум или сайт разработчика.\n\n© 2012–2019 Антон Скшидлевский, GPLv3 Включить отображение отладочной информации Вычисляется автоматически Принудительно обновлять фреймбуфер @@ -130,7 +130,7 @@ Включить TELNET Точки монтирования - Обрабатывать изменения сети + Отслеживать изменения сети Включить CLI Веб-интерфейс Переменная PATH @@ -245,5 +245,7 @@ PulseAudio: адрес сервера Исходная Целевая (опционально) + Путь к скрипту триггера + Сетевой триггер diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 1ca174c2..445a9bf5 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -72,7 +72,7 @@ VNC Framebuffer \nPomocník Inštalácia\").\n5. Počkajte, kým sa dokončí inštalácia.\n6. Ťuknite na tlačidlo \"SPUSTIŤ\" na spustenie kontajnera.\n7. Pripojte sa ku kontajneru pomocou CLI, SSH, VNC, alebo iným spôsobom.\n\nPre viac informácií si prezrite \"O aplikácii\".]]> - Táto aplikácia nainštaluje vybratú distribúciu systému GNU/Linux a spustí ju v kontajneri chroot.\n\nPre viac informácií si prezrite stránku projektu, fórum alebo stránku vývojára.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + Táto aplikácia nainštaluje vybratú distribúciu systému GNU/Linux a spustí ju v kontajneri chroot.\n\nPre viac informácií si prezrite stránku projektu, fórum alebo stránku vývojára.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 O aplikácii Skončiť Nastavenia diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 78c340fe..7d06fb77 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -80,7 +80,7 @@ VNC Đệm khung \nHelp Install\").\n5. Wait until the installation is complete.\n6. Tap \"START\" button to run the container.\n7. Connect to the container through CLI, SSH, VNC, or others.\n\nFor more information, see \"About\".]]> - This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 Cấu hình lại Cài đặt Hiện thông tin gỡ lỗi diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 6d5d641c..9db0c3ad 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -322,7 +322,7 @@ 强制刷新帧缓冲区 \n帮助:\n\n本应用程序安装选定的 GNU/Linux 发行版,并在 chroot 容器中执运行。\n\n使用步骤:\n1. 给本应用 超级用户(Root) 权限。\n2. 正常连接至互联网。\n3. 配置安装选项。\n4. 开始安装(\"菜单(右上角)\" => \"安装\")。\n5. 等待安装完成。\n6. 点击\"启动\"按钮来启动容器。\n7. 通过 CLI、SSH、VNC 等方式连接容器。\n\n更多内容,详见\"关于\"。 - 本应用程序安装选定的 GNU/Linux 发行版,并在 chroot 容器中执运行。\n\n有关更多信息,请参阅: Github 论坛项目官方网站。\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + 本应用程序安装选定的 GNU/Linux 发行版,并在 chroot 容器中执运行。\n\n有关更多信息,请参阅: Github 论坛项目官方网站。\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 51a4da02..0ce08b0a 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -58,7 +58,7 @@ ext4 - POSIX + C aa_DJ.UTF-8 af_ZA.UTF-8 an_ES.UTF-8 @@ -229,26 +229,26 @@ Other + alpine + archlinux + centos debian - ubuntu - kalilinux fedora - centos - archlinux - gentoo + kali slackware + ubuntu rootfs + Alpine + Arch + CentOS Debian - Ubuntu - Kali Linux Fedora - CentOS - Arch Linux - Gentoo + Kali Slackware - RootFS + Ubuntu + rootfs.tar run-parts @@ -317,10 +317,10 @@ - + kali-rolling - + armel armhf arm64 @@ -366,24 +366,6 @@ x86_64 - - - - latest - - - armv4tl - armv5tel - armv6j - armv6j_hardfp - armv7a - armv7a_hardfp - arm64 - i486 - i686 - amd64 - - @@ -392,6 +374,21 @@ arm x86 + x86_64 + + + + + + latest-stable + edge + + + armv7 + armhf + aarch64 + x86 + x86_64 diff --git a/app/src/main/res/values/preferences.xml b/app/src/main/res/values/preferences.xml index 6d46094c..ab5880a8 100644 --- a/app/src/main/res/values/preferences.xml +++ b/app/src/main/res/values/preferences.xml @@ -14,7 +14,7 @@ 30 false - http://hub.meefik.ru + https://github.com/meefik/linuxdeploy-hub/raw/master/ false false @@ -38,7 +38,7 @@ file @string/target_path_file ${EXTERNAL_STORAGE}/linux.img - ${ENV_DIR}/rootfs/linux + ${EXTERNAL_STORAGE}/linux /dev/block/mmcblkXpY /data/local/ram @@ -47,9 +47,10 @@ ext4 android - root + android + C - POSIX + false run-parts /etc/rc.local @@ -89,80 +90,134 @@ http://ftp.debian.org/debian/ armhf - - http://ftp.debian.org/debian/ - i386 + + http://ftp.debian.org/debian/ + arm64 + + http://ftp.debian.org/debian/ + i386 + + http://ftp.debian.org/debian/ + amd64 bionic http://ports.ubuntu.com/ armhf - - http://archive.ubuntu.com/ubuntu/ - i386 + + http://ports.ubuntu.com/ + arm64 + + http://archive.ubuntu.com/ubuntu/ + i386 + + http://archive.ubuntu.com/ubuntu/ + amd64 - kali-rolling + kali-rolling - http://http.kali.org/kali/ - armhf - - http://http.kali.org/kali/ - i386 + http://http.kali.org/kali/ + armhf + + http://http.kali.org/kali/ + arm64 + + http://http.kali.org/kali/ + i386 + + http://http.kali.org/kali/ + amd64 28 http://dl.fedoraproject.org/pub/ armhfp - - http://dl.fedoraproject.org/pub/ - i386 + + http://dl.fedoraproject.org/pub/ + aarch64 + + http://dl.fedoraproject.org/pub/ + i386 + + http://dl.fedoraproject.org/pub/ + x86_64 7 http://mirror.centos.org/altarch/ armhfp - - http://mirror.centos.org/altarch/ - i386 + + http://mirror.centos.org/altarch/ + aarch64 + + http://mirror.centos.org/altarch/ + i386 + + http://mirror.centos.org/altarch/ + x86_64 latest http://mirror.archlinuxarm.org/ armv7h - - http://mirrors.kernel.org/archlinux/ - x86_64 - - - latest - - http://distfiles.gentoo.org/releases/ - armv7a_hardfp - - http://distfiles.gentoo.org/releases/ - i686 + + http://mirror.archlinuxarm.org/ + aarch64 + + http://mirror.archlinux32.org/ + i686 + + http://mirrors.kernel.org/archlinux/ + x86_64 14.2 http://ftp.arm.slackware.com/slackwarearm/ arm - - http://mirrors.slackware.com/slackware/ - x86 + + http://ftp.arm.slackware.com/slackwarearm/ + arm + + http://mirrors.slackware.com/slackware/ + x86 + + http://mirrors.slackware.com/slackware/ + x86_64 + + + latest-stable + + http://dl-cdn.alpinelinux.org/alpine/ + armhf + + http://dl-cdn.alpinelinux.org/alpine/ + aarch64 + + http://dl-cdn.alpinelinux.org/alpine/ + x86 + + http://dl-cdn.alpinelinux.org/alpine/ + x86_64 - - - + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1b698ef1..6223920c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -101,7 +101,7 @@ Autostart delay Delay (seconds) - Network trigger + Track network changes Track changes of the network and update the container @@ -202,13 +202,16 @@ Privileged users Privileged users + + Localization + Localization DNS Address of DNS server Automatic detection - - Localization - Localization + + Network trigger + Path to trigger script INIT @@ -351,7 +354,7 @@ \nHelp\n\nThis application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nProcedure:\n1. Get superuser privileges (root).\n2. Check the connection to Internet.\n3. Specify the installation options.\n4. Start the installation (\"Menu => Install\").\n5. Wait until the installation is complete.\n6. Tap \"START\" button to run the container.\n7. Connect to the container through CLI, SSH, VNC, or others.\n\nFor more information, see \"About\". - This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 + This application installs the selected GNU/Linux distribution and executes it in a chroot-container.\n\nFor more information see project page, forum or developer site.\n\n© 2012–2019 Anton Skshidlevsky, GPLv3 Services Channel to display service notifications diff --git a/app/src/main/res/xml/properties.xml b/app/src/main/res/xml/properties.xml index a45c6bc0..92e89496 100644 --- a/app/src/main/res/xml/properties.xml +++ b/app/src/main/res/xml/properties.xml @@ -100,13 +100,6 @@ android:summary="@string/privileged_users" android:title="@string/title_privileged_users_preference" /> - - + + + +