76 lines
No EOL
2.1 KiB
Markdown
76 lines
No EOL
2.1 KiB
Markdown
# androot
|
|
Chroot and systemd-nspawn rootfs installer
|
|
|
|
# Experimental
|
|
androot is experimental software and can lead to breakage! \
|
|
Only run these scripts with extensive knowledge of Linux (and Android if using Termux)!
|
|
|
|
# How to use
|
|
## Termux
|
|
### WARNING
|
|
If you want to use **androot** under Android you need a working Magisk or KernelSU installation. \
|
|
If you wish to install a (more limited) Linux distribution without root access use [Andronix](https://play.google.com/store/apps/details?id=studio.com.techriz.andronix) instead. \
|
|
### Dependencies
|
|
- Magisk/KernelSU
|
|
- curl
|
|
- bash
|
|
- chroot
|
|
- bsdtar
|
|
- tsu
|
|
### Use
|
|
`curl -sSL "https://git.staropensource.de/StarOpenSource/androot/raw/branch/master/androot.sh"|sudo bash - --download`
|
|
|
|
## Linux
|
|
### Dependencies
|
|
- curl
|
|
- bash
|
|
- chroot/systemd-nspawn
|
|
- bsdtar
|
|
### Use
|
|
`curl -sSL "https://git.staropensource.de/StarOpenSource/androot/raw/branch/master/androot.sh"|sudo bash - --download`
|
|
|
|
# Architectures
|
|
## Supported (target architectures)
|
|
- x86_64 (amd64)
|
|
- arm64 (aarch64)
|
|
## Supported (execution architectures)
|
|
- x86_64 (amd64)
|
|
- arm64 (aarch64)
|
|
- powerpc64 (ppc64,ppc64le)
|
|
- mips64
|
|
## Unsupported
|
|
- x86 (i386,i686)
|
|
- arm
|
|
- powerpc (ppc,ppcle)
|
|
- mips
|
|
|
|
# Distributions
|
|
- Arch Linux
|
|
|
|
# How does this work?
|
|
## tldr
|
|
We download & decompress a rootfs, apply some magic and make it useable with the help of `chroot` or `systemd-nspawn`.
|
|
## The short answer
|
|
1. check architecture
|
|
2. ask for target architecture, execution architecture(s) and distribution
|
|
3. download rootfs
|
|
4. decompress rootfs
|
|
5. mount rootfs
|
|
6. install updates and bootscript dependencies
|
|
7. apply patches (if using chroot)
|
|
8. download bootscripts
|
|
9. unmount rootfs
|
|
10. finish and print information about how to "boot" the rootfs
|
|
## The long answer
|
|
Just read the source code.
|
|
|
|
# How to test
|
|
`if shellcheck *.sh; then sudo env DIAG=true ./androot.sh --local; else echo ":: shellcheck failed, please resolve these errors"; fi`
|
|
|
|
# Annotations
|
|
```plain
|
|
### TOBECHANGED - this should be changed in the future
|
|
### UNIMPLEMENTED - not yet finished
|
|
### EXPERIMENTAL - experimental code, probably not safe yet
|
|
### MISIMPLEMENTED - implemented, but wrong
|
|
``` |