Handhelds that can boot both Android and Linux are great, but hopping between the two systems usually means a reboot, a boot menu, and a bit of luck. ABL Dual Boot turns that into a one-tap action: a Quick Settings tile on the Android side, plus a Decky plugin and a shell script on the ROCKNIX side.
I walked through the kingsleydon/abl-dualboot setup on a portable console. Budget 45–90 minutes depending on whether ROCKNIX is already installed. Difficulty is intermediate — nothing here is complicated, but writing an image to the wrong disk is.
One constraint outweighs everything else: ABL Dual Boot requires a device with the ROCKNIX bootloader. The project states plainly that it will not work on other bootloaders. If your console hasn't reached ROCKNIX yet, fix that first and come back.
What you need before touching any disks
- A handheld whose exact model is supported by ROCKNIX — confirm it in the official documentation before downloading anything.
- The ROCKNIX image built for that model. Not a neighbouring revision, not a lookalike SKU.
- A microSD card and reader, or whatever boot medium your device documents — the supported medium is device-specific.
- A host machine with
adb,fastboot, and eitherbalenaEtcheror GNUdd, plus admin rights to write a raw disk image. - The
kingsleydon/abl-dualbootproject files. It ships three pieces: an Android app with a Quick Settings tile, a Decky plugin, and a Linux script. - Android already installed on the device. This covers the switch, not building an Android system from zero.
- A backup of your Android data and a known-good ROCKNIX image you can reflash if boot fails.
- A charged console. Don't flash on a low battery.
Check your host tools before plugging anything in:
adb version fastboot --version Both should print a version line. If either command is missing, install the Android platform tools first.
Step 1: Confirm the bootloader and verify the image
Boot the console and confirm it reaches ROCKNIX — a boot screen or boot menu counts. If it goes straight to Android with no sign of a ROCKNIX bootloader, stop there; the switch components aren't a supported path on another bootloader.
Then grab the exact ROCKNIX image for your model and verify it:
sha256sum rocknix-<device>-<version>.img You should get one 64-character SHA-256 digest. Compare it against the checksum published next to the download. Small gotcha: if the file ships compressed, checksum the archive as published — don't compare a decompressed image against an archive's digest.
The filename, the supported boot medium, and the flashing method are all device-specific. Confirm them in the ROCKNIX docs rather than guessing.
Step 2: Write the image to the correct medium
If ROCKNIX is already installed and booting, skip ahead to step 3.
Most brick reports at this stage come down to three mistakes: writing to the wrong disk, using an image for another model, or interrupting the write. The console is usually recoverable. The host disk you overwrite probably isn't.
Identify the card by size, model, and transport before writing:
lsblk -o NAME,SIZE,MODEL,TRAN NAME SIZE MODEL TRAN mmcblk0 29.7G SD Card Reader usb nvme0n1 476.9G System Disk nvme Here /dev/mmcblk0 is the card and /dev/nvme0n1 is the host system disk. Write to the whole device, never to a partition like /dev/mmcblk0p1:
sudo dd if=rocknix-<device>-<version>.img of=/dev/sdX bs=4M status=progress conv=fsync sync Swap /dev/sdX for the whole-disk path from lsblk and read it twice before pressing Enter. conv=fsync forces data out before dd exits, and the extra sync gives the card one more flush — that's what keeps the final write from being truncated.
With balenaEtcher it's the same decision in a GUI: verified image, correct card, nothing else selected.
Then boot the console and confirm ROCKNIX starts. If you land in a bootloader menu or see no bootable medium, re-check that the image matches your exact model and repeat the write with the verified file. If your model needs a different installation method, follow the official ROCKNIX instructions — don't improvise a partition layout.
Step 3: Install all three switch components
Each component sits in a different place, so installing just one leaves half the round trip untested.
| Component | Runs on | Purpose | Check |
|---|---|---|---|
| Android app | Android | Quick Settings tile for switching | Tile appears in the Quick Settings edit screen |
| Decky plugin | Linux / Decky UI | Switch control inside Decky | Plugin is listed in Decky after install |
| Linux script | ROCKNIX | Triggers a switch from the Linux side | Script runs, console reboots to Android |
Push the APK over adb:
adb install -r <abl-dualboot-android-app>.apk Expected output is Success. Open the app once, then pull down Quick Settings, enter the tile editor, and drag the ABL Dual Boot tile into your active tiles. Labels differ between Android builds; the check is simply that the tile shows up and can be placed.
For the Decky plugin, use the project's documented installation method and confirm it's listed. For the Linux script, make it executable first:
chmod +x <abl-dualboot-linux-script> Then run it exactly as the README describes. If the README doesn't give an exact command, stop and ask the project — don't rename or relocate the script just to make it fit.
Test the switches in order
- From ROCKNIX, run the Linux script → Android should start.
- From Android, tap the Quick Settings tile → ROCKNIX should start.
- From the Decky UI, trigger the plugin → same behaviour.
Success means each action lands in the other OS without parking on a bootloader or recovery screen. If the very first switch fails, don't keep testing the other two — keep your ROCKNIX recovery medium within reach and fix that first failure.
When it doesn't cooperate
The error I'd expect first on the host side is:
adb: no devices/emulators found That means the host can't see the console at all, and the project's troubleshooting notes put USB debugging at the top of the list to check. Until adb devices actually lists something, installing an APK is pointless.
More generally: if a switch drops you into recovery, reflash the known-good ROCKNIX image and start again from a state you can reproduce. Improvising extra files is how a working install turns into a lost afternoon.
This article was originally published on AI Release — https://ai-release.org. More hands-on guides land in the channel: https://t.me/ai_release1.
Takeaway
ABL Dual Boot is a small quality-of-life win that changes how you actually use a dual-boot handheld — you stop avoiding the other OS because switching costs a reboot and a menu. The job is three steps, and two of them are really about being careful: verify the image, verify the disk, then test one direction at a time. Do that, and 45–90 minutes is the worst case, not the average.
