From 7e5086028ab916758ffafe9717e0c48809e46530 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 04:00:52 +0000 Subject: [PATCH 1/3] Add scripts to support building on Termux via PRoot This commit adds `setup_termux.sh` and `scripts/setup_proot_env.sh` to allow users to easily set up a Debian PRoot environment in Termux with all necessary build dependencies. It also updates `README.md` with instructions on how to use these scripts. Co-authored-by: 0m364 <13804150+0m364@users.noreply.github.com> --- README.md | 22 ++++++++++++++++++++ scripts/setup_proot_env.sh | 10 +++++++++ setup_termux.sh | 42 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100755 scripts/setup_proot_env.sh create mode 100755 setup_termux.sh diff --git a/README.md b/README.md index 270b82c..454c55c 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,28 @@ sysbuild.sh ``` +## Building on Termux (Android) + +It is possible to build the system directly on an Android device using Termux and PRoot. + +1. Clone this repository in Termux. +2. Run the setup script to install `proot-distro`, `debian`, and build dependencies: + ```bash + ./setup_termux.sh + ``` +3. Enter the build environment (follow the instructions printed by the setup script): + ```bash + proot-distro login debian --bind ".:/root/LinuxFromScratch" --cwd /root/LinuxFromScratch + ``` +4. Proceed with the build as usual inside the PRoot environment: + ```bash + ./set_env.sh [TARGET_NAME] + sysbuild.sh + ``` + +Note: Generating the SD card image (`init_sd.sh`) inside Termux is not supported due to lack of root privileges and loop device support. You can copy the generated `root-fs` to a PC to create the image. + + ## Usage To setup the build environnement run from the repository root folder diff --git a/scripts/setup_proot_env.sh b/scripts/setup_proot_env.sh new file mode 100755 index 0000000..77763ce --- /dev/null +++ b/scripts/setup_proot_env.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# Install dependencies inside PRoot (Debian/Ubuntu) + +# Update package lists +apt update + +# Install build dependencies +apt install -y build-essential git wget bzip2 file bc unzip rsync python3 cpio libncurses-dev gawk bison flex texinfo patch gzip perl sed tar diffutils grep coreutils make libssl-dev zlib1g-dev libelf-dev + +echo "Dependencies installed." diff --git a/setup_termux.sh b/setup_termux.sh new file mode 100755 index 0000000..0358ee1 --- /dev/null +++ b/setup_termux.sh @@ -0,0 +1,42 @@ +#!/data/data/com.termux/files/usr/bin/bash + +# Check if running in Termux +if [ -z "$TERMUX_VERSION" ]; then + echo "This script is intended for Termux environment." + exit 1 +fi + +echo "Setting up Termux build environment..." + +# Check if proot-distro is installed +if ! command -v proot-distro &> /dev/null; then + echo "Installing proot-distro..." + pkg install -y proot-distro +fi + +# Install debian if not already installed +# proot-distro install checks if it is installed, so we can just run it. +# However, to avoid redownloading/checking every time if it takes long, we can check. +if ! proot-distro list | grep -q "debian (installed)"; then + echo "Installing Debian..." + proot-distro install debian +else + echo "Debian is already installed." +fi + +# Determine repo directory +REPO_DIR=$(pwd) +SCRIPT_PATH="/root/LinuxFromScratch/scripts/setup_proot_env.sh" + +echo "Installing dependencies inside PRoot environment..." +# We bind mount the current directory to /root/LinuxFromScratch +# Run the setup script using bash explicitly +proot-distro login debian --bind "$REPO_DIR:/root/LinuxFromScratch" -- bash "$SCRIPT_PATH" + +echo "Setup complete." +echo "To enter the build environment, run:" +echo "proot-distro login debian --bind \"$REPO_DIR:/root/LinuxFromScratch\" --cwd /root/LinuxFromScratch" +echo "" +echo "Then inside the environment:" +echo "./set_env.sh " +echo "sysbuild.sh" From 5779eb34d727c48a11b7c88f53f7c28c172c7790 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 04:53:25 +0000 Subject: [PATCH 2/3] Add scripts to support building on Termux via PRoot This commit adds `setup_termux.sh` and `scripts/setup_proot_env.sh` to allow users to easily set up a Debian PRoot environment in Termux with all necessary build dependencies. It also updates `README.md` with instructions on how to use these scripts. Co-authored-by: 0m364 <13804150+0m364@users.noreply.github.com> From 8670d82ac9a330b1cd5c7f89b812fdde53311d73 Mon Sep 17 00:00:00 2001 From: Smalleyes 0m364 Date: Wed, 8 Apr 2026 12:55:24 -0400 Subject: [PATCH 3/3] Add files via upload --- LFS_made_easy_smalleyes_0m364.pdf | Bin 0 -> 31738 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LFS_made_easy_smalleyes_0m364.pdf diff --git a/LFS_made_easy_smalleyes_0m364.pdf b/LFS_made_easy_smalleyes_0m364.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d950e33e87c6c23822b596133132709d5a2c54e5 GIT binary patch literal 31738 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 hmZQ!nU;h@kMj3gIxQ)U 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 a2>&je7QVlK4@;uOwA%kd5OFU3>;D18bJSV@ literal 0 HcmV?d00001