androot/README.md

80 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2023-11-07 17:23:39 +01:00
# androot
Chroot and systemd-nspawn rootfs installer
# Experimental
**androot** is experimental software and can lead to breakage! \
2023-11-07 17:23:39 +01:00
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.
2023-11-07 17:23:39 +01:00
### Dependencies
- [*Magisk*](https://github.com/topjohnwu/Magisk)/[*Magisk Delta*](https://github.com/HuskyDG/magisk-files)/[*KernelSU*](https://kernelsu.org)
2023-11-07 17:23:39 +01:00
- 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 "bootable" with the help of `chroot` or `systemd-nspawn`.
2023-11-07 17:23:39 +01:00
## 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
`make test` to run it, `make log` to view the log file.
## Recommendation
We recommend using */dev/shm* as a install location during development. Although using temporary directories \
is disallowed for normal installations we highly recommend using */dev/shm* during development as you will \
be wearing out your disk very fast otherwise. Just make sure that you have enough memory available and that you \
use */dev/shm* instead of */tmp* as your install location (*/tmp* uses your disk while */dev/shm* uses your computer memory).
2023-11-07 17:23:39 +01:00
# Annotations
```plain
### TOBECHANGED - this should be changed in the future
### MISIMPLEMENTED - implemented, but wrong
```