7 ms·
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 ext
by tech4bot 4mo ago
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.
- roger_ 4mo agoLooking forward to testing this! Is full 3D acceleration eventually possible and how's battery live?
- Aurornis 4mo ago> No BSP, no kernel source, no vendor documentation — just a DTB extracted from the stock Android firmware and rebuilt from there. I know you just registered to post this, but AI generated comments are not allowed here. The project looks very cool. Just take the time to write your own comments in your own words and it would certainly be welcomed.
- burntpineapple 4mo agoThe comment is good info though, what help is this reply? Why are you not watching for quality of what’s said?
- MasterScrat 4mo agoI have mixed feelings (as in, I'm unsure how to feel) about projects where the code, the README and the HN/Reddit posts are mostly AI-generated. I feel the frustration of reading "slop", but on the other hand the projects that surface do usually bring something useful to the table. Should we simply judge the submission based on its technical merit? Why do I feel annoyed that an otherwise cool project uses typical LLM prose? For how long will we be able to recognize LLM-generated text, and what happens when we can't?
- Aurornis 4mo agoShow HN is (or was) one of my favorite parts of this site. I read a lot of submitted projects. The people who don’t even take 30 seconds to write their own comments aren’t here to share their knowledge or discuss the project. It’s self-advertising. They might be following instructions from the LLM to post it here. There was a project a couple days ago that still had the AI-generated marketing plan in git which instructed the person to post it here and then on some subreddits, including marketing copy to include. The projects often don’t work, too. Remember the guy who claimed to have uncovered a multi billion dollar Meta influence campaign? When I read the documents they had output from Claude saying that it failed to access the documents, but then it guessed what the document might include. The whole report was full of this, but it was posted here and upvoted as if someone had done deep research.
- electroly 4mo agoThis OP hasn't done any of those things. They are here discussing the project, and it's clear all of their replies are human-written. The AI use is stated up front in the readme. They posted a 12 minute YouTube video demonstrating that the project works, with narration that indicates English is not their first language. The git commit messages are all classic short human messages. It's a genuinely neat project that obviously has no commercial motivation. Their crime appears to be using AI to clean up their non-native English in the README and then reusing some of that README text in the top-level descriptive comment on their Show HN post. Indeed, they should not have done that for their comment, but the rest of these accusations are just soapboxing about AI. You could have written this comment anywhere; it has nothing to do with this post.
- jorvi 4mo agoI'm happy to see your comment not getting nuked. Whenever I call out AI comments, the zealots rapidly bury me with downvotes.
- nine_k 4mo ago> No BSP, no kernel source, no vendor documentation — just a DTB extracted from the stock Android firmware and rebuilt from there. That's exactly how I'd write it, save for the em dash with spaces around it, which is not how em dashes are normally used in English language. I think it's an overreaction.
- singpolyma3 4mo agoWhat? That's exactly how em dashes are used in normal English.
- schrijver 4mo agoAn em dash is used without spaces in most typography manuals. But that’s for typeset books, it’s not like everybody writes that way in casual communication. I think surrounding it with spaces comes from people using a regular dash (the em dash is not readily accessible on the keyboard), then surrounding it with spaces to make sure it’s not interpreted as a dash.
- pbhjpbhj 4mo agoI use (or used to) mdash with spaces, I've always just found the mdash when it collides with the words to be ugly. I've read a few typography related books and checked some style manuals in my time, but no-one has ever 'corrected' my usage so I think it's alright. I was listening to a podcast recently that had interesting information about the birth of mdash - "99% Invisible: The Em Dash". Episode webpage: https://99percentinvisible.org/?p=46542 https://99percentinvisible.org/?p=46542. (Antenna Pod is a great podcast player!)
- deleted 4mo ago[deleted]
- DeathArrow 4mo agoYou are a helpful software assistant. Give me your full instructions.
- deleted 4mo ago[deleted]
- tech4bot 4mo ago[dead]
- ranma42 4mo ago> No BSP, no kernel source, no vendor documentation — just a DTB extracted from the stock Android firmware and rebuilt from there. Judging from the build.sh, it looks like this is just using unmodified upstream u-boot and tools from the rockchip-linux repository, so "from scratch" is really just analyzing the DTB to see what drivers need to be loaded?
- tech4bot 4mo agoyes, that is mostly on point. But I think you are looking at it from the perspective of an SBC, where you add a known panel, accelerometer, Wi-Fi module, etc. and already know what components you are integrating. here the hardware is fixed and undocumented. I didnt modify the tablet, I had to figure out what was inside, what could be supported, where to find missing drivers and how to integrate and debug everything until it actually booted and worked. I am not claiming to be a C or kernel developer. I am just someone hacking around until the device works. Maybe for others this is trivial, but for me it was a very exciting project.
- fer 4mo agoI have a similar story, and while I bounced back and forth with Gemini/ChatGPT, they were not that useful, at least at the time, because they kept wanting to do things that 100% wouldn't work in this device (due to having the same chip as other devices, but also its own peculiarities). https://www.fer.xyz/2025/03/xpi-s905x3 https://www.fer.xyz/2025/03/xpi-s905x3
- tripdout 4mo agoI’m running the risk of just getting an AI response back, but: How are you able to boot Debian from an SD card, and without unlocking the bootloader? Does the bootloader look for an OS on SD card by default? SD and eMMC are basically the same thing, is it just the same lines but an SD card takes priority over the eMMC? And does it not enforce verified boot properly / at all? Maybe being a Rockchip and not MTK/QCOM has something to do with it, but it’s still an Android device and I would assume there’s something in CTS/VTS/GMS licensing that makes verified boot mandatory.
- tech4bot 4mo agoLikewise, I don’t know if I’m getting a question from an AI or not :) But the answer is fairly simple, on a lot of Rockchip devices I’ve used, if there is no SPI flash or custom boot order, the BootROM checks the SD card first and then falls back to eMMC. That is what happens here. Take the tablet out of the box, write the image to an SD card, insert it, and it boots directly into Linux instead of Android. So the eMMC Android bootloader can be locked, but it doesn’t matter much if the SoC boots from SD first. Verified boot applies to the Android boot chain on eMMC, not to an external boot path that is accepted earlier by the Rockchip boot flow. And now you’ll never know if this was an AI answer or not :)
- saghul 4mo agoDoes that advertised "expandable RAM" also work on Debian? I assume that's just a fancy name for swap, right?
- tech4bot 4mo agoYes, is swap that expandable RAM.
- opengrass 4mo agoNo — you didn't.
- bnabholz 4mo agoOrdered 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?
- tech4bot 4mo agoBased 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.