minimal-efi
A bare-bones minimal executable application for efi on the x64 platform (by AndreVallestero)
pcboot
Bootable PC demo/game kernel (by jtsiomb)
minimal-efi | pcboot | |
---|---|---|
3 | 7 | |
48 | 44 | |
- | - | |
2.2 | 0.0 | |
about 1 year ago | over 2 years ago | |
C | C | |
- | GNU General Public License v3.0 only |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
minimal-efi
Posts with mentions or reviews of minimal-efi.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-11-28.
-
Need to create a cross compiler?
If you go the EFI + Clang route, it's a lot easier and you wont need a cross compiler. See my demo here: https://github.com/AndreVallestero/minimal-efi
- Using C for OSdev
- Clang and pure EFI tutorial
pcboot
Posts with mentions or reviews of pcboot.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-11-28.
-
Need to create a cross compiler?
You don't need a cross-compiler for building bare metal programs for the same architecture. You just need to make sure to pass all the correct flags to gcc, like -ffreestanding, -nostdinc, and so on. Take a look at my pcboot project for reference: https://github.com/jtsiomb/pcboot/blob/master/Makefile
-
Reccomended resource for Kernel Dev with C
You don't have to. Feel free to refer to my Makefile and linkscript (pcboot.ld) as an example if it helps: https://github.com/jtsiomb/pcboot
-
Confused about how to draw one pixel to the screen
There is a more simple way, but it requires direct hardware access, which is something reserved for the operating system kernel when you're running under typical modern operating systems. Basically the graphics card's framebuffer is mapped somwhere in memory, and as long as you're in a video mode (which you can set up in a GPU-independend way with VBE, assuming we're talking about PCs), you can write pixels there and they're interpreted as colors by the scanout circuit. If you want to use the "simple way" you need to write your own bootable program. See my pcboot project: https://github.com/jtsiomb/pcboot, and series of accompanying short articles here: http://nuclear.mutantstargoat.com/articles/pcmetal/
-
after almost half a year, i entered protected mode successfully
Link to a regular ELF binary with -nostdlib using an ld link script that defines the start address to the address you're going to load at (see mine for example: https://github.com/jtsiomb/pcboot/blob/master/pcboot.ld ).
-
My global variables are not initialized, even tough I use a cross compiler.
here's mine from a recent project in case it helps: https://github.com/jtsiomb/pcboot/blob/master/pcboot.ld
- How can I get VBE graphics
-
How do I set up a VESA/VBE framebuffer?
You'll be the judge of the "reasonably clean" part, but here's mine: https://github.com/jtsiomb/pcboot/blob/master/src/vbe.c You'll also need to look into https://github.com/jtsiomb/pcboot/blob/master/src/lowcode.s for the int86 implementation, and here's a short accompanying article about how this works: http://nuclear.mutantstargoat.com/articles/pcmetal/pcmetal04.html