= Partitions on Android-Based Devices include::_support/common.inc[] Right now, we will **not** touch any partition map. This is because it may break devices. Some (all?) android devices keep a small bit of their internal storage aside to put secondary bootloaders in. When the storage is cleared, or their bootloaders stored therein are corrupt, many devices will boot to a proprietary download mode. Follows a random picking of links related. * https://forum.xda-developers.com/g2-mini/general/hard-bricked-help-via-aboot-img-abootb-t3212609 * https://forum.xda-developers.com/android/development/qd-9008-fix-tested-lg-v410g-pad-7-0-att-t3269057 * https://forum.xda-developers.com/showpost.php?p=75360854&postcount=199 * https://forum.xda-developers.com/nexus-7-2013/nexus-7-2013-qa/fix-nexus-7-2013-bricked-stuck-t3310608 It may be possible to recover, but this is highly device-dependent... and spooky. Here's an example guide from a user that re-partitions their device: * https://forum.xda-developers.com/nexus-7-2013/general/guide-repartition-nexus72013-to-t3599907 --- Generating a partitions listing ------------------------------- By adding this to `local.nix`, build an initramfs for your device and boot it. ``` mobile.boot.stage-1.extraUtils = with pkgs; [ gptfdisk ]; ``` Run this command: ``` adb shell "echo p | gdisk /dev/mmcblk0" > devices/$DEVICE/partitions_$SIZE$UNIT.gdisk ``` Where: * $DEVICE is the device name * $SIZE is the size un $UNIT * $UNIT is `GB`, as in GigaBytes This will dump everything `gdisk` knows about the partition scheme. Saving it raw will allow future tools to re-use the data as dumped to create a better metadata set. It is okay if you replace the Disk identifier (GUID) with a string of zeroes. (It is unknown if it is truly unique across similar devices.) The storage size is included in the filename as some devices (most?) have different variants differing only in their storage size. --- ### See also * https://source.android.com/devices/bootloader/partitions-images * https://forum.xda-developers.com/general/general/android-partitions-explained-t3657183