ChArch Dinit is an add-on for the default ChArch chroot instance. It arranges for dinit inside that Linux environment to start automatically when Android boots, making it suitable for persistent services such as scheduled jobs, tunnels, or small self-hosted tools.
dinit for an Existing ChArch Environment
The module initializes services; it does not download Arch Linux or create the ChArch root filesystem by itself.
ChArch Add-on
Requires the separate ChArch module and its default rootfs instance to be installed and usable first.
Service Supervision
Uses dinit inside the chroot to start and supervise services described by the environment's dinit configuration.
Boot Startup
After configuration, Android startup launches dinit for the default instance so enabled chroot services can start automatically.
Required Setup Order
- Install the separate ChArch root module.
- Install ChArch Dinit.
- Create the default rootfs using ChArch's
mkarchworkflow and a rootfs matching the device architecture. - Install the
dinitpackage inside the chroot. - Create an executable
/usr/bin/dinit-initentry, such as a symlink to/usr/bin/dinit, then define the services dinit should manage.
ln -s /usr/bin/dinit /usr/bin/dinit-initProject Scope and Testing
The author documents Alpine Linux and Artix Linux as preferred chroot environments and provides a separate dinit.d repository with example service definitions. The reported device test is a Samsung Galaxy S7 edge running LineageOS 16 on Android 9.
That test was used for Cloudflare Tunnel, cron, and automation services. Other ROMs, Android releases, architectures, and root managers should be treated as unverified unless confirmed independently.
dinit-init, invalid service dependency, or unavailable mount can prevent chroot services from starting even when the Android module itself installs successfully.