Skip to content

Repository files navigation

Enroot - Mobile Termux plus Linux (LFS)

Cross-compiled Linux From Scratch (CLFS), adapted for PRoot targets (no reboot, no root).

Enroot picks up where mainline Cross Linux From Scratch and the LFS Cross Edition leave off. Both assume you can reboot into the target system once the temporary toolchain is built. On Android under Termux/PRoot, that assumption breaks — there's no kernel handoff, no bootloader, no root. Enroot documents and scripts the path from "cross-compiled toolchain" to "usable userland running under PRoot," which nothing else currently covers.


Freyja banner

Why this exists

  • The original CLFS project (2006–2017) is archived and inactive.
  • Pierre Labastie's Cross Edition modernized cross-compilation for LFS 13.0, but its endpoint is "reboot into the target hardware" — not applicable to a sandboxed, rootless Android environment.
  • No public project currently documents building an LFS-methodology system that ends in a PRoot namespace instead of a bootable target.

Relationship to upstream LFS

Enroot is not a fork of the LFS book — it's a continuation for a different target environment.

Phase Source Notes
Toolchain bootstrap, temp system cross-compile LFS 13.0 Cross Edition (credited, unmodified methodology) Standard cross-compile-before-chroot approach
Target boot Diverges here Cross Edition: reboot into target. Enroot: no reboot — build for PRoot execution instead
Init / session management Custom No systemd-under-PRoot; elogind in place of systemd-logind
Desktop environment Custom XFCE, D-Bus org.freedesktop.login1 contract satisfied via elogind

Status / known blockers

  • Verify what XFCE actually requires without systemd-logind (in progress)
  • elogind build + integration for PRoot userland
  • VNC server for display output (no direct framebuffer/DRM access under PRoot)
  • systemd-under-PRoot — primary anticipated blocker, likely resolved by not using systemd at all in this target (elogind-only init)
  • Document divergence point precisely (which LFS chapter/step Enroot's instructions replace)

Repo structure (proposed)

enroot/
├── README.md
├── docs/
│   ├── ALL_STARTS_HERE.md          # why this exists, how it differs from Cross Edition and how can you set it up 
│   ├── Enviornment-Setup.md         # cross-compile phase, references upstream LFS steps
│   ├── Overview_Main.md             # exact point where Enroot deviates from reboot-based CLFS
│   ├──Package_001_Linux_Headers(000).md    # BUILDING THE LINUX KERNEL
│   ├── ALL THE OTHER REMAINING PACKAGES 
│   
├── scripts/
│   ├── build-toolchain.sh
│   ├── build-temp-system.sh
│   ├── build-proot-rootfs.sh
│   └── verify-hostreqs.sh
├── configs/
│   └── (elogind, D-Bus, XFCE session configs)
└── CREDITS.md                  # attribution to LFS project, Pierre Labastie's Cross Edition

Credits

Built on the methodology of:

Enroot does not reproduce book content verbatim — it documents the additional/divergent steps needed for a PRoot target.

License

Creative Commons Legal Code

About

Mobile Termux Plus Linux From Scratch, basically a new and different version of old non usable and outdated CLFS (CROSS LINUX FROM SCRATCH)

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages