Skip to content

Ost268/msmnilePkg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This Repo Is Based On mu_andromeda_platforms

Thanks for Gustave's instructions!

Project Mu UEFI Implementation for Devices with Snapdragon™ inside.

For users

You can download the latest UEFI build by clicking here.

ActionStatus

What's this?

This package demonstrates an AArch64 UEFI implementation for hacked devices with qcom silicons. Currently it is able to boot Windows 10 ARM64 as well as Windows 11 ARM64. Please be aware that devices with no dsdt support have limited support.

Support Status

Applicable to all supported targets unless noted.

  • Low-speed I/O: I2C, SPI, GPIO, SPMI and Pinmux (TLMM).
  • Power Management: PMIC and Resource Power Manager (RPM).
  • High-speed I/O for firmware and HLOS: UFS 3.1
  • Peripherals: side-band buttons (TLMM GPIO and PMIC GPIO), USB
  • Display FrameBuffer

What can you do?

Please see https://woa-msmnile.github.io for some tutorials.

Build

Minimum System Requirements

  • At least 2 cores x86_64 processor running at 2Ghz or higher implementing the X86 ISA with 64 bit AMD extensions (AMD64) (Currently, building on any other ISA is not supported. In other words, do. not. build. this. on. a. phone. running. android. please.)
  • SSD
  • A linux environment capable of running below tool stack:
    • Bash
    • Python 3.10 or higher (python3.10, python3.10-venv, python3.10-pip)
    • mono-devel
    • git-core, git
    • build-essential
    • clangdwarf (or higher), llvm, ggc-aarch64-linux-gnu
  • Exported CLANGDWARF_BIN environment variable pointing to LLVM 10 binary folder
  • Exported CLANGDWARF_AARCH64_PREFIX variable equalling to aarch64-linux-gnu-

Build Instructions

  • Clone this repository to a reasonable location on your disk (There is absolutely no need to initialize submodules, stuart will do it for you later on)
  • Run the following commands in order, with 0 typo, and without copy pasting all of them blindly all at once:
  1. Setup Base environment
./setup_env.sh
pip install --upgrade -r pip-requirements.txt

Alternatively, use docker if you don't have Ubuntu 22.04 environment

sudo docker build -t mu:v1 .
sudo docker run -v $(pwd):/build/ -it mu:v1

Then finish the following process in docker environment

  1. Build UEFI & Generate Android Boot Image

Usage: build_uefi.py -d <target-device> -s <secureboot status> -t <build type>

  • Exmaple with secure boot off and release build:

    ./build_uefi.py -d <target-name>
    
  • Exmaple with secure boot on:

    ./build_uefi.py -d <target-name> -s 1
    
  • Exmaple with secure boot off and DEBUG build:

    ./build_uefi.py -d <target-name> -t DEBUG
    
  • Tips:

    • use -p all to build devices in all platforms.
    • use -d all -p <target-platform> to build all devices in same platform.
  • You will find Build/xxxxPkg/<target-device>.img after successfully building.

Target list

SM8150

Device Target name DSDT Support Contributors
ASUS ROG2 asus-I001DC sunflower2333
Axon Stage 5G kakao-pine AKA
BlackShark 2 blackshark-skywalker NONE
BlackShark 2 Pro blackshark-darklighter NONE
HTC 5G Hub htc-rtx NONE
LG G8 lg-alphaplus sunflower2333
LG G8S lg-betalm J0SH1X
LG G8X lg-mh2lm Molly Sophia
LG V50 lg-flashlmdd AKA
LG V50S lg-mh2lm5g AKA
Meizu 16T meizu-m928q NONE
Meizu 16s meizu-m971q NONE
Nubia RedMagic 3 nubia-nx629j NONE
Nubia RedMagic 3S nubia-nx629jv1s NONE
Nubia Mini 5G nubia-tp1803 Alula
OnePlus 7 oneplus-guacamoleb NONE
OnePlus 7 Pro oneplus-guacamole Waseem Alkurdi
OnePlus 7T oneplus-hotdogb UNKNOWN
OnePlus 7T Pro oneplus-hotdog Morc
OnePlus 7T Pro 5G oneplus-hotdogg NONE
OPPO Reno 10X oppo-op46c3 NONE
OPPO Reno ACE oppo-pclm10 NONE
QTI QRD 855 qcom-qrd855 sunflower2333
Realme X2 Pro realme-rmx1931 NONE
Realme X3 SuperZoom realme-rmx2086 NONE
Samsung Galaxy S10 samsung-beyond1qlte Ww
Samsung Galaxy Fold samsung-winner Ost268
Samsung Galaxy Tab S6 samsung-gts6l NONE
Samsung Galaxy Tab S6 WIFI samsung-gts6lwifi qaz6750
Smartisan Pro 3 smartisan-aries NONE
Xiaomi 9 xiaomi-cepheus qaz6750
Xiaomi Hercules xiaomi-hercules Ww
Xiaomi K20 Pro xiaomi-raphael Degdag&sunflower2333
Xiaomi Mix3 5G xiaomi-andromeda NONE
Xiaomi Mix Alpha u2 xiaomi-avenger NONE
Xiaomi Pad 5 xiaomi-nabu Map220v
Xiaomi Poco X3 Pro xiaomi-vayu Degdag

SM7125

Device Target name DSDT Support Maintainers
QTI QRD 720 qcom-qrd720 sunflower2333
Xiaomi Note 9S xiaomi-miatoll Icesito
Xiaomi Note 10 Pro xiaomi-sweet dopaemon

SM7325

Device Target name DSDT Support Maintainers
QTI QRD 778 qcom-qrd778 Ayu&sunflower2333

SM8350

Device Target name DSDT Support Maintainers
QTI MTP 888 qcom-mtp8350 Ayu
Galaxy Z Fold 3 5G samsung-q2q None
ZTE A31 Pro zte-p875a02 None

SM8550

Device Target name DSDT Support Maintainers
AYN Odin 2 ayn-odin2 None
QTI QRD 8550 qcom-qrd8550 None
Nubia RedMagic 8 Pro nubia-nx729j None
Xiaomi 13 xiaomi-fuxi None
Xiaomi 13 Pro xiaomi-nuwa None

Acknowledgements

License License

Check our memePkg[https://github.com/woa-msmnile/memePkg] for other SoCs support!

About

Trying to port SurfaceDuoPkg for other qcom devices.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • BitBake 52.0%
  • C 42.8%
  • Python 4.0%
  • Assembly 0.6%
  • C++ 0.5%
  • Makefile 0.1%