TWRP for Xiaomi Redmi 12
Team Win strives to provide a quality product. However, it is your decision to install our software on your device. Team Win takes no responsibility for any damage that may occur from installing or using TWRP.
Support Status: Current
Maintainer: AntarcticShaurant
Code Name: fire
Some Xiaomi Mi devices have bootloaders that require additional steps to unlock before you are able to flash custom images. This typically involves using MI Unlock Tool to apply & wait for certain time period to have your device unlocked.
You will need to follow the steps on Xiaomi's MIUI website in order to unlock your device.
Understand that unlocking your device will wipe all of your personal data, settings, and apps from its memory.
See: Apply for unlocking Mi devices
This means that TWRP will not allow modifications to any of the partitions that make up the Super partition on the stock ROM. All backups and restores will include the full Super partition rather than the individual dynamic partitions.
In order to flash the individual partitions, you will have to boot into fastbootd.
Current and past versions of TWRP can be found at one of the mirrors below:
WARNING: If you accidently flash TWRP to your device using fastboot instead of temporarily booting the image, you will need to download the latest factory image for your device and reflash the boot image.
You will need the platform-tools from the Android SDK on your computer. Download the platform-tools as per your operating system.
Windows users will need proper drivers installed on their computer. You can try the simple FWUL adb/fastboot ISO or the Naked ADB drivers or the Universal ADB drivers if you don’t already have a working driver installed
Download the correct image file and copy the file into the same folder as your platform-tools as well as device’s storage. Rename the image to twrp.img.
Now reboot to fastboot/bootloader mode by using adb or manual key combos (Use Google to find that if you are not sure). To use adb to reboot, use the following command:
adb reboot bootloader
Flash the downloaded image using the following command:
fastboot flash boot twrp.img
Reboot to recovery (you can use key combinations also)
fastboot reboot recovery
Preferred Installation Method: Once booted, put your stock boot image in Internalstorage , MicroSdcard or Usb-Otg then Flash stock boot image in boot partition and tick (Flash to both slots) , after that navigate to the Advanced > Flash Current TWRP option. This will install the TWRP image you just booted permanently to the device.
- AntarcticShaurant
2024-03-27T13:42:56Z
device.mk: fix API level - AntarcticShaurant
2024-03-26T19:50:27Z
device.mk: including VNDK & API level - AntarcticShaurant
2024-03-26T14:25:44Z
include 'create_pl_dev' + code clean up * fire: mediatek: Introduce create_pl_dev for updating preloader * Most OEMs who use MediaTek tend to ship preloader images without a header, therefore to allow preloader updates, it's necessary to create DM devices that allow writing to the physical preloader partition without the header. Change-Id: I6c3168ecabca4d4e56893d2a1bfea6a256577bd0 * fire: Build `create_pl_dev` * create_pl_dev is an OSS replacement for mtk_plpath_utils. Change-Id: I0c484acaf582d2e802116c4927d98e98e2e7a179 * fire: cleanup mtk_plpath_utils remnants * fire: Set arch variant to armv8-2a-dotprod fire:/ $ cat /proc/cpuinfo | grep Features -m 1 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp From this, it's evident that our CPU (Mediatek Helio G70/MT6768) supports all the features of ARMv8.2-DotProd [1]. Moreover AOSP sets this arch variant in their generic cortex-a55 ART target as well [2]. This should unlock some optimizations in different code paths. [1]: https://en.wikichip.org/wiki/arm/armv8#ARMv8_Extensions_and_Processor_Features [2]: https://android.googlesource.com/device/generic/art/+/refs/heads/master/armv8_cortex_a55/BoardConfig.mk#23 Change-Id: I82e9d15724aa7d5d0eb761a8f0ca47362f883a5c * fire: switch second arch variant other mt6768 device does this just fine --------- Signed-off-by: bengris32Signed-off-by: fukiame Signed-off-by: Sarthak Roy Signed-off-by: Hiura Mihate Co-authored-by: fukiame <122709956+fukiame@users.noreply.github.com> Co-authored-by: bengris32 Co-authored-by: Adithya R - AntarcticShaurant
2024-03-26T14:22:59Z
Revert "spin (#16) (#17)" (#18) This reverts commit bf7e4cf8a4bee57b513e32da37a11473fa7a0330. - AntarcticShaurant
2024-03-26T14:20:41Z
spin (#16) (#17) * fire: mediatek: Introduce create_pl_dev for updating preloader * Most OEMs who use MediaTek tend to ship preloader images without a header, therefore to allow preloader updates, it's necessary to create DM devices that allow writing to the physical preloader partition without the header. Change-Id: I6c3168ecabca4d4e56893d2a1bfea6a256577bd0 * fire: Build `create_pl_dev` * create_pl_dev is an OSS replacement for mtk_plpath_utils. Change-Id: I0c484acaf582d2e802116c4927d98e98e2e7a179 * fire: cleanup mtk_plpath_utils remnants * fire: Set arch variant to armv8-2a-dotprod fire:/ $ cat /proc/cpuinfo | grep Features -m 1 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp From this, it's evident that our CPU (Mediatek Helio G70/MT6768) supports all the features of ARMv8.2-DotProd [1]. Moreover AOSP sets this arch variant in their generic cortex-a55 ART target as well [2]. This should unlock some optimizations in different code paths. [1]: https://en.wikichip.org/wiki/arm/armv8#ARMv8_Extensions_and_Processor_Features [2]: https://android.googlesource.com/device/generic/art/+/refs/heads/master/armv8_cortex_a55/BoardConfig.mk#23 Change-Id: I82e9d15724aa7d5d0eb761a8f0ca47362f883a5c * fire: switch second arch variant other mt6768 device does this just fine --------- Signed-off-by: bengris32Signed-off-by: fukiame Signed-off-by: Sarthak Roy Signed-off-by: Hiura Mihate Co-authored-by: fukiame <122709956+fukiame@users.noreply.github.com> Co-authored-by: bengris32 Co-authored-by: Adithya R