This Repo Is Based On SurfaceDuoPkg
Thanks for Gustave's instructions!
Project Mu UEFI Implementation for SM8150 Devices
- 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
- PowerShell Core 7
- clang38 (or higher), llvm, ggc-aarch64-linux-gnu
- Exported CLANG38_BIN environment variable pointing to LLVM 10 binary folder
- Exported CLANG38_AARCH64_PREFIX variable equalling to aarch64-linux-gnu-
- 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:
- Setup Base environment
./setup_env.sh
pip install --upgrade -r pip-requirements.txt
Alternatively, use docker if you don't have Ubuntu 20.04 environment
docker build -t mu:v1 .
docker run -it mu:v1 -v ./:/build/
Then finish the following process in docker environment
- Activate Workspace
python3 -m venv SurfaceDuo
source SurfaceDuo/bin/activate
- Setup MU environment
./setup_uefi.sh
- Stamp build
python3 ./Platforms/SurfaceDuo1Pkg/StampBuild.py
or
./build_releaseinfo.ps1
- Build UEFI
Usage: build_uefi.sh -d <target-device>
./build_uefi.sh -d <target-name>
- You will see Build/<target-device>.img if it builds successfully.
Device | Target name | DSDT Support | Maintainers |
---|---|---|---|
ASUS ROG2 | asus-I001DC | ✅ | Ww |
HTC 5G Hub | htc-rtx | ❌ | NONE |
LG G8 | lg-alphaplus | ✅ | Yanhua |
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 |
Nubia Mini 5G | nubia-tp1803 | ✅ | Alula |
OnePlus 7 | oneplus-guacamoleb | ❌ | NONE |
OnePlus 7 Pro | oneplus-guacamole | ✅ | Waseem Alkurdi |
OnePlus 7T Pro | oneplus-hotdog | ✅ | sunflower2333&Morc |
OPPO Reno 10X | oppo-op46c3 | ❌ | NONE |
OPPO Reno ACE | oppo-pclm10 | ❌ | NONE |
Realme X3 | realme-rmx2086 | ❌ | NONE |
Samsung Galaxy S10 | samsung-beyond1qlte | ✅ | Ww |
Xiaomi 9 | xiaomi-cepheus | ✅ | qaz6750 |
Xiaomi Hercules | xiaomi-hercules | ✅ | Ww |
Xiaomi K20 Pro | xiaomi-raphael | ✅ | sunflower2333 |
Xiaomi Mix3 5G | xiaomi-andromeda | ✅ | sunflower2333 |
Xiaomi Pad 5 | xiaomi-nabu | ✅ | Map220v |
Xiaomi Poco X3 Pro | xiaomi-vayu | ✅ | Degdag |
Xiaomi Mix Alpha u2 | xiaomi-avenger | ❌ | NONE |
- Andrei Warkentin and his RaspberryPiPkg
- Sarah Purohit
- Googulator
- Ben (Bingxing) Wang
- Samuel Tulach and his Rainbow Patcher
- Renegade Project
- Lemon ICE
All code except drivers in GPLDriver
directory are licensed under BSD 2-Clause.
GPL Drivers are licensed under GPLv2 license.