DSU Sideloader
What is DSU Sideloader?
DSU (Dynamic System Updates), is a feature introduced on Android 10, that let developers boot GSIs without touching current system partition, this is done by creating new partitions to hold a GSI and a separated userdata, to boot on them when desired.
Unfortunelly, DSU depends on Dynamic Partitions (your device need to support, otherwise, won't work), and most GSIs requires unlocked bootloader to get them booting properly (since only OEM-Signed GSIs are allowed to boot on locked bootloader).
GSIs can be installed via DSU without root access, using ADB, running some commands, you can read more about installation process here: https://developer.android.com/topic/dsu
Once installation finishes, Android creates a persistent notification allowing you to boot into "Dynamic System" (GSI installed via DSU), and you can boot into installed GSI, without touching your system partition, or breaking the "real userdata" partition.
After booting Dynamic System, you can try and test whatever you want, when you need to switch back to device's original system image, everything you need to do, is just, a simple reboot!
When doing a long test, that may requires lots of reboots, this can be a pain, however, is possible to enable "sticky mode", that enforces dynamic system, instead of device's original system image, once tests are done, you can disable sticky mode and return to original system image.
That is basically a quickly explanation about DSU, a amazing feature, like a "dual-boot" solution, limited, however, very safe (since no read-only partition will be modified, and if GSI does not boot, just a simple reboot will return you to the original device's system image).
How to enable Sticky Mode?
Reboot to Dynamic System, and:
- use this command on adb: adb shell gsi_tool enable
- or from local adb shell: gsi_tool enable
- or from local rooted shell (eg. Termux on rooted GSI): su -c 'gsi_tool enable'
When sticky mode is enabled, device will always boot into dynamic system, instead of device's original system image.
To disable, use the same command, instead of enable , use disable.
Requirements:
- Android 10 or higher
- Unlocked Bootloader
- Device with Dynamic Partitions
- A GSI you want to use!
How to use?
- this folder will be used to store temporary files, like extracted GSIs from compressed files
- **accepted formats are: gz, xz, img and zip (only DSU packages)
- *like changing userdata size for dynamic system
- *changing gsi file size is not recommended (let app do it automatically)
- If built-in installer is enabled, no extra step is required.
- When built-in installer is disabled, on rooted/system/shizuku operation mode, DSU screen will appear, prompting you to confirm installation, after that, check your notifications, DSU should start installing GSI.
- On ADB operation mode, you will be prompted to run a command in adb, once you run, DSU screen will appear asking you to confirm installation, after that, DSU should start installing GSI.
App Preview:
Operation modes:
- Only prepare selected image to be installed via DSU system-app
- Requires adb command to start installation (which will invoke DSU system-app to install the prepared file)
- Same as ADB, however, it does not require to run any adb command
- Support tracking installation progress ¹ ² ³
- Support installation diagnostics (if a common error is detected, it may give you useful information) ¹ ³
- All features avaiable in Shizuku, however, does not require any special permissions
- DynamicSystem API features (check if DSU is installed, reboot to DSU, discard..., everthing directly from app)
- Support built-in DSU installer ⁴ ⁵
- All features avaiable in Shizuku
- Fixes for some common gsi/dsu-related SELinux denials
- Custom gsid binary (can fix some installation errors in some devices ⁵ ⁶
- All features available in root and system operation mode
Recommendations:
- For non-rooted devices, Shizuku is a pretty nice operation mode, it support most features with no hassle, however, you need to install and setup Shizuku app in your device.
- For rooted devices, Root operation mode is more than ok for most people.
- If you're having issues with DSU feature, go with System/Root.
- Rooted devices via Magisk, should be running Magisk v24 or higher, older versions may break DSU feature.
- We highly recommend using this app with Stock ROM, some Custom ROM builds may also work fine.
- Common questions