diff --git a/README.md b/README.md index bb5c4b1..2c5fe22 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,26 @@ ## 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 +./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 @@ -44,7 +55,7 @@ copy ```edk2/Build/UEFI_fireworks/DEBUG_GCC5//UEFI_fireworks.efi``` t | ------------------- | ------------------------ | | **x86_64 (AMD64)** | `/EFI/BOOT/BOOTX64.EFI` | | **x86 (IA32)** | `/EFI/BOOT/BOOTIA32.EFI` | -| **ARM64 (AArch64)** | `/EFI/BOOT/BOOTAA64.EFI` | +| **ARM64 (AARCH64)** | `/EFI/BOOT/BOOTAA64.EFI` | | **ARM (32-bit)** | `/EFI/BOOT/BOOTARM.EFI` | ## Controling diff --git a/UEFI_fireworks.dsc b/UEFI_fireworks.dsc index b86e20b..adaa3fa 100644 --- a/UEFI_fireworks.dsc +++ b/UEFI_fireworks.dsc @@ -4,7 +4,7 @@ PLATFORM_VERSION = 1.0 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/UEFI_fireworks - SUPPORTED_ARCHITECTURES = X64 + SUPPORTED_ARCHITECTURES = X64|IA32|ARM|AARCH64|RISCV64 BUILD_TARGETS = DEBUG|RELEASE SKUID_IDENTIFIER = DEFAULT diff --git a/build.sh b/build.sh index 6136752..0ad9c62 100755 --- a/build.sh +++ b/build.sh @@ -1,11 +1,12 @@ #!/bin/bash export PACKAGES_PATH=$PWD:$PWD/edk2 +export TARGET_ARCH=X64 magick assets/rocket_orig.bmp -type TrueColor -define bmp:format=bmp3 -compress None assets/rocket.bmp xxd -i assets/rocket.bmp > src/UEFI_fireworks/rocket.c if [ "$1" == "debug" ]; then - build -a X64 -t GCC5 -p UEFI_fireworks.dsc -b DEBUG + build -a $TARGET_ARCH -t GCC5 -p UEFI_fireworks.dsc -b DEBUG else - build -a X64 -t GCC5 -p UEFI_fireworks.dsc -b RELEASE + build -a $TARGET_ARCH -t GCC5 -p UEFI_fireworks.dsc -b RELEASE fi mkdir -p build/EFI/BOOT/ if [ "$1" == "debug" ]; then diff --git a/src/UEFI_fireworks/UefiMain.c b/src/UEFI_fireworks/UefiMain.c index efb1878..59ae061 100644 --- a/src/UEFI_fireworks/UefiMain.c +++ b/src/UEFI_fireworks/UefiMain.c @@ -52,8 +52,8 @@ EFI_STATUS EFIAPI UefiMain(IN EFI_HANDLE imgHandle, return EFI_NOT_FOUND; } - framebuffer = - (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)GraphicsOutput->Mode->FrameBufferBase; + framebuffer = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)(UINTN) + GraphicsOutput->Mode->FrameBufferBase; init_rng(); init_rocket_blt();