--hw-access demonstration.I'm executing
adb/fastboot/heimdall commands remotely via Tailscale+SSH. My other phone is connected to the S10 using a Type-C to Type-C cable..!That means you can use Droidspaces to do stuff even remotely with full hardware access..!
đŋ3đĨ2đŠ1
Droidspaces-universal-test-2026-03-18.apk
14 MB
Test APK from the latest CI.
Fixes strange DHCP issues on Void Linux and Devuan Linux, resolves runit boot failures, and other related problems.
Please test it and let us know if you cannot access the Internet in the container when using NAT mode.
Fixes strange DHCP issues on Void Linux and Devuan Linux, resolves runit boot failures, and other related problems.
Please test it and let us know if you cannot access the Internet in the container when using NAT mode.
â¤3đŠ1
Droidspaces v5.7.1 has been released..!
https://github.com/ravindu644/Droidspaces-OSS/releases/tag/v5.7.1
What's changed?
@Droidspaces
https://github.com/ravindu644/Droidspaces-OSS/releases/tag/v5.7.1
What's changed?
- Fixed issues where runit caused crashes on Android because it modified kernel sysctl parameters, leading to system crashes. Resolved by selectively masking the entire /proc/sys.
- Fixed issues where Gentoo + OpenRC could not obtain an IP from the DHCP server.
- Fixed issues where Devuan received an incorrect IP from the DHCP server.
- Fixed shutdown issues in Void Linux.
- Repaired sysfs symlinks for OpenRC/Gentoo network detection.
- Rewrote firmware path management for Android.
@Droidspaces
đŋ3đŠ1
Set up UFW and Fail2Ban properly, and it actually works!
But had to enable some kernel configs to pull this off :(
Everything behaves like a real Linux server...
But had to enable some kernel configs to pull this off :(
Everything behaves like a real Linux server...
đĨ2đŠ1
Fixed 2 issues with the hardware access feature:
1. On Android, block devices like USB storage and SD cards appear under /dev/block, not /dev, unlike standard Linux. This meant attached storage never showed up in the container's devtmpfs, even in hw access mode. Fixed by bind mounting the host's /dev/block to the container's /dev/block.
2. On some devices, GPU nodes were missing in freshly mounted devtmpfs inside containers. Previously, users had to manually bind mount GPU nodes. Now, if a GPU node exists on the host but is missing in the container, we create it in the container using mknod(), no bind mount needed :)
This also fixes binder, hwbinder, and vndbinder missing issues, and resolves the GitHub issue:
https://github.com/ravindu644/Droidspaces-OSS/issues/19
1. On Android, block devices like USB storage and SD cards appear under /dev/block, not /dev, unlike standard Linux. This meant attached storage never showed up in the container's devtmpfs, even in hw access mode. Fixed by bind mounting the host's /dev/block to the container's /dev/block.
2. On some devices, GPU nodes were missing in freshly mounted devtmpfs inside containers. Previously, users had to manually bind mount GPU nodes. Now, if a GPU node exists on the host but is missing in the container, we create it in the container using mknod(), no bind mount needed :)
This also fixes binder, hwbinder, and vndbinder missing issues, and resolves the GitHub issue:
https://github.com/ravindu644/Droidspaces-OSS/issues/19
â¤7đĨ°1đŠ1
This is also one of my side projects, came way before Droidspaces.
To use
It even supports dynamic namespace isolation, hardware access, rootfs.img support, post-exec scripts as a replacement for init, running at boot even the device is locked and encrypted, etc.
Even though this is more primitive than the Droidspaces project, it still provides basic Linux on Android.
v4.4 was released with fixes related to BusyBox. From now on, we specifically use our custom BusyBox to perform certain shell operations.
https://github.com/ravindu644/Ubuntu-Chroot/releases/tag/v4.4
To use
ubuntu-chroot, you only need root access. No kernel configuration needed. It just works.It even supports dynamic namespace isolation, hardware access, rootfs.img support, post-exec scripts as a replacement for init, running at boot even the device is locked and encrypted, etc.
Even though this is more primitive than the Droidspaces project, it still provides basic Linux on Android.
v4.4 was released with fixes related to BusyBox. From now on, we specifically use our custom BusyBox to perform certain shell operations.
https://github.com/ravindu644/Ubuntu-Chroot/releases/tag/v4.4
đĨ°1đŠ1
Added an official guide on how to compile a kernel with Droidspaces support for any GKI device:
https://github.com/ravindu644/Droidspaces-OSS/blob/main/Documentation/Kernel-Configuration.md
You can now compile the kernel just like a legacy non-GKI kernel and flash only the boot.img or compiled kernel Image, without worrying about ABI or LKM compatibility đĨŗ
@Droidspaces
https://github.com/ravindu644/Droidspaces-OSS/blob/main/Documentation/Kernel-Configuration.md
You can now compile the kernel just like a legacy non-GKI kernel and flash only the boot.img or compiled kernel Image, without worrying about ABI or LKM compatibility đĨŗ
@Droidspaces
đĨ5â¤4đ1đŠ1đŋ1
Droidspaces
:)
Initial guide:
https://github.com/ravindu644/Droidspaces-OSS/blob/main/Documentation/Cool-things-you-can-do.md
Will add hardware hacking as well in near-future :)
https://github.com/ravindu644/Droidspaces-OSS/blob/main/Documentation/Cool-things-you-can-do.md
Will add hardware hacking as well in near-future :)
đŋ3đŠ1
Hosted my own Git server and VS Code server, only accessible to me via Tailscale :)
Everything works with just one click.
No trial and error.
So, my S10 officially runs:
- Tailscale
- Samba
- Jellyfin
- Fail2ban
- UFW
- Docker
- MySQL server
- Getea
- VS Code server
- OpenSSH server
All under 3GB of RAM usage (including Android) and under 5% idle CPU usage.
Nothing is impossible :)
Everything works with just one click.
No trial and error.
So, my S10 officially runs:
- Tailscale
- Samba
- Jellyfin
- Fail2ban
- UFW
- Docker
- MySQL server
- Getea
- VS Code server
- OpenSSH server
All under 3GB of RAM usage (including Android) and under 5% idle CPU usage.
Nothing is impossible :)
đĨ10đ3đŠ1