Xiaomi Redmi Note 10 Pro (xiaomi-sweet): Difference between revisions
No edit summary |
No edit summary |
||
Line 85: | Line 85: | ||
* assumption: <code>ANDROID, TMP and PMOS are some directories of your choice. | * assumption: <code>ANDROID, TMP and PMOS are some directories of your choice. | ||
* install <code>pmbootstrap</code> | * install <code>pmbootstrap</code> | ||
* add < | * add <code>git@gitlab.com:etn40ff/pmaports.git</code> as a remote to <code>$PMOS/cache_git/pmaports</code> and switch to the branch <code>xiaomi-sweet</code> | ||
* initialize <code>pmbootstrap</code> to build for <code>xiaomi/sweet</code> in <code>$PMOS</code> | * initialize <code>pmbootstrap</code> to build for <code>xiaomi/sweet</code> in <code>$PMOS</code> | ||
* install pmOS on an SD-card and move it to the phone: <code>pmbootstrap install --sdcard=/dev/mmcblk0</code> | * install pmOS on an SD-card and move it to the phone: <code>pmbootstrap install --sdcard=/dev/mmcblk0</code> |
Revision as of 13:17, 29 July 2022
![]() Xiaomi Redmi Note 10 Pro | |
Manufacturer | Xiaomi |
---|---|
Name | Redmi Note 10 Pro |
Codename | xiaomi-sweet |
Released | 2021 |
Hardware | |
Chipset | Qualcomm SM7150-AC Snapdragon 732G |
CPU | Octa-core (2x2.3 GHz Kryo 470 Gold & 6x1.8 GHz Kryo 470 Silver) |
GPU | Adreno 618 |
Display | 1080 x 2400, 20:9, 6.67", AMOLED, 120Hz, 450/1200 nits |
Storage | 64/128 GB |
Memory | 6/8 GB |
Architecture | aarch64 |
Software | |
Original software | Android 11 - MIUI 12.0, upgradable to MIUI 13 A12 |
postmarketOS | |
Flashing |
Partial |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
No data |
Touchscreen |
No data |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
No data |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
No data |
USB OTG |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
No data |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
This device is based on the Snapdragon 732G. See the SoC page for common tips, guides and troubleshooting steps |
Contributors
- Zephyr1112
- Etn40ff
Maintainer(s)
Users owning this device
- Adrian (Notes: goodix/fpc/bq, pmOS development device)
- AnaxMorden (Notes: Using Global 6/128GB (CrDroid))
- Atipls (Notes: LineageOS, attempting mainline)
- DymondZ (Notes: Global 6/64GB, AOSP)
- Etn40ff (Notes: 8/128GB, AOSP)
- Manofdiamond (Notes: Using Indian 6/128GB (AOSP))
- Tau (Notes: Global 6GB/64GB (CrDroid))
- Thedanilfez (Notes: PostmarketOS edge, trying mainline kernel)
- Vvladii (Notes: Using Global 6/128GB (AOSP))
- Zephyr1112 (Notes: 6/128GB, postmarketOS - Backup device, dead BMS)
Port status
Downstream kernel compiles with pmOS's build system but the resulting artifact does not boot. The same source code compiles also using android's build system and the resulting artifact boots. (See below for the required steps.)
Flash modes
- Fastboot mode:
adb reboot bootloader
)
+ ( - Fastbootd mode:
adb reboot fastboot
- Recovery mode:
adb reboot recovery
,fastboot reboot recovery
) + (
Installation Instructions
Unlock Bootloader (if not done)
- First unlock your device (if not done yet). Use MiUnlock to unlock (Windows only)'. // If MiUnlock doesn't detect your device, follow this: Google USB Drivers install guide
- Follow the Instructions on the selected site
- Note: After that do not log off your Mi Account on your phone or it won't work! It may take 7 days or more to be able to unlock your device!
Install TWRP on Redmi Note 10 Pro
- Follow these Instructions.
- Turn the device off (or restart also works)
- Note: You may need to connect your device to a computer with a USB cord or the phone will skip boot to recovery.
- Hold and button
- Keep holding until you see the TWRP recovery Logo.
Install pmOS
For some reason, even though the downstream kernel compiles without errors with pmOS's build system, the phone is unable to boot the resulting boot.img.
Specifically if one tries to run pmbootstrap flasher boot
(or the equivalent fastboot boot boot.img
) the phone's screen turns black, there is no vibration and the phone remains in fastboot mode (albeit a crippled one in which subsequent boot commands fail).
Suggestions are appreciated on how to fix this issue!
Due to this issue, booting pmOS is not straightforward; here is a rough outline of how to do so.
- assumption:
ANDROID, TMP and PMOS are some directories of your choice.
- install
pmbootstrap
- add
git@gitlab.com:etn40ff/pmaports.git
as a remote to$PMOS/cache_git/pmaports
and switch to the branchxiaomi-sweet
- initialize
pmbootstrap
to build forxiaomi/sweet
in$PMOS
- install pmOS on an SD-card and move it to the phone:
pmbootstrap install --sdcard=/dev/mmcblk0
- build pmOS's boot.img:
pmbootstrap build linux-xiaomi-sweet
- export pmOS's boot.img:
pmbootstrap export
- extract pmOS's ramdisk (
split_bootimg.pl
from https://github.com/sweesineng/extract_tool worked well for me, YMMV):cd $TMP; cp /tmp/postmarketOS-export/boot.img pmos_boot.img; split_bootimg.pl pmos_boot.img
- install android's
repo
- clone PixelExperience's sources:
mkdir $ANDROID; cd $ANDROID; repo init -u https://github.com/PixelExperience/manifest -b twelve
- make sure that the git repository at
$ANDROID/kernel/xiaomi/sweet
is at the same commit as the one specified inlinux-xiaomi-sweet/APKBUILD
- apply patches:
cd $ANDROID/kernel/xiaomi/sweet; patch -p1 < $PMOS/cache_git/pmaports/device/testing/linux-xiaomi-sweet/fix_compilation.patch
- copy over the kernel configuration:
cp $PMOS/cache_git/pmaports/device/testing/linux-xiaomi-sweet/config-xiaomi-sweet.aarch64 $ANDROID/kernel/xiaomi/sweet/arch/arm64/configs/sweet_defconfig
- build kernel:
source build/envsetup.sh
lunch aosp_sweet-userdebug
mka kernel
mka bootimage
- extract android's kernel:
cd $TMP; cp $ANDROID/out/target/product/sweet/boot.img android_boot.img; split_bootimg.pl android_boot.img;
- put your phone in fastboot mode and boot:
fastboot boot \ :(
--dtb $PMOS/cache_git/pmaports/device/testing/linux-xiaomi-sweet/prebuilt/sweet.dtb \
--header-version 2 \
--cmdline "androidboot.hardware=qcom androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=1 androidboot.usbcontroller=a600000.dwc3 androidboot.selinux=permissive buildvariant=eng" \
$TMP/android_boot.img-kernel \
$TMP/pmos_boot.img-ramdisk.gz
- profit
Sources and links
- GitLab repo: https://gitlab.com/etn40ff/pmaports (branch xiaomi-sweet)
- Kernel used: https://github.com/PixelExperience-Devices/kernel_xiaomi_sweet
Other
- GitLab repo: https://gitlab.com/LunaOSS/pmaports-xiaomi-sweet (OUTDATED)
- Kernel used: https://github.com/ValerieOSS/kernel_xiaomi_sweet (OUTDATED)
- Mainline kernel fork (WIP): https://github.com/sm7150-mainline/linux