/edk2-dipper

A UEFI Firmware for Dipper(Xiaomi MI 8)

Primary LanguageC

EDK2 UEFI Firmware For Xiaomi MI 8 (Dipper)

Attempt to create a normal EDK2 for Xiaomi MI8 - dipper.

Based on zhuowei's port for Pixel3XL.

Build Status Github Github FOSSA Status Github Github

The Most Important

DO NOT FLASH THIS UEFI FIRMWARE IN YOUR MAIN PHONE !!!

It's very unstable and you may lost your data.

Status

UFS WORK!

Can boot Linux Arm

Clock WORK!

Test ACPI etc. tables added.

And can load Windows PE.

Dev Logs

2020.1.6 Fix 5 compiler error.

2020.1.7 Start work and successfully run on my phone.

2020.1.8 Fix Display.

2020.4.17 Fix UFS drive and Fix MemoryMap(Thanks Lemon1Ice).

2020.4.19 Add ACPI etc. Tables and Fix DSDT 24 Errors. (PS.The ACPI and SSDT etc. Tables Provided by 5超级菜鸟5

2020.4.24 Fix Clock and The Clock is work well && Add SmemDxe SPI SPMI HWIODxeDriver PmicDxe ButtonsDxe ChipInfoDxe to Binary && Add USB driver

2020.4.30 Re added MemoryMap and can boot Windows to BlueScreen(Stop Code:Memory Managent) and (Stop Code:IRQL NOT LESS OR EQUAL)

2020.5.6 Fix A Lot but Nothing.

2020.5.8 Fix A Lot but Nothing.

2020.5.10 Can boot WindowsPE . Thank for Lemon1Ice patience and great help!

2020.5.11 Change SMBIOS Information and Add Some Binaries

To-Do

1.Fix fts touchscreen

2.Fix ACPI tables

3.Partition UFS

4.make USB work

Dependencies

Ubuntu 18.04:

sudo apt update
sudo apt install build-essential uuid-dev iasl git nasm python3-distutils gcc-aarch64-linux-gnu abootimg figlet

Or

sudo apt install build-essential
sudo apt install build-essential
sudo apt install uuid-dev
sudo apt install iasl
sudo apt install git
sudo apt install nasm
sudo apt install python3-distutils
sudo apt install gcc-aarch64-linux-gnu
sudo apt install abootimg
sudo apt install figlet

Building

1.Clone edk2 and edk2-platforms (Place three directories side by side.)

edk2:

commit:3a3713e62cfad00d78bb938b0d9fb1eedaeff314

edk2-platforms:

commit:cfdc7f907d545b14302295b819ea078bc36c6a40
mkdir workspaceedk2
cd workspaceedk2
git clone https://github.com/tianocore/edk2.git -o 3a3713e62cfad00d78bb938b0d9fb1eedaeff314 --recursive --depth=1
git clone https://github.com/tianocore/edk2-platforms.git -o cfdc7f907d545b14302295b819ea078bc36c6a40 --recursive --depth=1

2.Clone this project

git clone https://github.com/NekokeCore/edk2-dipper.git

3.Build environment

cd edk2-dipper
bash firstrun.sh

4.Build this project

bash build.sh

5.Debug and use

fastboot boot uefi.img

Credits

MemoryMap thanks Lemon1Ice.

ACPI etc. tables thanks 5超级菜鸟5

Orther edk2 project EngLearnsh.

SimpleFbDxe screen driver is from imbushuo's Lumia950XLPkg.

Also thanks edk2 website.