|
|
#46 |
|
Member
![]() Posts: 15
Karma: 10
Join Date: Feb 2026
Location: Australia
Device: go7
|
Unfortunately I didnt make a full backup before I started this - my backup was only of boot_a and boot_b.
Would a full backup from someone else work? And if so, is there someoene who is willing to share this with me? Last edited by jd27; 03-26-2026 at 09:27 AM. |
|
|
|
|
|
#47 |
|
Onyx-maniac
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 4,380
Karma: 20878213
Join Date: Feb 2012
Location: Germany
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
|
Well, you can get the update, decrypt it and extract the stock recovery.
|
|
|
|
| Advert | |
|
|
|
|
#48 |
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Mar 2026
Device: Boox Go 7 BW
|
Hey all, following up on this thread. Current state after following the recovery path from this thread and the BooxPalma2RootGuide issue #9:
FP4 ABL flashed to abl_a/abl_b via EDL: fastboot commands work frp_oemunlock flashed + devinfo wiped: bootloader shows Device unlocked: true Stock recovery flashed to recovery_a/recovery_b misc-recovery.img flashed to misc Device boots into recovery: shows as 18d1:d001 "Go7" (ADB sideload mode) in USB The problem: adb sideload update.zip fails with "device unauthorized." The e-ink screen is completely blank so I can't approve the USB debugging dialog. Set ADB_VENDOR_KEYS to my local key: still unauthorized. I think I need the custom go7-rec.img that jd27 referenced in post #25? |
|
|
|
|
|
#49 |
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Mar 2026
Device: Boox Go 7 BW
|
Kept trying, was able to recover without the go7-rec.img. Go 7 (B/W) is recovered.
Flashing original boot images back via EDL did not fix it. What worked: EDL cable to get back into 9008 mode (no software path from fastboot to EDL exists on this device) Flashed FP4 ABL, frp_oemunlock, stock boot/recovery from decrypted 4.1.1 firmware, and Renate's misc-recovery via EDL Erased devinfo partition (frp_oemunlock alone was not enough to unlock, devinfo wipe was required) fastboot reboot recovery from the now-functional FP4 ABL Recovery screen rendered on e-ink. Page turn buttons work as volume up/down. Selected "Factory data reset" Device booted. Restored stock ABL/FRP/devinfo from backups via EDL. For anyone else in this situation: buy an EDL cable. It's the only way back in once you're stuck in fastboot with the locked stock bootloader. I used bkerler's Python edl tool from WSL2 since Windows fastboot had persistent driver issues with this device. |
|
|
|
|
|
#50 |
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Mar 2026
Device: Boox Go 7 BW
|
Scratch that, restoring the stock ABL/FRP/devinfo from backups via EDL trapped me at the Boox logo screen again.
|
|
|
|
| Advert | |
|
|
|
|
#51 |
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Mar 2026
Device: Boox Go 7 BW
|
Follow-up to my recovery post. Device is back and stable with FP4 ABL, unlocked bootloader, stock everything else. Now trying to actually root.
The problem: Magisk-patched boot images do not boot on the Go 7, regardless of method.
So the unlock and fastboot functionality all work. The device just refuses to run a Magisk-patched boot image. |
|
|
|
|
|
#52 | |
|
Connoisseur
![]() Posts: 86
Karma: 66
Join Date: Jan 2024
Device: Boox Note Air 3
|
Quote:
Boox firmware 4.1.1 broke Magisk. See this for a possible fix: https://github.com/jdkruzr/BooxPalma...ent-3864465804 |
|
|
|
|
|
|
#53 | ||
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Mar 2026
Device: Boox Go 7 BW
|
Got the Go 7 (B/W) rooted. Documenting the full process here for anyone else who wants to attempt it.
WHAT YOU NEED: - EDL cable (Qualcomm 9008 deep flash cable with button). Not optional. - FairPhone 4 ABL (abl.img from latest e/OS/ A15 build for FP4: https://doc.e.foundation/devices/FP4/install) - fonix232's frp_oemunlock.img (from https://github.com/jdkruzr/BooxPalma2RootGuide/issues/9, Jan 13 comment) - Renate's misc-recovery.prc (from this thread, post #3, rename to .img) - Decrypted Go7 4.1.1 firmware (decrypt the .upx with https://github.com/Hagb/decryptBooxUpdateUpx, extract images with payload-dumper-go) - EDL loader: 0000000000000000_bdaf51b59ba21d8a_fhprg.bin from https://www.temblast.com/ref/onyxldr.htm - bkerler edl tool (https://github.com/bkerler/edl) running in WSL2. Windows fastboot was not able to consistently communicate with this device. - Magisk APK and Termux APK - Java, baksmali, and smali for the services.jar patch PHASE 0: Download Firmware, Decrypt, and Extract Stock Images Download
Decrypt and extract Code:
# Clone decryption tool git clone https://github.com/Hagb/decryptBooxUpdateUpx.git cd decryptBooxUpdateUpx git submodule update --init --recursive # Decrypt (Go7 keys are in BooxKeys.csv) python3 DeBooxUpx.py Go7 /path/to/update.upx /path/to/update.zip # Extract payload unzip update.zip payload.bin # Extract individual partition images # Download payload-dumper-go from https://github.com/ssut/payload-dumper-go/releases ./payload-dumper-go -o stock_images payload.bin The Go 7's stock bootloader is completely locked. All fastboot write commands return "unknown command." We need to replace it with the FairPhone 4 ABL which has full fastboot functionality. Enter EDL Mode
Attach USB to WSL Code:
# Windows PowerShell (Admin) usbipd bind --busid <BUSID> usbipd attach --wsl --busid <BUSID> Code:
cd /path/to/edl sudo python3 edl.py --loader=go7_loader.bin --memory=emmc r abl_a abl_a_backup.img sudo python3 edl.py --loader=go7_loader.bin --memory=emmc r abl_b abl_b_backup.img sudo python3 edl.py --loader=go7_loader.bin --memory=emmc r frp frp_backup.img sudo python3 edl.py --loader=go7_loader.bin --memory=emmc r devinfo devinfo_backup.img sudo python3 edl.py --loader=go7_loader.bin --memory=emmc r boot_a boot_a_backup.img sudo python3 edl.py --loader=go7_loader.bin --memory=emmc r boot_b boot_b_backup.img Quote:
Code:
# Stock boot to both slots sudo python3 edl.py --loader=go7_loader.bin --memory=emmc w boot_a stock_images/boot.img sudo python3 edl.py --loader=go7_loader.bin --memory=emmc w boot_b stock_images/boot.img # FairPhone 4 ABL to both slots sudo python3 edl.py --loader=go7_loader.bin --memory=emmc w abl_a fp4/abl.img sudo python3 edl.py --loader=go7_loader.bin --memory=emmc w abl_b fp4/abl.img # Unlocked FRP sudo python3 edl.py --loader=go7_loader.bin --memory=emmc w frp frp_oemunlock.img # Stock recovery to both slots sudo python3 edl.py --loader=go7_loader.bin --memory=emmc w recovery_a stock_images/recovery.img sudo python3 edl.py --loader=go7_loader.bin --memory=emmc w recovery_b stock_images/recovery.img # Misc-recovery to trigger recovery boot sudo python3 edl.py --loader=go7_loader.bin --memory=emmc w misc misc-recovery.img # Erase devinfo (required for unlock to take effect) sudo python3 edl.py --loader=go7_loader.bin --memory=emmc e devinfo Power cycle the device, it should enter fastboot. Attach to WSL via usbipd. Check unlock status and reboot into recovery Code:
fastboot oem device-info # Should show: Device unlocked: true fastboot reboot recovery Quote:
Install Magisk and Termux APKs on the device. Patch the boot image Copy "stock_images/boot.img" to the Go 7's Download folder via USB File Explorer. On the Go 7:
Flash Patched Boot
The device will boot into Android. Magisk's init runs but the Boox AMS bug will cause the Magisk app to freeze on splash and "su" to be inaccessible. This is expected and will be fixed in Phase 3. Open Magisk, when Magisk opens for the first time, it shows a dialog: "Upgrade to full Magisk to finish the setup." Tap Install/OK. Let it download and complete. The app will freeze on splash after this. This is expected. PHASE 3: FIX THE AMS BUG This is the Boox WebView tracking bug in ActivityManagerService that crashes when it encounters Magisk's root daemon. Credit to dynamicfire for identifying this: https://github.com/dynamicfire/boox-ams-fix The pre-built module from that repo will NOT work on the Go 7 because services.jar differs per device. You need to build your own. Mount the stock system.img (read-only, from WSL): Code:
cp stock_images/system.img /tmp/system.img sudo mkdir -p /tmp/system_mount sudo mount -t ext4 -o ro,loop /tmp/system.img /tmp/system_mount cp /tmp/system_mount/system/framework/services.jar ./services.jar sudo umount /tmp/system_mount Code:
# Download baksmali and smali curl -sL -o baksmali.jar https://github.com/baksmali/smali/releases/download/v2.5.2/baksmali-2.5.2.jar curl -sL -o smali.jar https://github.com/baksmali/smali/releases/download/v2.5.2/smali-2.5.2.jar # Disassemble unzip services.jar classes.dex java -jar baksmali.jar d classes.dex -o smali_out # Find the patch target grep -n "addPackageDependency" smali_out/com/android/server/am/ActivityManagerService.smali Open ActivityManagerService.smali. Find the addPackageDependency method. Locate the if-eqz line that branches to the label shared with UpdateWebViewUsedPkgsAction code (on my device it was if-eqz v1, :cond_4c). Two edits: 1. Change that if-eqz branch target to :cond_return 2. Add :cond_return label on the line before return-void at the end of the method Verify the patch: Code:
# Should show: if-eqz v1, :cond_return grep "if-eqz v1, :cond_return" smali_out/com/android/server/am/ActivityManagerService.smali # Should show :cond_return before return-void at end of method grep -A1 "cond_return" smali_out/com/android/server/am/ActivityManagerService.smali Code:
java -jar smali.jar a smali_out -o classes_patched.dex cp services.jar services_patched.jar cp classes_patched.dex classes.dex zip services_patched.jar classes.dex Code:
mkdir -p boox-ams-fix-module/system/framework/oat/arm64
cp services_patched.jar boox-ams-fix-module/system/framework/services.jar
cat > boox-ams-fix-module/module.prop << 'EOF'
id=boox-ams-fix
name=Boox AMS Fix
version=v1.0
versionCode=1
author=dynamicfire (adapted for Go7)
description=Fix Magisk crash caused by Boox WebView tracking in ActivityManagerService
EOF
cat > boox-ams-fix-module/customize.sh << 'EOF'
SKIPUNZIP=0
EOF
cat > boox-ams-fix-module/post-fs-data.sh << 'EOF'
MODDIR=${0%/*}
EOF
cd boox-ams-fix-module
zip -r ../boox-ams-fix-go7.zip .
cd ..
PHASE 4: GET ROOT ACCESS AND INSTALL THE FIX This is the trickiest part. The AMS bug prevents normal su access, but there is a workaround.
If Magisk's binaries are missing from /data/adb/magisk/ (you can check with ls /data/adb/magisk/ from the root shell), extract them manually from the APK: Code:
# In root Termux shell pm path com.topjohnwu.magisk # Note the path, then: cp /data/app/<path>/base.apk /data/local/tmp/magisk.zip cd /data/local/tmp unzip magisk.zip lib/arm64-v8a/* -d magisk_extract mkdir -p /data/adb/magisk cp magisk_extract/lib/arm64-v8a/libmagisk.so /data/adb/magisk/magisk64 cp magisk_extract/lib/arm64-v8a/libmagiskinit.so /data/adb/magisk/magiskinit cp magisk_extract/lib/arm64-v8a/libmagiskboot.so /data/adb/magisk/magiskboot cp magisk_extract/lib/arm64-v8a/libmagiskpolicy.so /data/adb/magisk/magiskpolicy cp magisk_extract/lib/arm64-v8a/libbusybox.so /data/adb/magisk/busybox chmod 755 /data/adb/magisk/* Code:
mkdir -p /data/adb/modules/boox-ams-fix/ unzip /sdcard/Download/boox-ams-fix-go7.zip -d /data/adb/modules/boox-ams-fix/ reboot KNOWN ISSUES: - Stock ABL cannot be restored after this procedure (re-bricks the device) - OTA updates will likely break things. Disable com.onyx.android.onyxotaservice. - fastboot boot with Magisk-patched images crashes the device. Must flash to disk via EDL. - Windows fastboot.exe cannot see this device. Use WSL2 with usbipd. - bkerler edl reports Error:{} on every write at 100%. Writes are successful (verify with read-back + sha256sum). - fastbootd (userspace fastboot) does not support flash commands on this device. - The full power off/on cycle (not sleep) is what breaks through the Magisk splash freeze. Regular sleep/wake does not work. Thanks to Renate for misc-recovery.img, fonix232 for the FP4 ABL method, dynamicfire for identifying the AMS bug, and everyone in this thread for the collective knowledge that made this possible. |
||
|
|
|
![]() |
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Trying to root a Boox Note 2, stuck at fastboot boot image.img. Could use some help. | soypherpunk | Onyx Boox | 10 | 12-11-2025 01:30 PM |
| Aura H2O 1st edition having wifi troubleshoot and after firmware update loading logo stuck | Kobo4Life | Kobo Developer's Corner | 16 | 02-13-2024 02:43 PM |
| Stuck with a shop logo as wallpaper. | Wyre | Kobo Reader | 7 | 07-06-2017 11:57 AM |
| Pocketbook Ultra 650 stuck at boot logo | Dandan7932 | PocketBook | 6 | 10-02-2015 03:40 AM |
| 360 Stuck at startup logo with endless loading | darkforce | PocketBook | 0 | 07-02-2011 02:42 PM |