diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..0051d22 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,20 @@ +repo: +- '*' + +readme_update: +- README.md + +md_docs: +- md/* + +assets: +- assets/* + +plugins: +- pd-plugins/* + +installer: +- install.sh + +credits: +- credits.json \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e5fa997 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*test* \ No newline at end of file diff --git a/README.md b/README.md index e7919a6..82a1419 100644 --- a/README.md +++ b/README.md @@ -1,109 +1,77 @@ -![Screenshot_20210605-115657_VNC Viewer](src/images/edited_showcase.png "A Screenshot of ubuntu xfce showing some pre-installed apps") - -

Ubuntu 21.04 On android

-A tweaked ubuntu-21.04 with xfce4 runs on android with termux/proot-distro - -> This means now you can install ubuntu like above screenshot right in your smartphone without destroying your phone with rooting - -| | | -|--|--| -|This project is | ![img](https://img.shields.io/badge/-Made%20with%20Bash-1f425f.svg?logo=image%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3MDg2QTAyQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3MDg2QTAzQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTcwODZBMDBBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTcwODZBMDFBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciLz4gPC9yZGY6RGVzY3JpcHRpb24%2BIDwvcmRmOlJERj4gPC94OnhtcG1ldGE%2BIDw%2FeHBhY2tldCBlbmQ9InIiPz6lm45hAAADkklEQVR42qyVa0yTVxzGn7d9Wy03MS2ii8s%2BeokYNQSVhCzOjXZOFNF4jx%2BMRmPUMEUEqVG36jo2thizLSQSMd4N8ZoQ8RKjJtooaCpK6ZoCtRXKpRempbTv5ey83bhkAUphz8fznvP8znn%2B%2F3NeEEJgNBoRRSmz0ub%2FfuxEacBg%2FDmYtiCjgo5NG2mBXq%2BH5I1ogMRk9Zbd%2BQU2e1ML6VPLOyf5tvBQ8yT1lG10imxsABm7SLs898GTpyYynEzP60hO3trHDKvMigUwdeaceacqzp7nOI4n0SSIIjl36ao4Z356OV07fSQAk6xJ3XGg%2BLCr1d1OYlVHp4eUHPnerU79ZA%2F1kuv1JQMAg%2BE4O2P23EumF3VkvHprsZKMzKwbRUXFEyTvSIEmTVbrysp%2BWr8wfQHGK6WChVa3bKUmdWou%2BjpArdGkzZ41c1zG%2Fu5uGH4swzd561F%2BuhIT4%2BLnSuPsv9%2BJKIpjNr9dXYOyk7%2FBZrcjIT4eCnoKgedJP4BEqhG77E3NKP31FO7cfQA5K0dSYuLgz2TwCWJSOBzG6crzKK%2BohNfni%2Bx6OMUMMNe%2Fgf7ocbw0v0acKg6J8Ql0q%2BT%2FAXR5PNi5dz9c71upuQqCKFAD%2BYhrZLEAmpodaHO3Qy6TI3NhBpbrshGtOWKOSMYwYGQM8nJzoFJNxP2HjyIQho4PewK6hBktoDcUwtIln4PjOWzflQ%2Be5yl0yCCYgYikTclGlxadio%2BBQCSiW1UXoVGrKYwH4RgMrjU1HAB4vR6LzWYfFUCKxfS8Ftk5qxHoCUQAUkRJaSEokkV6Y%2F%2BJUOC4hn6A39NVXVBYeNP8piH6HeA4fPbpdBQV5KOx0QaL1YppX3Jgk0TwH2Vg6S3u%2BdB91%2B%2FpuNYPYFl5uP5V7ZqvsrX7jxqMXR6ff3gCQSTzFI0a1TX3wIs8ul%2Bq4HuWAAiM39vhOuR1O1fQ2gT%2F26Z8Z5vrl2OHi9OXZn995nLV9aFfS6UC9JeJPfuK0NBohWpCHMSAAsFe74WWP%2BvT25wtP9Bpob6uGqqyDnOtaeumjRu%2ByFu36VntK%2FPA5umTJeUtPWZSU9BCgud661odVp3DZtkc7AnYR33RRC708PrVi1larW7XwZIjLnd7R6SgSqWSNjU1B3F72pz5TZbXmX5vV81Yb7Lg7XT%2FUXriu8XLVqw6c6XqWnBKiiYU%2BMt3wWF7u7i91XlSEITwSAZ%2FCzAAHsJVbwXYFFEAAAAASUVORK5CYII%3D) ![img2](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)| -|status| ![img3](https://img.shields.io/badge/Installable-green) | -|Maintainence status | ![stale](https://img.shields.io/badge/-Active-orange) | -|Platform | **Android Termux App (proot `prtace()` )**| -| Linux Distribution | ![badge3](https://img.shields.io/badge/Linux%20Distribution-UBUNTU%20Hippo%2021.04-brightgreen) | -|Community | [![Support Server](https://img.shields.io/discord/851345998831157288.svg?label=Discord&logo=Discord&colorB=7289da&style=for-the-badge)](https://discord.gg/y432PhPYCS) [![Join the chat at https://gitter.im/ubuntu-on-android/community](https://badges.gitter.im/ubuntu-on-android/community.svg)](https://gitter.im/ubuntu-on-android/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) | -| Code quality & stats | [![CodeFactor](https://www.codefactor.io/repository/github/randomcoderorg/ubuntu-on-android/badge)](https://www.codefactor.io/repository/github/randomcoderorg/ubuntu-on-android) | -- codename -> `udroid` - -
- Note & Disclaimer (Must read !) - -A note before you try -- As lot of it is preinstalled you can login and start right after you install -- As this runs on termux and on software rendering so performence clearly depends on CPU, ram and storage read-write speed! -- Don't try heavy apps unless you have a good device :) -- If you have any issues or suggestions make sure i know at https://github.com/RandomCoderOrg/ubuntu-on-android/issue (create an issue) - -> **Disclaimer** : -- i dont work with any company or organization of ubuntu or any third party sources took in making fs(for now). -- This project works by compliying to selinux android. and all aim of the project is just run linux on android without direct root with a twist and this project improves time by time with your support and motivation. -- the linux you trying to install from this repo is not fully functional in target space because of the selinux policies, and increasing requirement in linux requirements and also because project is set to run with `ptrace()` a low level access in android kernel -- Graphics performence is really bad cause proot and usage on VNC, we dont support any adoptation on improving it **for now** cause insufficient data on android (ping me in discord if you have any ideas or any codes on this) -- - **(Update)** see https://github.com/RandomCoderOrg/ubuntu-on-android/wiki/XWayland-in-proot to run smooth and fast session -- This project comes without warranties or data protection -
- -## supported architectures status +

+ +

+

+ + +

+ +

+ +

+ +

+ + + + +

Ubuntu-21.04 on android

+Ubuntu-on-android aims to run ubuntu with pre-installed Desktop Environment, development tools, and software on top of android without root with the help of proot in termux application. This project just like any other linux on android projects but with aim of making it easy for end user on setting up linux. + +[![Support Server](https://img.shields.io/discord/892727774828199976?color=blue&label=join%20%23udroid&logo=discord&logoColor=white&style=for-the-badge)](https://discord.gg/h7wZ9BfbU9) + + + +codename = `udroid` + + + +## Supported arch status | arch | status | |------ |--------| | arm64 | ![stat](https://img.shields.io/badge/-installable-brightgreen) | | armv7l | ![stat](https://img.shields.io/badge/-installable-brightgreen) | | armv8l | ![stat](https://img.shields.io/badge/-partially%20supported-orange) | +| amd64 | ![stat](https://img.shields.io/badge/-installable-brightgreen) | | Others | `not started` | -# Installation -- First install termux from [termux.com](https://termux.com) or [F-Droid!](https://f-droid.org/en/packages/com.termux/) +## Desclaimer +Just before starting the installation, you can check [this.](md/desclaimer.md) + +## Installation -## Getting Sources and install scripts ```bash # download installer -curl -L -o install.sh https://git.io/hippo-installer +curl -L -o install.sh https://bit.ly/udroid-installer # run the installer bash install.sh # Install ubuntu with this command udroid --install ``` -### Basic Usage - | **Command** | **Usage** | - |--------------------|-----------| - | `udroid` | To login to shell | - | `udroid upgrade` | to upgrade fs or to get new features if available | - | `startvnc` | start vncserver at port `1` (you can change default port by exporting env varaible `DEFAULT_VNC_PORT` to a port number) | - | `udroid stopvnc` | stop vncserver at given or default port `1` - | `udroid --enable-dbus` | To start udroid with dbus hack enabled | - | `udroid --enable-dbus-vnc` | To start vnc session with dbus hack enabled | - -## Environment Variables -- `DEFAULT_VNC_PORT` to set vnc port for scripts -- `HIPPO_BRANCH` to set custom branch for cloning code - -## ๐Ÿ”Š Audio -pulseaudio starts everytime you invoke start commands with `udroid` - -> You can start audio manually with this command -```bash -pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1 -``` -## Default passwords -| |password| -|--|--------| -| udroid user | `secret` | -|vncserver root | `secret` | +for more see [here.](md/installation.md) -## some Screenshots +## Some Screenshots -![image](src/images/six.png) -![image](src/images/five.png) -![image](src/images/four.png) -![image](src/images/three.png) -![image](src/images/two.png) -![image](src/images/one.png) +![udroid mate screenshot](assets/IMG_20211014_084106.jpg) +![udroid xfce4 running glxgers & vscode](assets/four.png) +![udroid xfce4 running libre draw](assets/three.png) +More can be found [here.](md/showcase.md) -A small help from me if you want to build your own rootfs [wiki_page](https://github.com/RandomCoderOrg/ubuntu-on-android/wiki/commands-took-to-make-a-custom-rootfs) +> for building custom linux tarballs go [here](https://github.com/RandomCoderOrg/fs-cook) -# Devolopers & credits -Made with โค๏ธ from: +## Devolopers -DEV #0 -> [Saicharankandukuri](https://github.com/SaicharanKandukuri) + + + -Dev #1 -> [Gxmersam](https://github.com/GxmerSam) +> DEV #0 = [Saicharankandukuri](https://github.com/SaicharanKandukuri) +> +> Dev #1 = [Gxmersam](https://github.com/GxmerSam) -# Licence +## Licence MIT Copyright (c) 2021 Saicharan Kandukuri -

More Updates coming soon ๐Ÿ’›

- -- feel free to contribute to this repo :) +###### feel free to contribute to this repo๐Ÿค. diff --git a/assets/IMG_20211014_084106.jpg b/assets/IMG_20211014_084106.jpg new file mode 100644 index 0000000..7c6726e Binary files /dev/null and b/assets/IMG_20211014_084106.jpg differ diff --git a/assets/IMG_20211014_084124.jpg b/assets/IMG_20211014_084124.jpg new file mode 100644 index 0000000..7e74741 Binary files /dev/null and b/assets/IMG_20211014_084124.jpg differ diff --git a/assets/IMG_20211014_084143.jpg b/assets/IMG_20211014_084143.jpg new file mode 100644 index 0000000..17417bc Binary files /dev/null and b/assets/IMG_20211014_084143.jpg differ diff --git a/assets/app_showcase.jpg b/assets/app_showcase.jpg new file mode 100644 index 0000000..20d8fe0 Binary files /dev/null and b/assets/app_showcase.jpg differ diff --git a/assets/badge-bash.svg b/assets/badge-bash.svg new file mode 100644 index 0000000..bfba213 --- /dev/null +++ b/assets/badge-bash.svg @@ -0,0 +1 @@ +Made with BashMade with Bash \ No newline at end of file diff --git a/assets/banner.jpg b/assets/banner.jpg new file mode 100644 index 0000000..dee6d69 Binary files /dev/null and b/assets/banner.jpg differ diff --git a/assets/desktop.jpg b/assets/desktop.jpg new file mode 100644 index 0000000..2335389 Binary files /dev/null and b/assets/desktop.jpg differ diff --git a/assets/edited_showcase.png b/assets/edited_showcase.png new file mode 100644 index 0000000..f833ea0 Binary files /dev/null and b/assets/edited_showcase.png differ diff --git a/assets/five.png b/assets/five.png new file mode 100644 index 0000000..7e9e649 Binary files /dev/null and b/assets/five.png differ diff --git a/assets/four.png b/assets/four.png new file mode 100644 index 0000000..87bce5c Binary files /dev/null and b/assets/four.png differ diff --git a/assets/one.png b/assets/one.png new file mode 100644 index 0000000..9279251 Binary files /dev/null and b/assets/one.png differ diff --git a/assets/six.png b/assets/six.png new file mode 100644 index 0000000..74602ae Binary files /dev/null and b/assets/six.png differ diff --git a/assets/three.png b/assets/three.png new file mode 100644 index 0000000..5afd903 Binary files /dev/null and b/assets/three.png differ diff --git a/assets/two.png b/assets/two.png new file mode 100644 index 0000000..f78e6ac Binary files /dev/null and b/assets/two.png differ diff --git a/assets/udroid_logo.png b/assets/udroid_logo.png new file mode 100644 index 0000000..68a91ef Binary files /dev/null and b/assets/udroid_logo.png differ diff --git a/credits.json b/credits.json deleted file mode 100644 index 35f970b..0000000 --- a/credits.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "scripts": - { - "maintainers": ["saicharankandukuri"], - "installer": - { - "name": "ubuntu-on-android installer", - "owner": "saicharankandukuri", - "version": "v0.1", - "license": "MIT Copyright (c) 2021 RandomCoderOrg", - "homepage": "https://github.com/RandomCoderOrg/ubuntu-on-android", - "authors" : [ - "saicharankandukuri","GxmerSam", "Andre-cmd-rgb" - ] - }, - "fs-manager-udroid": - { - "name": "fs-manager-udroid", - "owner": "saicharankandukuri", - "version": "V01", - "license": "MIT License", - "extra_script": ["vncserver", "pulseeffects", "udroid"] - }, - "wrapper": - { - "name": "proot-distro", - "owner": "termux", - "license": "GPL-3.0 License", - "homepage": "https://github.com/termux/proot-distro" - } - }, - "linuxfilesystem": - { - "maintainers": ["saicharankandukuri"], - "linux": - { - "name": "ubuntu", - "distribution": "ubuntu hirsute", - "owner": "Canonical Ltd", - "version": "21.04", - "license": " GPL", - "homepage": "https://ubuntu.com/" - }, - "desktop_environment": - { - "name": "xfce", - "version": 4, - "license": "GPL-2.0 License", - "homepage": "https://www.xfce.org/" - }, - "layout": - { - "name": "xfsmooth", - "description": "default layout (dynamic)", - "owner": "saicharankandukuri", - "version": "v0.1" - }, - "theme": - { - "name": "WhiteSur-gtk-theme", - "owner": "vinceliuice", - "license": "MIT Copyright (c) 2021 WhiteSur Developers", - "homepage": "https://github.com/vinceliuice/WhiteSur-gtk-theme" - }, - "icons": - { - "name": "WhiteSur-icon-theme", - "owner": "vinceliuice", - "license": "GPL-3.0 License", - "homepage": "https://github.com/vinceliuice/WhiteSur-icon-theme" - }, - "extras": - { - "plank theme": - { - "name":"mcOS Monterey for Plank Dock", - "owner": "fkorpsvart" - }, - "wallpapers": - { - "name": "WhiteSur-gtk-theme", - "owner": "vinceliuice", - "license": "MIT Copyright (c) 2021 WhiteSur Developers", - "owner_page": "https://github.com/vinceliuice", - "homepage": "https://github.com/vinceliuice/WhiteSur-gtk-theme" - } - } - } -} \ No newline at end of file diff --git a/gitignore b/gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/install.sh b/install.sh index fae4930..442c94a 100644 --- a/install.sh +++ b/install.sh @@ -3,63 +3,53 @@ #################################################### # UDROID installer Script V01 (mad installer) # A script made by @zman-1x1 saicharankandukuri -# Copyright (c) 2021 Saicharan Kandukuri -# hello.1x1.sai@gmail.com +# Copyright (c) 2021 Saicharan Kandukuri -version="01" -version_code_name="mad installer mi01" +version="03" +version_code_name="mi02" installer_authors="saicharankandukuri" # * Deafault color is Blue +_c_magneta="\e[95m" +_c_green="\e[32m" +_c_red="\e[31m" +_c_blue="\e[34m" RST="\e[0m" -RED="\e[1;31m" # *This is bold -GREEN="\e[1;32m" -BLUE="\e[34m" -DC=${BLUE} -#GREEN_THIN="\e[32m" - -# * Used for testing -# if set then installer clones code from specified branch (sensitive) -if [ -n "$HIPPO_BRANCH" ]; then - BRANCH="$HIPPO_BRANCH" -fi - - -# CACHE_ROOT is the place where are download caches are stored -CACHE_ROOT="${HOME}/.uoa-cache-root" +# CACHE_ROOT is the place where are download caches are stored +CACHE_ROOT="${HOME}/.udroid-cache-root" # TPREFIX where root of termux starts TPREFIX="/data/data/com.termux/files" -# BIN_DIR where binary files are stored in termux +# BIN_DIR where binary files are stored in termux # * (like /bin in traditional linux) BIN_DIR="${TPREFIX}/usr/bin" # INSTALL_FOLDER variable points to folder location where the file systems are installed in proot-distro -# * used when checking for hippo +# * used when checking for udroid INSTALL_FOLDER="${TPREFIX}/usr/var/lib/proot-distro/installed-rootfs" -# UDROID_DIR variable points to folder where hippo root filesystem is in +# UDROID_DIR variable points to folder where udroid root filesystem is in UDROID_DIR="${INSTALL_FOLDER}/udroid" # SCRIPT_DIR variable points to folder where plugins for proot-distro is stored -# * this is where hippo.sh plugin goes +# * this is where udroid.sh plugin goes SCRIPT_DIR="${TPREFIX}/usr/etc/proot-distro/" -# HIPPO_REPO_URL & FSM_URL are github repo urls later used to clone the code -HIPPO_REPO_URL="https://github.com/RandomCoderOrg/ubuntu-on-android" +# UDROID_REPO_URL & FSM_URL are github repo urls later used to clone the code +UDROID_REPO_URL="https://github.com/RandomCoderOrg/ubuntu-on-android" FSM_URL="https://github.com/RandomCoderOrg/fs-manager-udroid" # DEPENDS programs required to run Hippo # * proot-distro - A proot manager tool -# (which starts hippo) +# (which starts udroid) # * git - the stupid content tracker # (used to copy code from github repo) # * pulseaudo - PulseAudio is a networked low-latency sound server for Linux -# (which is used to get audio from hippo using moudle-tcp*) +# (which is used to get audio from udroid using moudle-tcp*) # * Others dependencies like tar comes pre-loaded in termux so no need to mention DEPENDS="proot-distro pulseaudio git" @@ -70,27 +60,29 @@ DEPENDS="proot-distro pulseaudio git" # shout() pring messege in a good way with some lines # lshout() print messege in a standard way -die () { echo -e "${RED}Error ${*}${RST}";exit 1 ;:;} -warn () { echo -e "${RED}Error ${*}${RST}";:;} -shout () { echo -e "${DC}-----";echo -e "${*}";echo -e "-----${RST}";:; } -lshout () { echo -e "${DC}";echo -e "${*}";echo -e "${RST}";:; } - +die() { echo -e "${_c_red}[E] ${*}${RST}";exit 1;:;} +warn() { echo -e "${_c_red}[W] ${*}${RST}";:;} +shout() { echo -e "${_c_blue}[-] ${*}${RST}";:;} +lshout() { echo -e "${_c_blue}-> ${*}${RST}";:;} +msg() { echo -e "${*} \e[0m" >&2;:;} shout "\e[1;32m Udroid Installer v${version} ${version_code_name} \n by ${installer_authors}" sleep 2 case $(uname -m) in - aarch64|armv7l|armv8l) : ;; - *) - die ": sorry Only aarch64 armv7l armv8l os architecture is supported for now" + aarch64|armv7l) : ;; + armv8l) warn "armv8l may cause issues";; + *) + die ": sorry Only aarch64 armv7l os architecture is supported for now" ;; esac + ###################################### # * function setup_and_clone # # 1. install required programs -# 2. remove previous cache if found -# 3. clone code from links in HIPPO_REPO_URL & FSM_URL +# 2. remove previous cache if found +# 3. clone code from links in UDROID_REPO_URL & FSM_URL # 4. call install function # if anything goes wrong or any program in code fails kill the installation by calling die function @@ -98,7 +90,7 @@ function _NOTICE_() { if [ ! -f ~/.udroid_notice.lock ]; then touch ~/.udroid_notice.lock - shout "The Code name for this ubuntu is chaned from \"hippo\" to \"udroid\"" + shout "The Code name for this ubuntu is chaned from \"udroid\" to \"udroid\"" sleep 5 fi } @@ -127,14 +119,13 @@ function setup_and_clone() shout "Cloning code from Github........." if [ -n "${BRANCH}" ]; then - git clone -b "${BRANCH}" ${HIPPO_REPO_URL} "${CACHE_ROOT}/ubuntu-on-android" || die "failed to clone repo" - git clone -b "${BRANCH}" ${FSM_URL} "${CACHE_ROOT}/fs-manager-udroid" || die "failed to clone repo" + git clone -b "${BRANCH}" ${UDROID_REPO_URL} "${CACHE_ROOT}/ubuntu-on-android" || die "failed to clone repo ubuntu-on-android.." + git clone -b "${BRANCH}" ${FSM_URL} "${CACHE_ROOT}/fs-manager-udroid" || die "failed to clone repo fs-manager-udroid" else - git clone ${HIPPO_REPO_URL} "${CACHE_ROOT}/ubuntu-on-android" || die "failed to clone repo" - git clone ${FSM_URL} "${CACHE_ROOT}/fs-manager-udroid" || die "failed to clone repo" + git clone ${UDROID_REPO_URL} "${CACHE_ROOT}/ubuntu-on-android" || die "failed to clone repo ubuntu-on-android \"${BRANCH}\"" + git clone ${FSM_URL} "${CACHE_ROOT}/fs-manager-udroid" || die "failed to clone repo fs-manager-udroid \"${BRANCH}\"" fi lshout "Done..." - install } @@ -142,8 +133,8 @@ function setup_and_clone() # * function install # # 1. chech for plugin and copy to proot-distro plugin folder -# 2. chech for fs-manager-udroid(hippo) install script in its root directory and run it -# 3. trigger hippo installation +# 2. chech for fs-manager-udroid(udroid) install script in its root directory and run it +# 3. trigger udroid installation # 4. show echo of installation complete and clear screen # if anything goes wrong or any program in code fails kill the installation by calling die function @@ -152,13 +143,13 @@ function install() shout "setting up proot-distro udroid implant..." sleep 3 - + if [ -f ${SCRIPT_DIR} ]; then mv ${SCRIPT_DIR} "${SCRIPT_DIR}1" fi if [ -f "${CACHE_ROOT}"/ubuntu-on-android/udroid.sh ]; then - cp "${CACHE_ROOT}"/ubuntu-on-android/udroid.sh ${SCRIPT_DIR} + cp "${CACHE_ROOT}"/ubuntu-on-android/plugins/udroid.sh ${SCRIPT_DIR} fi if [ -f "${CACHE_ROOT}"/fs-manager-udroid/install.sh ]; then @@ -168,13 +159,9 @@ function install() cd "${oldpwd}" || die "error" fi - - shout "setup complete...\nNow you can install and login with comand ${GREEN}udroid${DC} \nfor info use udroid --help" - lshout "for additional documentation see: https://github.com/RandomCoderOrg/ubuntu-on-android#basic-usage" - lshout "report issues and feature requests at: https://github.com/RandomCoderOrg/ubuntu-on-android/issues" - lshout "Join Our discord server: https://discord.gg/u7KDGUc3Aw" - exit 1 + shout "setup complete..." + lshout "Now you can login to udroid with ${c_green}udroid -l $suite${RST}" } _NOTICE_ diff --git a/md/desclaimer.md b/md/desclaimer.md new file mode 100644 index 0000000..b6d06a1 --- /dev/null +++ b/md/desclaimer.md @@ -0,0 +1,39 @@ +## Note & Disclaimer! + +**A note before you try** +- As lot of it is preinstalled you can login and start right after you install. +- Before installation, be sure that you're on stable internet and your device have 5-6gb free space for neat installation. +- As this runs on termux and on software rendering so performance clearly depends on CPU, ram and storage read-write speed! +- Consider not to try heavy apps unless you got a good device. +- If you have any issues or suggestions make sure i know at https://github.com/RandomCoderOrg/ubuntu-on-android/issue (create an issue) + +**Disclaimer** +- I dont work with any company or organization of ubuntu or any third party sources took in making fs(for now). +- This project works by compliying to selinux android. and all aim of the project is just run linux on android without direct root with a twist and this project improves time by time with your support and motivation. +- the linux you trying to install from this repo is not fully functional in target space because of the selinux policies, and increasing requirement in linux requirements and also because project is set to run with `ptrace()` a low level access in android kernel +- Graphics performence is really bad cause proot and usage on VNC, we dont support any adoptation on improving it **for now** cause insufficient data on android (ping me in discord if you have any ideas or any codes on this) +- **(Update)** see https://github.com/RandomCoderOrg/ubuntu-on-android/wiki/XWayland-in-proot to run smooth and fast session +- This project comes without warranties or data protection +- The Linux you're trying to install from this repo is not fully functional in the target space because of the SELinux policies, and increasing requirement in Linux requirements, and also because the project is set to run with ptrace() low-level access in android kernel +- That lead to: +- No direct access to hardware, fluctuations in services, performance overheads, sudo issues etc. + +**Display** +- Access to display/control Desktop environment can be accomplished by various methods like +- Termux:Wayland **Recommended** +- xRDP +- Vncserver ( RealVnc Viewer, Bvnc, Nethunter Vnc etc ) +- Xserver XSDL + +**Audio** +- Audio works by enabling pulseserver with a tcp reciver module at `127.0.0.1` and `udroid` manager takes care on starting audio service ( additional setup mamy require for some apps ). + +**HID interfaces** +- Keyboard and mouse emulation depends on apps you use to access desktop environment. Bvnc/nethunter KEX app provides better interface with hardware and mouse + +**Graphics** +- For this time being there is no standardized way of accessing or using device GPU at it's full potential so llvm pipes are used! (OpenGl version may depend on device OS). Most of the solutions are tricks to get more performence or vendor specific implementaions (like kernel graphics support layer/DRI ). +- Best way to experience native linux like performence is using Termux:Wayland app which is wayland port to android + +**Others** +- PRoot for android is still in devoloping stage and not ready for using daily life linux. all the linux codes and apps are not devoloped for PRoot. popular apps like snap flatpack which depends on Systemd (which is not possible without root and Hallium project in android) wont work. proot on android platform is devoloping mostly by the efforts of termux and many random devolopers and big part of linux/android user community. this projects is also result of so many experiments and mixture of hacks and tricks to start things in android. diff --git a/md/installation.md b/md/installation.md new file mode 100644 index 0000000..8d79a05 --- /dev/null +++ b/md/installation.md @@ -0,0 +1,60 @@ +# Installation + +- First install termux from [termux.com](https://termux.com) or [F-Droid!](https://f-droid.org/en/packages/com.termux/) +- For display, you can use [Xwayland](https://github.com/termux/termux-x11) too. + +### Video tutorial +https://youtu.be/iVF0swfqsKo + +### Getting Sources and install scripts +```bash +# download installer +curl -L -o install.sh https://git.io/hippo-installer +# run the installer +bash install.sh +# Install ubuntu with this command +udroid --install +``` +### Basic Usage + | **Command** | **Usage** | + |--------------------|-----------| + | `udroid` | To login to shell | + | `udroid upgrade` | to upgrade fs or to get new features if available | + | `startvnc` | start vncserver at port `1` (you can change default port by exporting env varaible `DEFAULT_VNC_PORT` to a port number) | + | `udroid stopvnc` | stop vncserver at given or default port `1` + | `udroid --enable-dbus` | To start udroid with dbus hack enabled | + | `udroid --enable-dbus-vnc` | To start vnc session with dbus hack enabled | + +### Env Variables +- `DEFAULT_VNC_PORT` to set vnc port for scripts +- `HIPPO_BRANCH` to set custom branch for cloning code + +### Audio +Pulseaudio starts everytime you invoke start commands with `udroid` + +> You can start audio manually with this command +```bash +pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1 +``` +### Default passwds for XFCE4 + +| |password| +|--|--------| +| udroid user | `secret` | +|vncserver root | `secret` | + +### Setting up Xwayland manually + +First up of all install Termux-x11 from above link, in termux use +``` +XDG_RUNTIME_DIR=$PREFIX/bin Xwayland -ac :1 > /dev/null & +``` +This time start udroid with +``` +proot-distro login udroid --shared-tmp +``` +And then start Xfce4 on Xwayland via +``` +DISPLAY=:1 xfce4-session +``` + diff --git a/md/showcase.md b/md/showcase.md new file mode 100644 index 0000000..73ecd04 --- /dev/null +++ b/md/showcase.md @@ -0,0 +1,7 @@ +![image](assets/IMG_20211014_084124.jpg) +![image](assets/IMG_20211014_084143.jpg) +![image](assets/five.png) +![image](assets/four.png) +![image](assets/three.png) +![image](assets/two.png) +![image](assets/one.png) diff --git a/pd-plugins/default/plugins.prop b/pd-plugins/default/plugins.prop new file mode 100644 index 0000000..6309f30 --- /dev/null +++ b/pd-plugins/default/plugins.prop @@ -0,0 +1,2 @@ +suite="impish" +avalibe_varients=("mate" "xfce4" "raw") \ No newline at end of file diff --git a/pd-plugins/default/udroid-impish-mate.sh b/pd-plugins/default/udroid-impish-mate.sh new file mode 100644 index 0000000..4d61c6b --- /dev/null +++ b/pd-plugins/default/udroid-impish-mate.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +DISTRO_NAME="udroid" +DISTRO_COMMENT="A ubuntu 21.04 port with some tweaks xfce4" + +TARBALL_STRIP_OPT=0 + +TARBALL_URL['aarch64']="https://github.com/RandomCoderOrg/ubuntu-on-android/releases/download/v3/udroid-mate-arm64-betav2.tar.gz" +TARBALL_SHA256['aarch64']="3069a4c40c6d2982e943216f46ce52516a3c8d5ae29bdde633237ddd3748c88b" +# TARBALL_URL['amd64']="" +# TARBALL_SHA256['amd64']="" +# TARBALL_URL['arm']="" +# TARBALL_SHA256['arm']="" diff --git a/pd-plugins/default/udroid-impish-raw.sh b/pd-plugins/default/udroid-impish-raw.sh new file mode 100644 index 0000000..8769184 --- /dev/null +++ b/pd-plugins/default/udroid-impish-raw.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +DISTRO_NAME="udroid" +DISTRO_COMMENT="A ubuntu 21.04 port with some tweaks xfce4" + +TARBALL_STRIP_OPT=0 + +TARBALL_URL['aarch64']="" +TARBALL_SHA256['aarch64']="" +TARBALL_URL['amd64']="" +TARBALL_SHA256['amd64']="" +TARBALL_URL['arm']="" +TARBALL_SHA256['arm']="" diff --git a/pd-plugins/default/udroid-impish-xfce4.sh b/pd-plugins/default/udroid-impish-xfce4.sh new file mode 100644 index 0000000..17351ef --- /dev/null +++ b/pd-plugins/default/udroid-impish-xfce4.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +DISTRO_NAME="udroid" +DISTRO_COMMENT="A ubuntu 21.04 port with some tweaks xfce4" + +TARBALL_STRIP_OPT=0 + +TARBALL_URL['aarch64']="https://github.com/RandomCoderOrg/ubuntu-on-android/releases/download/v3/udroid-impish-xfce4-beta.tar.gz" +TARBALL_SHA256['aarch64']="dc5a75a4cf6b8948851d192174a265caf7639ac4c9c42aa436bebbf38873cfa8" + diff --git a/pd-plugins/jammy/plugins.prop b/pd-plugins/jammy/plugins.prop new file mode 100644 index 0000000..9905cdb --- /dev/null +++ b/pd-plugins/jammy/plugins.prop @@ -0,0 +1,2 @@ +suite="jammy" +avalibe_varients=("raw") \ No newline at end of file diff --git a/pd-plugins/jammy/udroid-jammy-raw.sh b/pd-plugins/jammy/udroid-jammy-raw.sh new file mode 100644 index 0000000..92a3c84 --- /dev/null +++ b/pd-plugins/jammy/udroid-jammy-raw.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash + +DISTRO_NAME="jammy" +DISTRO_COMMENT="A ubuntu 22.04 port by udroid" + +TARBALL_STRIP_OPT=0 + +TARBALL_URL['aarch64']="https://github.com/RandomCoderOrg/fs-cook/releases/download/v1.1/jammy-raw-arm64.tar.gz" +TARBALL_SHA256['aarch64']="150c596762e3afde11d10b1917192491c9685481b161756a990a440551d01187" +TARBALL_URL['arm']="https://github.com/RandomCoderOrg/fs-cook/releases/download/v1.1/jammy-raw-armhf.tar.gz" +TARBALL_SHA256['arm']="b7740025794f23754d35338db1339c51257200190b6b8d33d907794c9d663b1f" +TARBALL_URL['amd64']="https://github.com/RandomCoderOrg/fs-cook/releases/download/v1.1/jammy-raw-amd64.tar.gz" +TARBALL_SHA256['amd64']="ff3eab7fcf7fe4898016119913fad7393f5f308192fc10d39a879c5fa3f03026" + +distro_setup() { + target_dir="/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/udroid-jammy-raw" + SUITE="jammy" + + case $(dpkg --print-architecture) in + arm64|i386) + MIRROR="http://archive.ubuntu.com/ubuntu/" + ;; + *) + MIRROR="http://ports.ubuntu.com/ubuntu-ports/" + ;; + esac + +cat <<- EOF > "$target_dir/etc/apt/sources.list" +# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to +# newer versions of the distribution. +deb $MIRROR $SUITE main restricted +# deb-src $MIRROR $SUITE main restricted +## Major bug fix updates produced after the final release of the +## distribution. +deb $MIRROR $SUITE-updates main restricted +# deb-src $MIRROR $SUITE-updates main restricted +## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu +## team. Also, please note that software in universe WILL NOT receive any +## review or updates from the Ubuntu security team. +deb $MIRROR $SUITE universe +# deb-src $MIRROR $SUITE universe +deb $MIRROR $SUITE-updates universe +# deb-src $MIRROR $SUITE-updates universe +## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu +## team, and may not be under a free licence. Please satisfy yourself as to +## your rights to use the software. Also, please note that software in +## multiverse WILL NOT receive any review or updates from the Ubuntu +## security team. +deb $MIRROR $SUITE multiverse +# deb-src $MIRROR $SUITE multiverse +deb $MIRROR $SUITE-updates multiverse +# deb-src $MIRROR $SUITE-updates multiverse +## N.B. software from this repository may not have been tested as +## extensively as that contained in the main release, although it includes +## newer versions of some applications which may provide useful features. +## Also, please note that software in backports WILL NOT receive any review +## or updates from the Ubuntu security team. +deb $MIRROR $SUITE-backports main restricted universe multiverse +# deb-src $MIRROR $SUITE-backports main restricted universe multiverse +EOF + +} \ No newline at end of file diff --git a/src/images/app_showcase.jpg b/src/images/app_showcase.jpg deleted file mode 100755 index 762a650..0000000 Binary files a/src/images/app_showcase.jpg and /dev/null differ diff --git a/src/images/desktop.jpg b/src/images/desktop.jpg deleted file mode 100755 index 4c659e5..0000000 Binary files a/src/images/desktop.jpg and /dev/null differ diff --git a/src/images/edited_showcase.png b/src/images/edited_showcase.png deleted file mode 100644 index 838f660..0000000 Binary files a/src/images/edited_showcase.png and /dev/null differ diff --git a/src/images/five.png b/src/images/five.png deleted file mode 100644 index 9010bc9..0000000 Binary files a/src/images/five.png and /dev/null differ diff --git a/src/images/four.png b/src/images/four.png deleted file mode 100644 index b53cf22..0000000 Binary files a/src/images/four.png and /dev/null differ diff --git a/src/images/one.png b/src/images/one.png deleted file mode 100644 index 22e8e11..0000000 Binary files a/src/images/one.png and /dev/null differ diff --git a/src/images/six.png b/src/images/six.png deleted file mode 100644 index eac6988..0000000 Binary files a/src/images/six.png and /dev/null differ diff --git a/src/images/three.png b/src/images/three.png deleted file mode 100644 index f481486..0000000 Binary files a/src/images/three.png and /dev/null differ diff --git a/src/images/two.png b/src/images/two.png deleted file mode 100644 index b2b94ef..0000000 Binary files a/src/images/two.png and /dev/null differ diff --git a/udroid.sh b/udroid.sh deleted file mode 100644 index 288b616..0000000 --- a/udroid.sh +++ /dev/null @@ -1,9 +0,0 @@ -DISTRO_NAME="udroid" -DISTRO_COMMENT="A ubuntu 21.04 port with some tweaks xfce4" - -TARBALL_STRIP_OPT=0 - -TARBALL_URL['aarch64']="https://github.com/RandomCoderOrg/ubuntu-on-android/releases/download/v02-xfce4/hippo-arm64-v02-xfce4.tar.gz" -TARBALL_SHA256['aarch64']="282a7498046ef0e4f0a57265725d739e67048bb2b64ba2f4441ca4ce1a67ea40" -TARBALL_URL['arm']="https://github.com/RandomCoderOrg/ubuntu-on-android/releases/download/v02-xfce4/hippo-armhf-v02-xfce4.tar.gz" -TARBALL_SHA256['arm']="e797c8590644ffd968dc1727474b533f7bc32e22f69a5f91e519614315baf211"