|
1 | | -# Auto-Linux (Rust Edition) |
| 1 | +# Auto-Linux |
2 | 2 |
|
3 | 3 |  |
4 | 4 |  |
5 | 5 | -green) |
6 | 6 |  |
7 | 7 |
|
8 | | -**Auto-Linux** is a standalone, lightweight, and blazing fast Linux installer/manager for Android, written entirely in **Rust**. It provides a beautiful Terminal User Interface (TUI) to install, configure, and manage Ubuntu chroots without requiring Termux, Busybox, or external dependencies. |
| 8 | +**Auto-Linux** is a standalone, lightweight Linux installer and manager for **rooted** Android devices. Written entirely in Rust, it provides an intuitive Terminal User Interface (TUI) to install and manage Ubuntu chroot environments without external dependencies like Termux or Busybox. |
9 | 9 |
|
10 | | -> **Built for speed, stability, and ease of use.** |
| 10 | +> Focusing on a minimal, dependency-free, and robust chroot experience. |
11 | 11 |
|
12 | 12 | --- |
13 | 13 |
|
14 | 14 | ## Key Features |
15 | 15 |
|
16 | | -* **Native & Standalone:** Compiled as a static binary (`musl`). Zero dependencies. No Termux needed. |
17 | | -* **Beautiful TUI:** Powered by `ratatui`. Keyboard-driven dashboard. |
18 | | -* **Instant Launch:** Switch users and enter Chroot directly from the dashboard. |
19 | | -* **Auto-Configuration:** |
20 | | - * **Network:** Auto-detects DNS and fixes connection issues inside chroot. |
21 | | - * **Users:** Auto-creates User & Password during setup. |
22 | | - * **Sudo:** Auto-configures `sudo` (wheel group) privileges. |
23 | | - * **Mounts:** Handles `/dev`, `/proc`, `/sys`, `/sdcard` binding automatically. |
24 | | -* **Distribution Support:** Ubuntu 20.04 LTS up to 26.04. |
25 | | -* **Root Detection:** Supports Magisk, KernelSU, and APatch natively. |
| 16 | +* **Truly Standalone:** Compiled as a single, static `musl` binary. It has zero runtime dependencies and does not require Termux to function. |
| 17 | +* **Intuitive TUI:** A clean, keyboard-driven dashboard powered by `ratatui` for easy navigation and management. |
| 18 | +* **Direct Chroot Management:** Launch directly into a chroot environment, select users (`root` or a standard user), and manage installed distributions from the dashboard. |
| 19 | +* **Smart Root Elevation:** The application automatically detects if it's running without root privileges and attempts to elevate itself via `su`. |
| 20 | +* **Automated Configuration:** |
| 21 | + - **Network:** Seamlessly sets up DNS (`resolv.conf`) to ensure internet connectivity inside the chroot. |
| 22 | + - **Users:** Creates a standard user with a password and `sudo` privileges during the initial setup. |
| 23 | + - **System Mounts:** Automatically handles bind mounts for `/dev`, `/proc`, `/sys`, and `/sdcard`. |
| 24 | +* **Broad Distribution Support:** Installs official Ubuntu base images from 20.04 LTS up to the latest 24.10 release. |
26 | 25 |
|
27 | 26 | --- |
28 | 27 |
|
29 | 28 | ## Screenshots |
30 | 29 |
|
31 | | -Preview: |
| 30 | +*Dashboard:* |
32 | 31 |  |
33 | 32 |
|
| 33 | +*Distro List & Installation :* |
34 | 34 |  |
35 | 35 |
|
| 36 | +*User Selection:* |
36 | 37 |  |
37 | 38 |
|
38 | | - |
39 | 39 | --- |
40 | 40 |
|
41 | 41 | ## Installation |
42 | 42 |
|
43 | | -### Option 1: One-Line Install. |
44 | | -Run this command in **Termux**, **ADB Shell**, or any Terminal Emulator: |
| 43 | +**Requirement:** A rooted Android device with an `su` binary in `PATH`. |
| 44 | + |
| 45 | +### Recommended: Quick Install Script |
| 46 | +Execute this command in a terminal environment like **Termux** or an **ADB Shell**: |
45 | 47 |
|
46 | 48 | ```bash |
47 | 49 | curl -sL https://raw.githubusercontent.com/HanSoBored/Auto-Linux/main/install.sh | sh |
48 | 50 | ``` |
| 51 | +> The script automatically detects your device architecture, downloads the correct binary to `/data/local/tmp`, sets permissions, and creates a convenient `autolinux` alias if you are using Termux. |
49 | 52 |
|
50 | | -> **Note:** This script automatically detects if you have Termux installed and creates a shortcut. You can then simply type `autolinux` to start. |
51 | | -
|
52 | | -### Option 2: Manual Install |
53 | | -1. Download the latest binary from [Releases](https://github.com/HanSoBored/Auto-Linux/releases). |
54 | | -2. Push to device: `adb push autolinux-aarch64 /data/local/tmp/autolinux` |
55 | | -3. Permission: `chmod +x /data/local/tmp/autolinux` |
56 | | -4. Run: `/data/local/tmp/autolinux` |
| 53 | +### Manual Installation |
| 54 | +1. Download the latest `autolinux-aarch64` binary from the [Releases](https://github.com/HanSoBored/Auto-Linux/releases) page. |
| 55 | +2. Push the binary to your device: |
| 56 | + ```sh |
| 57 | + adb push autolinux-aarch64 /data/local/tmp/autolinux |
| 58 | + ``` |
| 59 | +3. Make it executable: |
| 60 | + ```sh |
| 61 | + adb shell "chmod +x /data/local/tmp/autolinux" |
| 62 | + ``` |
| 63 | +4. Run the application: |
| 64 | + ```sh |
| 65 | + adb shell "/data/local/tmp/autolinux" |
| 66 | + ``` |
57 | 67 |
|
58 | 68 | --- |
59 | 69 |
|
60 | 70 | ## Build from Source |
61 | 71 |
|
62 | | -You need **Rust** and **Cross** (for cross-compiling to Android/ARM64 Musl). |
63 | | - |
64 | | -1. **Install Prerequisites**: |
| 72 | +### Prerequisites |
| 73 | +- [Rust](https://www.rust-lang.org/tools/install) toolchain. |
| 74 | +- [Cross](https://github.com/cross-rs/cross) for easy cross-compilation. |
65 | 75 | ```bash |
66 | 76 | cargo install cross |
67 | 77 | ``` |
68 | | -2. **Build Release**: |
69 | | - ```bash |
70 | | - # Static binary (Musl) ensures it runs on any Android version |
71 | | - cross build --target aarch64-unknown-linux-musl --release |
72 | | - ``` |
73 | | -3. **Locate Binary**: |
74 | | - The binary will be in `target/aarch64-unknown-linux-musl/release/autolinux`. |
| 78 | + |
| 79 | +### Build Command |
| 80 | +Compile for `aarch64` using the `musl` target to create a fully static binary. This ensures maximum compatibility across different Android versions by not depending on the system's C library (Bionic). |
| 81 | +
|
| 82 | +```bash |
| 83 | +cross build --target aarch64-unknown-linux-musl --release |
| 84 | +``` |
| 85 | +
|
| 86 | +The final binary will be located at `target/aarch64-unknown-linux-musl/release/autolinux`. |
75 | 87 |
|
76 | 88 | --- |
77 | 89 |
|
78 | 90 | ## Contributing |
79 | 91 |
|
80 | | -Contributions are welcome! |
81 | | -1. Fork the project |
82 | | -2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) |
83 | | -3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) |
84 | | -4. Push to the Branch (`git push origin feature/AmazingFeature`) |
85 | | -5. Open a Pull Request |
| 92 | +Contributions are highly welcome! Please follow these steps: |
| 93 | +1. Fork the project. |
| 94 | +2. Create your feature branch (`git checkout -b feature/AmazingFeature`). |
| 95 | +3. Commit your changes (`git commit -m 'Add some AmazingFeature'`). |
| 96 | +4. Push to the branch (`git push origin feature/AmazingFeature`). |
| 97 | +5. Open a Pull Request. |
86 | 98 |
|
87 | 99 | --- |
88 | 100 |
|
89 | 101 | ## Disclaimer |
90 | 102 |
|
91 | | -This tool modifies system partitions (mounting) and creates files in `/data`. While safe, **I am not responsible for any bricked devices or data loss.** Always backup your data. |
| 103 | +This tool requires root and performs system-level operations like mounting filesystems and modifying the `/data` partition. While it is designed to be safe, **the author is not responsible for any data loss or damage to your device.** Always ensure you have a backup of important data. |
92 | 104 |
|
93 | 105 | --- |
94 | 106 |
|
95 | 107 | ## License |
96 | 108 |
|
97 | | -Distributed under the MIT License. See [LICENSE](LICENSE)for more information. |
| 109 | +This project is distributed under the MIT License. See the [LICENSE](LICENSE) for more information. |
0 commit comments