mirror of
https://github.com/MeexReay/pmos-xiaomi-angelican.git
synced 2025-06-24 02:22:58 +03:00
device now booting
This commit is contained in:
parent
76dffc0e02
commit
fedb16e75d
145
README.md
145
README.md
@ -1,7 +1,6 @@
|
|||||||
# PostmarketOS for Xiaomi Angelican (Redmi 9C NFC)
|
# PostmarketOS for Xiaomi Angelican (Redmi 9C NFC)
|
||||||
|
|
||||||
This port also might work on angelica (without NFC) and other phones on MT6765 processors (like Redmi 9A).
|
This port also might work on angelica (without NFC) and other phones on MT6765 processors (like Redmi 9A).
|
||||||
If you want to develop it together, or maybe you have a working port, please write me in discord/telegram: @meexreay. Also you can find more about me on my site: [meex.lol](https://meex.lol/about)
|
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
@ -11,12 +10,13 @@ If you want to develop it together, or maybe you have a working port, please wri
|
|||||||
- [x] Framebuffer + boot logo
|
- [x] Framebuffer + boot logo
|
||||||
- [x] PMOS booting
|
- [x] PMOS booting
|
||||||
- [x] SSH (use `ssh 172.16.42.1`)
|
- [x] SSH (use `ssh 172.16.42.1`)
|
||||||
- [x] X11 loading
|
- [x] Display + Toucscreen (i3wm works)
|
||||||
- [ ] Wayland loading
|
- [ ] Built-in llvmpipe
|
||||||
- [ ] ...
|
|
||||||
|
|
||||||
## How to install
|
## How to install
|
||||||
|
|
||||||
|
Run these commands to add the device to pmaports:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/MeexReay/pmos-xiaomi-angelican.git
|
git clone https://github.com/MeexReay/pmos-xiaomi-angelican.git
|
||||||
cd pmos-xiaomi-angelican
|
cd pmos-xiaomi-angelican
|
||||||
@ -25,92 +25,26 @@ ln -s $PWD/linux-xiaomi-angelican $PMAPORTS/device/testing
|
|||||||
ln -s $PWD/device-xiaomi-angelican $PMAPORTS/device/testing
|
ln -s $PWD/device-xiaomi-angelican $PMAPORTS/device/testing
|
||||||
```
|
```
|
||||||
|
|
||||||
## How to flash
|
## How to prepare a phone
|
||||||
|
|
||||||
Firstly, you need to unlock bootloader [(See section below)](https://github.com/MeexReay/pmos-xiaomi-angelican?tab=readme-ov-file#how-to-unlock-bootloader). \
|
### Unlock bootloader
|
||||||
If you have already manipulated partitions, it is recommended to [flash MIUI back](https://github.com/MeexReay/pmos-xiaomi-angelican?tab=readme-ov-file#how-to-flash-stock-firmware), and flash PMOS above it.
|
|
||||||
|
|
||||||
### Flash with prebuilt images
|
Here is described the unofficial method with mtkclient
|
||||||
|
|
||||||
Enter fastboot mode (hold vol- and pwr buttons while turned off), and run this command:
|
#### Drivers
|
||||||
|
|
||||||
```bash
|
- **For Windows:**
|
||||||
cd prebuild && ./flash.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
Password: 1234
|
|
||||||
UI: surprise
|
|
||||||
|
|
||||||
### 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_dtbo
|
|
||||||
pmbootstrap flasher flash_kernel
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Flash system
|
|
||||||
|
|
||||||
```bash
|
|
||||||
fastboot reboot fastboot # enter fastbootd mode
|
|
||||||
pmbootstrap flasher flash_rootfs # flash system
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Reboot
|
|
||||||
|
|
||||||
```bash
|
|
||||||
fastboot reboot
|
|
||||||
```
|
|
||||||
|
|
||||||
## 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/) (MIUI v12.0.16.0) 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:
|
Install usb drivers:
|
||||||
|
|
||||||
- [https://mtkdriver.com/](mtkdriver.com)
|
- [https://mtkdriver.com/](mtkdriver.com)
|
||||||
- [https://github.com/daynix/usbdk/releases](usbdk)
|
- [https://github.com/daynix/usbdk/releases](usbdk)
|
||||||
|
|
||||||
#### Linux/MacOS
|
- **For Linux/MacOS:**
|
||||||
|
|
||||||
TODO: write about usb drivers, but they seem to be preinstalled
|
TODO: write about usb drivers, but they seem to be preinstalled
|
||||||
|
|
||||||
### Unlocking
|
#### Unlocking
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/bkerler/mtkclient
|
git clone https://github.com/bkerler/mtkclient
|
||||||
@ -120,7 +54,62 @@ git clone https://github.com/coloredmarble/redmi_9a_mtkclient
|
|||||||
cp redmi_9a_mtkclient/* .
|
cp redmi_9a_mtkclient/* .
|
||||||
python mtk.py da seccfg unlock --preload preloader_k62v1_64_bsp.bin --loader n.bin
|
python mtk.py da seccfg unlock --preload preloader_k62v1_64_bsp.bin --loader n.bin
|
||||||
# power off the phone, hold vol+ and vol- at same time and connect usb cable
|
# power off the phone, hold vol+ and vol- at same time and connect usb cable
|
||||||
# i did it with test point, but it isnt required
|
# i did it with test point, but it isnt required at all
|
||||||
|
```
|
||||||
|
|
||||||
|
### 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/) (MIUI v12.0.16.0) and unpack it
|
||||||
|
|
||||||
|
- **For 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
|
||||||
|
|
||||||
|
- **For Linux/MacOS:**
|
||||||
|
|
||||||
|
Install Windows and follow the guide above
|
||||||
|
|
||||||
|
TODO: Write how to do that on linux
|
||||||
|
|
||||||
|
### Disable vbmeta
|
||||||
|
|
||||||
|
```bash
|
||||||
|
fastboot flash vbmeta vbmeta_disabled.img
|
||||||
|
fastboot flash vbmeta_system vbmeta_disabled.img
|
||||||
|
fastboot flash vbmeta_vendor vbmeta_disabled.img
|
||||||
|
```
|
||||||
|
|
||||||
|
## How to flash
|
||||||
|
|
||||||
|
1. Build images
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pmbootstrap init
|
||||||
|
pmbootstrap install
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Flash partitions
|
||||||
|
|
||||||
|
Enter fastboot mode (hold vol- and pwr buttons while turned off), and run these commands:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pmbootstrap flasher flash_kernel # flash kernel to boot
|
||||||
|
fastboot reboot fastboot # enter fastbootd mode
|
||||||
|
pmbootstrap flasher flash_rootfs # flash rootfs to userdata
|
||||||
|
# in some cases its good to flash rootfs to system partition too:
|
||||||
|
# pmbootstrap flasher flash_rootfs --partition system
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Reboot
|
||||||
|
|
||||||
|
```bash
|
||||||
|
fastboot reboot
|
||||||
```
|
```
|
||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
@ -12,7 +12,6 @@ depends="
|
|||||||
mkbootimg
|
mkbootimg
|
||||||
postmarketos-base
|
postmarketos-base
|
||||||
msm-fb-refresher
|
msm-fb-refresher
|
||||||
postmarketos-base-mesa
|
|
||||||
"
|
"
|
||||||
makedepends="devicepkg-dev"
|
makedepends="devicepkg-dev"
|
||||||
source="
|
source="
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:71309266cca377bd6b0058e2d084aa690d731d7e4908ec14532486c0f6c334f5
|
|
||||||
size 21757952
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
fastboot flash vbmeta vbmeta_disabled.img
|
|
||||||
fastboot flash vbmeta_system vbmeta_disabled.img
|
|
||||||
fastboot flash vbmeta_vendor vbmeta_disabled.img
|
|
||||||
fastboot flash dtbo dtbo.img
|
|
||||||
fastboot flash boot boot.img # kernel
|
|
||||||
|
|
||||||
fastboot reboot fastboot # fastbootd mode
|
|
||||||
# fastboot delete-logical-partition product
|
|
||||||
fastboot flash userdata system.img # rootfs
|
|
||||||
fastboot reboot
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:75a93cfd7ea94fe42645c4e62812a4009eaafe4468f6bb92fdddc962b3911150
|
|
||||||
size 586879684
|
|
@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
pmbootstrap export
|
|
||||||
cp /tmp/postmarketOS-export/boot.img boot.img
|
|
||||||
cp /tmp/postmarketOS-export/xiaomi-angelican.img system.img
|
|
@ -2,3 +2,5 @@ Host pmos
|
|||||||
HostName 172.16.42.1
|
HostName 172.16.42.1
|
||||||
User user
|
User user
|
||||||
StrictHostKeyChecking no
|
StrictHostKeyChecking no
|
||||||
|
ServerAliveInterval 3
|
||||||
|
ConnectTimeout 60
|
||||||
|
Loading…
x
Reference in New Issue
Block a user