UEFI App Bare Bones: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
m →‎Creating the FAT image: Added link to bootable disk main article
m →‎Prerequisites: Added link to GNU-EFI page
Line 10: Line 10:
== Prerequisites ==
== Prerequisites ==


Developers will need a [[GCC Cross-Compiler]] targeting the '''x86_64-w64-mingw32''' target (for PE output), and the [https://sourceforge.net/projects/gnu-efi/ '''gnu-efi'''] package to compile the actual kernel. If they already have a copy of LLVM/clang, it will too work as a cross-compiler. To build the EFI filesystem image, developers can use [[MTools]] or [https://github.com/jncronin/mkgpt '''mkgpt'''] to create a hard disk image. To build a CD image, '''xorriso''' (in [[mkisofs]] emulation mode) will be needed. To run under an emulator, it is best to use '''qemu-system-x86_64''' coupled with the [http://tianocore.sourceforge.net/wiki/OVMF '''x64 OVMF firmware'''].
Note that [[GNU-EFI]] prefers to use your host native compiler, and then convert the ELF to PE as a last step. Otherwise developers will need a [[GCC Cross-Compiler]] targeting the '''x86_64-w64-mingw32''' target (for PE output), and the [https://sourceforge.net/projects/gnu-efi/ '''gnu-efi'''] package to compile the actual kernel. If they already have a copy of LLVM/clang, it will too work as a cross-compiler. To build the EFI filesystem image, developers can use [[MTools]] or [https://github.com/jncronin/mkgpt '''mkgpt'''] to create a hard disk image. To build a CD image, '''xorriso''' (in [[mkisofs]] emulation mode) will be needed. To run under an emulator, it is best to use '''qemu-system-x86_64''' coupled with the [http://tianocore.sourceforge.net/wiki/OVMF '''x64 OVMF firmware'''].
Under an apt-based system (e.g. Debian/Ubuntu), developers can run <source lang="bash">sudo apt-get install qemu binutils-mingw-w64 gcc-mingw-w64 xorriso mtools
Under an apt-based system (e.g. Debian/Ubuntu), developers can run <source lang="bash">sudo apt-get install qemu binutils-mingw-w64 gcc-mingw-w64 xorriso mtools
wget http://www.tysos.org/files/efi/mkgpt-latest.tar.bz2
wget http://www.tysos.org/files/efi/mkgpt-latest.tar.bz2