mirror of
https://github.com/MeexReay/pmos-xiaomi-angelican.git
synced 2025-06-24 18:42:58 +03:00
142 lines
3.9 KiB
Markdown
142 lines
3.9 KiB
Markdown
# PostmarketOS for Xiaomi Angelican (Redmi 9C NFC)
|
|
|
|
[](README.md)
|
|
[](README.ru.md)
|
|
|
|
This port also might work on angelica (without NFC) and other phones on MT6765 processors (like Redmi 9A).
|
|
|
|
## Roadmap
|
|
|
|
- [x] Kernel compiling
|
|
- [x] Kernel booting
|
|
- [ ] PMOS booting
|
|
- [ ] ...
|
|
|
|
## How to install
|
|
|
|
```bash
|
|
git clone https://github.com/MeexReay/pmos-xiaomi-angelican.git
|
|
cd pmos-xiaomi-angelican
|
|
source extract-paths.sh
|
|
ln -s $PWD/linux-xiaomi-angelican $PMAPORTS/device/testing
|
|
ln -s $PWD/device-xiaomi-angelican $PMAPORTS/device/testing
|
|
```
|
|
|
|
## How to flash
|
|
|
|
Firstly, you need to unlock bootloader (See section below).
|
|
|
|
### Flash with prebuilt images
|
|
|
|
Enter fastboot mode (hold vol- and pwr buttons while turned off), and run this commands:
|
|
|
|
```bash
|
|
cd prebuilt
|
|
./install.sh
|
|
```
|
|
|
|
### Flash manually
|
|
|
|
1. Build images
|
|
|
|
```bash
|
|
pmbootstrap init
|
|
pmbootstrap install
|
|
```
|
|
|
|
2. Disable VerifiedBoot and flash boot partition
|
|
|
|
Enter fastboot mode (hold vol- and pwr buttons while turned off), and run this commands:
|
|
|
|
```bash
|
|
fastboot flash vbmeta prebuilt/vbmeta_disabled.img
|
|
fastboot flash vbmeta_system prebuilt/vbmeta_disabled.img
|
|
fastboot flash vbmeta_vendor prebuilt/vbmeta_disabled.img
|
|
pmbootstrap flasher flash_kernel
|
|
```
|
|
|
|
3. Flash system
|
|
|
|
```bash
|
|
fastboot reboot fastboot # enter fastbootd mode
|
|
fastboot delete-logical-partition product # make system partition bigger
|
|
pmbootstrap flasher flash_rootfs # flash system
|
|
```
|
|
|
|
## How to flash stock firmware
|
|
|
|
It is recommended to flash stock firmware before doing anything.
|
|
|
|
[Download Firmware](https://xmfirmwareupdater.com/miui/angelican/stable/V12.0.16.0.QCSMIXM/) and unpack it
|
|
|
|
### Windows
|
|
|
|
1. Download [MiFlashTool](https://cdn.alsgp0.fds.api.mi-img.com/micomm/MiFlash2020-3-14-0.rar)
|
|
2. Unpack firmware.tgz to some folder and copy its path
|
|
3. Launch MiFlash.exe and paste the path of firmware folder to that lonely input entry
|
|
4. Click refresh, then flash button
|
|
5. That's all, close the window
|
|
|
|
### Linux/MacOS
|
|
|
|
Install Windows and follow the guide above
|
|
|
|
TODO: Write how to do that on linux
|
|
|
|
## How to unlock bootloader
|
|
|
|
### Drivers
|
|
|
|
#### Windows
|
|
|
|
Install usb drivers:
|
|
|
|
- [https://mtkdriver.com/](mtkdriver.com)
|
|
- [https://github.com/daynix/usbdk/releases](usbdk)
|
|
|
|
#### Linux/MacOS
|
|
|
|
TODO: write about usb drivers, but they seem to be preinstalled
|
|
|
|
### Unlocking
|
|
|
|
```bash
|
|
git clone https://github.com/bkerler/mtkclient
|
|
cd mtkclient
|
|
pip -r install requirements.txt
|
|
git clone https://github.com/coloredmarble/redmi_9a_mtkclient
|
|
cp redmi_9a_mtkclient/* .
|
|
python mtk.py da seccfg unlock --preload preloader_k62v1_64_bsp.bin --loader n.bin
|
|
# power off phone, hold vol+ and vol- at same time and connect usb cable
|
|
# i did it with test point, but it isnt required
|
|
```
|
|
|
|
## Debugging
|
|
|
|
Initramfs inspecting works!
|
|
Press vol- button and try this command:
|
|
|
|
```bash
|
|
picocom -b 115200 /dev/ttyACM0
|
|
```
|
|
|
|
[More about that](https://wiki.postmarketos.org/wiki/Initramfs/Inspecting#Using_the_debug_shell)
|
|
|
|
## See also
|
|
|
|
- [xiaomi angelican wiki](https://wiki.postmarketos.org/wiki/Xiaomi_Redmi_9C_NFC_(xiaomi-angelican))
|
|
- [mtkclient](https://github.com/bkerler/mtkclient)
|
|
- [ubuntu touch installation](https://gist.github.com/sivinnguyen/a6f65c5af9198d40d396e11048512347)
|
|
- [booting troubleshooting](https://wiki.postmarketos.org/wiki/Troubleshooting_on-device_issues/Booting_problems)
|
|
- [coloredmarble/redmi_blossom](https://github.com/coloredmarble/redmi_blossom)
|
|
- [xiaomi angelica wiki](https://wiki.postmarketos.org/wiki/Xiaomi_Redmi_9C_(xiaomi-angelica))
|
|
- [xiaomi dandelion wiki](https://wiki.postmarketos.org/wiki/Xiaomi_Redmi_9A_(xiaomi-dandelion))
|
|
|
|
## Contacts
|
|
|
|
If you want to develop it together, or maybe you have working port, please write me in discord: @meexreay. Also you can find more about me on my site: [meex.lol](https://meex.lol/about)
|
|
|
|
## Contributing
|
|
|
|
If you would like to contribute to the project, feel free to fork the repository and submit a pull request.
|