Skip to content

GoldenStarGamer/goldos

Repository files navigation

GOLDOS

Made by Golden Star, based on UEFI Simple

Does Doesn't
Print cool stuff Boot an os
Compile Read from disk
React to user input Work like a normal os
Shut down Load an os or drivers

Prerequisites

  • Visual Studio 2022 or gcc/make
  • QEMU v2.7 or later (NB: You can find QEMU Windows binaries here)
  • git
  • wget, unzip, if not using Visual Studio

Sub-Module initialization

For convenience, the project relies on the gnu-efi library, so you need to initialize the git submodule either through git commandline with:

git submodule init
git submodule update

Or, if using a UI client (such as TortoiseGit) by selecting Submodule Update in the context menu.

Compilation and testing

If using Visual Studio, just press F5 to have the application compiled and launched in the QEMU emulator.

If using MinGW or Linux, issue the following from a command prompt:

make

If needed you can also add ARCH=<arch> and CROSS_COMPILE=<tuple>, e.g.:

  • make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
  • make ARCH=aa64 CROSS_COMPILE=aarch64-linux-gnu-
  • make ARCH=riscv64 CROSS_COMPILE=riscv64-linux-gnu-

where <arch> can be x64, ia32, arm, aa64 or riscv64.

You can also add qemu as your make target to run the application under QEMU, in which case a relevant UEFI firmware (OVMF for x86 or QEMU_EFI for Arm) will be automatically downloaded to run your application against it.

Visual Studio 2022 and ARM/ARM64 support

Please be mindful that, to enable ARM or ARM64 compilation support in Visual Studio 2022, you MUST go to the Individual components screen in the setup application and select the ARM/ARM64 build tools there, as they do NOT appear in the default Workloads screen:

VS2019 Individual Components