Droidspaces
1.22K subscribers
243 photos
26 videos
31 files
105 links
Download Telegram
I had an external WiFi adapter lying around. I enabled its driver in the kernel, recompiled it, placed the WiFi firmware in recovery_ramdisk/vendor/firmware, and wired it up via /sys/module/firmware_class/parameters/path

Result: Out-of-the-box wlan0, the moment it's plugged in..!

This phone has 2GB RAM, 16GB storage, and a Qualcomm SoC scoring ~150 (single-core) and ~450 (multi-core) on Geekbench.

Look at this htop screenshot - even this weak potato sits at 0% CPU idle! πŸ₯”

On Android, idle CPU usage hovers around 30–50% for absolutely nothing.

This is Alpine Linux, booted directly from a lightweight TWRP recovery environment, with full networking.

Most people see these phones as phones. I see them as Android slapped on top of an ARM64 development boardπŸ—Ώ

So I nuked Android and used that space for a lightweight Linux container instead.

@Droidspaces
❀6πŸ”₯5πŸ—Ώ4πŸ’©1
Droidspaces
[ Explanation ] @Droidspaces
Final update for the ~200MB RAM Galaxy A01 Droidspaces setup πŸ—Ώ

The key difficulty with this setup was that you had to hold the recovery key combination every time you wanted to enter TWRP, manually type Droidspaces CLI commands to start the container, and if the phone was plugged into a charger while powered off - it would bootloop forever since there's no Android left to show a charging animation.

Here's how I solved all of that:

- Flashed recovery.img directly to the boot partition, making the device boot straight into TWRP by default; no key combos needed

- Since flashing to the boot partition means Android's init now executes TWRP's init binary on charger detection, I patched TWRP's main init.rc to trigger a clean reboot whenever a charger is connected while the device is powered off, which boots straight into TWRP

- Wrote a simple init.rc service called "alpine" that automatically starts the Alpine Linux container right after the Droidspaces daemon is ready - meaning Alpine boots automatically as part of the TWRP boot sequence

- Wrote an OpenRC service that watches for the wlan0 interface, brings it up, connects to the WiFi network, and assigns an IP - running as a daemon forever, handling hotplug and reconnection automatically

Final result: a fully functional Raspberry Pi-like device that powers on the moment a charger is detected, auto-boots Linux, and fires up SSH, Tailscale, and WiFi - all with only ~200MB of RAM usage.

This is what I call a proper server πŸ—Ώ

[ Demonstration, init Script ]

@Droidspaces
πŸ”₯13❀6πŸ—Ώ2πŸ₯°1πŸ’©1
Do you want a "Privileged/F*ck Security" mode? Runs the container with zero restrictions: no seccomp, no cap drops, no masking, just execute init with maximum permissions. Perfect for recovery mode!
Anonymous Poll
25%
No
85%
Yes
😁6πŸ’©1
Droidspaces
🧱
Okay. new option..!

Testing:

https://t.me/DroidspacesCI/
❀4πŸ—Ώ3πŸ’©1
Guyss.. I have a good news πŸ‘€

regarding X11 :)
❀1πŸ”₯1πŸ’©1
Direct display output πŸ’€

Basically, another way to run Android on Linux 😌
πŸ’©1
Droidspaces
Direct display output πŸ’€ Basically, another way to run Android on Linux 😌
Proof of concept.

Booting Linux from Android recovery with direct display output. Works in stock recoveries, too.
🀯5❀1πŸ’©1
Droidspaces OS wen ? 😳
πŸ”₯13😱3😁1πŸ’©1
:)
πŸ”₯9πŸ’©1
Systemd + Droidspaces + Native display out

#PoC
πŸ”₯9πŸ‘Ž1πŸ’©1
PC πŸ—Ώ
πŸ—Ώ6😁1πŸ’©1
Hard work pays off πŸ”₯

Accidentally booted desktop environment using my crappy project on android recovery πŸ’€
πŸ”₯25πŸ’©1πŸ—Ώ1