72 comments

[ 4.2 ms ] story [ 82.2 ms ] thread
I reverse-engineered a Doogee U10 (Rockchip RK3562) to boot Debian natively from an SD card.

No BSP, no kernel source, no vendor documentation — just a DTB extracted from the stock Android firmware and rebuilt from there.

The tablet boots Linux directly from SD without modifying internal Android storage. Remove the card and Android still boots normally.

The process is intentionally simple: write the image to an SD card from any operating system, insert it, and boot. No flashing tools, no bootloader unlocking, no custom recovery, and no permanent modifications to the device. It can even be prepared directly from Android itself using an external SD card reader.

I used Claude, Gemini, and ChatGPT heavily during bring-up for driver debugging, DT syntax, and kernel configuration issues. They accelerated development significantly, but the actual reverse engineering still required hands-on embedded Linux work: boot-chain analysis, DT bindings, panel timings, register experimentation, and kernel panic debugging.

This project also convinced me that modern mobile hardware is massively underutilized once vendor support ends. Many phones and tablets already have hardware comparable to SBCs, but simple external boot support could extend their useful life for homelabs, edge computing, local AI inference, and embedded workloads.

Any feedback, ideas, or contributions are very welcome.

Does that advertised "expandable RAM" also work on Debian? I assume that's just a fancy name for swap, right?
Ordered one today, I think this is a cool project. Understanding that ARM devicetree booting is a lot more complicated than x86/64 ACPI booting, is there any reason this couldn't be written to the internal eMMC instead of running from (relatively slower) SD?
Based on my experience with other Linux handheld projects, most people prefer to keep Android intact and use Linux as a second option.

In the DTB, I also added eMMC support, so you have full access to it from Linux. This means you can dd everything to the eMMC if you want.

What was the motivation for this? Why this particular tablet?
I love how easy AI makes it to hack devices that otherwise wouldn't be worth the time.
Yeah. It makes me wonder if it would be possible to reverse engeneer firmware for popular TQ ebike motors. This firmware can be downloaded if you intercept dealer tool API calls. I have no experience at all with this, otherwise I would probably try. I decompiled dealer tool, but it it quite complex WPF app and I cannot make it compilable. Make latest iteration of Claude can. It takes a lot of time, otherwise I would be probably try again.
Beautiful. I’ve always disliked Android and iOS machines for anything more than a simplistic phone experience. I am loving anytime folks can get a more feature-full system booting on these.
Since it seems AI is pretty good at reverse-engineering stuff like this, is there any educational material on how to use it for that purpose? Seems like it could really help port things like postmarketOS to new devices (and improve support on existing ones)?
I have claude code hooked up to deepseek, I hooked up my spare cheapo android tablet, installed adb and fastbook with my package manager and asked the AI to jailbreak the tablet.

It discovered the tablet was running a unisoc t606, found a CVE from a couple years ago, and unlocked the bootloader for me. I was the meat puppet holding the "volume up" button and plugging in the usb cable a bunch of times. Like most of my experiences with this stuff, it was pretty eerie.

Next step for me is to attempt mainline linux, there seems to be some postmarketOS devs playing with it. We've probed most of the tablet's hardware except the exact display.

https://codeberg.org/ums9230-mainline/linux

Of course it only knows stuff, that it knows. Like in the repo, the author links to the already published documentation on the chip.

And that's 90% of the problem, lots of these cheap devices are using undocumented hardware.

Why tablet makers does not provide an easy way to run Debian 12 on their hardware?
Booting into Debian with most devices fully functional is great.

What I'd like to know is what software runs adequately under it in 4 GB RAM. Web browsing should definitely be possible, but I suppose it's limited to very few tabs. Some very lightweight DE could likely make it more usable. Running something like WezTerm + tmux as the DE could be even more economical, leaving some room for e.g. development tools.

Browsers and anything electron-based are your enemy.

Firefox is actually pretty good in low-memory situations, silently discarding tabs when under memory pressure, but the main benefit comes from being able to run proper adblocking. Chromium-based browsers just can't compete these days.

Otherwise, a bog standard Gnome-based Debian Trixie desktop should be pretty doable. I'm currently using an 8 GB machine with 3.7 GB RAM free - Firefox, evolution, gnome-calendar, and gnome-software are the only apps that using more than 100 MB, and none of them are obligatory.

We use $200 inexpensive Lenovo laptops with 4 gigs of RAM and run KDE Plasma and Chrome as our streaming devices in the LR and MBR using air mouse device to control them. I also installed ZRAM on them. We could use Chromebooks but I like the idea of being in control of the OS in control of the machine.
having many tabs is perfectly fine - it's having many *youtube* tabs is troublesome

main trouble to me has been caused by unity games - those are the big ram devourers, even most basic 2D ones (I still don't understand how that happens, why such regression since KSP days)

and plenty of 2D games work perfectly fine (devs really overestimate minimal requirements)

Can't speak for OP, of course.

Some time ago I got myself a similarly priced x86-64 Windows tablet on Amazon (Celeron N4020 + 4 GB RAM). I installed Linux Mint on it with a slightly customized kernel (some extra quirks were needed).

I connected an old SSD to it with a SATA2USB adapter, and I use it as a home file server and HTPC. It has a micro HDMI output, and it is connected to my TV. During the day it is playing music non-stop, in the evening it is playing some movies. It has no problem with high bitrate full HD movies, the CPU doesn't even break a sweat. I think it could also play 4K content, if I had any.

(Previously I used a Mac Mini with VLC for this for a few years, but I'm happier with my current setup, it's more stable)

Frankly if you don't need a web browser (or electron), what WOULD require that much memory? Video and photo editing maybe? Postgres? Recompiling the world?
Got a PinePhone Pro with 4GB.

> I suppose it's limited to very few tabs

Not really. Haven't used it super heavily, but I haven't felt limited by tabs. It can handle multiple YouTube tabs, too.

> Some very lightweight DE could likely make it more usable. Running something like WezTerm + tmux as the DE

I use sway on it. It's perfectly responsive. I expect i3 with Xorg would also be. Neither count as a DE, but neither does a terminal + tmux.

What software doesn't run with 4GB of ram is the real question.
Until a couple of months ago, I was using a Late 2013 MacBook Pro Retina with 4 GB of RAM as my main work computer (and I still use it as a secondary machine). It's amusing to read that some people can't imagine getting by with 4 GB of RAM on a device not meant for heavy work.
I use dwm and brave and 10 tabs or so and I'm usually at about 2-3gb of RAM used.
I run Ubuntu on my Chromebook. It's what I'm using to read this now. Web browsing works just fine. There's a limit to how many sites I can have open at a time, but since I regularly view sites that use over 1 GB of ram in Chromium, that's the case on all my machines.

Most of the games I play run in 4 GB, but since my Chromebook only has 32 GB of storage, There are some I can't install and I generally only have four or five installed at any given time.

I had to read that twice, I first thought you meant 4 GB of _storage_...

Worrying about only having 4GB of RAM.... that's how I know I'm getting old I guess. Kids these days don't know they're born.

With partial 3D acceleration, I guess web browsing is a bad experience
I originally ran Slackware 2.0 with 32 MB on a Pentium 75 Mhz.

So the software does exist, plus for the TUI and CLI folks, that would be plenty of space.

>What I'd like to know is what software runs adequately under it in 4 GB RAM.

I find this question rather sad.

I'm still using an old x200 with 2GB RAM as my daily driver. I just run xmonad and everything is pretty snappy. I can browse with multiple tabs without an issue, as long as I avoid very heavy sites like GMail.
> What I'd like to know is what software runs adequately under it in 4 GB RAM

I daily driver Librem 5 phone running a Debian-based operating system with 3 GB of RAM. NoScript on Firefox allows me to browse quite well. Zram helps, too. By the way, unlike the discussed device, my phone runs a mainline Linux kernel.

I have a 4GB surface tablet running Fedora that I use for very light duty tasks like PDF reading or listening to music. The memory holds it back for much else because it begins swapping.
You can run any distro on Termux thru QEMU or Docker, even Windows, with a RDP client.
Yes, but the performance will suck unless you get KVM working.
The situation right now with the Doogee U10 tablet: not commonly available.

Once the news gets out about epic breakthroughs on commodity hardware and devices, there's unfortunately a likely spike in the purchase cost, even if such devices can be found at all anymore on the usual online sources of new and used goods.

Yes, that’s a fair concern.

The tablet is from around 2023, with later revisions around 2024. My point was that this kind of older cheap hardware is already out there in people’s drawers.

If a device can boot from SD and the hardware can be documented enough, it becomes a good candidate for reuse instead of becoming e-waste.

I went on Aliexpress and I seem to be able to get it for 73 euro.
Why is Android so slow?
It's a device running Android on a bottom-of-the-range SoC with, according to the description, 5 out of "9" gigabytes of "RAM" running from swap space on the internal storage.

Perhaps Doogee could've ported Android better, but I don't think Android will ever run smoothly on this device.

Android contains a lot of tricks to cache as much as possible in RAM so things like sleep/wakeup and app launching can be very fast. You can see the device take a while to launch a terminal on Debian, that's exactly the kind of thing Android uses all of its RAM for to prevent.

Android has never been all that efficient, even from it's first release.

It used a Java VM in the early days!

Is there something that is good to be a “android” server? I want to sign in to this server for all my chat stuff and use beeper to connect to it. I tried using a tablet but the battery keeps dying.
You can still get old Mac minis for less than that, which have more memory and can run Debian. Probably best performance per dollar hardware available on the used market
Interesting. I don't have the hardware to test it, but:

- Bookworm rather than Trixie looks like a conscious choice. Does 13 (either via apt upgrade or direct installation) not work?

- What's the performance of this hardware like? I've got an old Samsung tablet that's not rootable and it's really creaking on recent android. I'd much rather something like this, but I don't want to swap one too-slow thing for another.

It's interesting how everything is a "workstation" these day.
Not mainline Linux, if anyone wonders.
Such a system with 4GB is eminently useful for many applications; I have an old Acer Chromebook I installed Linux on and have it sitting in the corner quietly and coolly emulating a VAX system with performance equivalent to a Vaxstation 4000/60 or so.
(comment deleted)
That’s nice but a lot of the electronic photo frames are also android tablets, you can get them for a lot less too.
Ideal for an ARM server
Thank you for this outstanding project!

Question:

Does the virtual keyboard provide all keys necessary to program bash shell scripts and edit Vim files— such as Ctrl+C and ESC, etc.

Thanks again, LRP

You can't release this under MIT license, as it contains a ton of various different things under various different licenses, from GPL to proprietary.
Is there any way to flash it to internal emmc instead of relying on an SD card. I'd love a small linux tablet but I don't want it to be febrile
I'm in the market for a tablet for my kid. Currently using an iPad Pro which cannot be used with Linux, sadly. The iPadOS version on it does not get updates anymore.

You might wanna run something like pmOS on it though, with a UI focussed on touchscreen. Not sure which one is best these days.

Potentially worth looking into old Surface Go's; from what I know they run Linux fairly reliably now and can be gotten suprisingly cheaply (the Go 2 with m3-8100Y processor seemingly being the sweet point of often appearing on ebay for crazily low prices relative to the performance boost if has compared to older/weaker models)

Yet to set one up though so can't vouch 100% there.

This is exactly what I want from the iPad Pro. Unlock the virtualization support to let me have a debian/ubuntu VM with a complete development environment that I could take for holiday to make emergency fixes, and leave the precious MBP at home.