UEFI_fireworks/README.md
2025-08-19 19:30:50 +02:00

77 lines
2.3 KiB
Markdown

# UEFI Fireworks
## How to build
> [!IMPORTANT]
> **you will need these programs to compile!**
> git
> gcc
> xxd
> ImageMagick (if you changed the firework image)
```bash
git submodule update --init --recursive
cd edk2
source edksetup.sh
make -C BaseTools
cd ..
./build.sh # to build for diferent arch than X64 change TARGET_ARCH in build.sh
```
> [!WARNING]
> **compilation for AARCH64**
> does not work
> for some unknown reason
> i haven't tryed other arches than AMD64, IA32 and AARCH64
## How to use
### Download release
#### On Real hardware
if your have amd64(x86_64) UEFI computer
Download release and copy the UEFI_fireworks.efi to <USB_DRIVE>/EFI/BOOT/bootx64.efi case independent
#### On VM
run:
you will need OVMF firmware you can get it [here](https://qemu.weilnetz.de/test/ovmf/usr/share/OVMF/OVMF_CODE_4M.fd)
```bash
qemu-system-x86_64 -machine type=q35,accel=kvm -drive if=pflash,format=raw,readonly=on,file="$OVMF_CODE_PATH" -hda fat:rw:build -boot order=c -smp 4 -s -serial mon:stdio
```
### Build
#### On VM
you will need OVMF firmware you can get it [here](https://qemu.weilnetz.de/test/ovmf/usr/share/OVMF/OVMF_CODE_4M.fd)
run ```./test.sh $OVMF_CODE_PATH# only works on AMD64``` to run in VM using QEMU
#### On Real hardware
copy ```edk2/Build/UEFI_fireworks/DEBUG_GCC5/<YOUR ARCH>/UEFI_fireworks.efi``` to FAT32 or FAT16 USB at location:
| Architecture | Default Boot Path |
| ------------------- | ------------------------ |
| **x86_64 (AMD64)** | `/EFI/BOOT/BOOTX64.EFI` |
| **x86 (IA32)** | `/EFI/BOOT/BOOTIA32.EFI` |
| **ARM64 (AARCH64)** | `/EFI/BOOT/BOOTAA64.EFI` |
| **ARM (32-bit)** | `/EFI/BOOT/BOOTARM.EFI` |
## Controling
| Key | Action | Note |
| ---------- | ------------ | ----------------------------------- |
| ARROW_UP | speed up | delays under 1ms may be unrelayable |
| ARROW_DOWN | slow down | max delay is about UINT32_MAXμs |
| PAGE_UP | speed up | 10x step |
| PAGE_DOWN | speed down | 10x step |
| Home key | reset speed | reset frame delay to 10ms |
| Delete key | clear screen | |
## Showcase
in QEMU/KVM
https://github.com/user-attachments/assets/275e28aa-eb2e-4348-ac08-95f909c46a1f