BOOTBOOT: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
[unchecked revision][unchecked revision]
m (updated mykernel links)
mNo edit summary
Line 32:
== Your Kernel ==
 
You can use ELF64 or PE32+ formats for your kernel. You must link it as a [[Higher Half Kernel]], and your entry point should point to [[Long Mode]] code. That's all. Unlike all the other boot protocols (e.g. [[Multiboot]] and [[stivale]]), there's absolutely no need for special sections nor for magic structs, unimplementable in some languages. No real mode nor protected mode trampoline code needed either, which simplifies your build environment significantly. Example linker script provided for both x86_64 and AArch64. There are [https://gitlab.com/bztsrc/bootboot/tree/master/mykernel example kernels] written in [[C]], [[C++]], [[Pascal]], [[Ada]], [[Rust]] and [[Go]].
 
BOOTBOOT passes a configuration to your kernel in a newline separated, zero-terminated UTF-8 string. Each line contains a ''key=value'' pair, where only two keys, "screen" and "kernel" are reserved. You are free to use any other keys that your kernel wishes to use.
Line 62:
*[https://gitlab.com/bztsrc/bootboot/raw/master/bootboot_spec_1st_ed.pdf BOOTBOOT Specification] and user's manual in PDF format
*[https://gitlab.com/bztsrc/bootboot/tree/master/mkbootimg mkbootimg] simple to use, dependency-free [[Bootable_Disk|bootable disk]] creator
*[https://gitlab.com/bztsrc/bootboot/tree/master/mykernel Example Hello World KernelKernels] with Makefile and minimal linker script
*Mykernel in [https://gitlab.com/bztsrc/bootboot/tree/master/mykernel/c C]
*Mykernel in [https://gitlab.com/bztsrc/bootboot/tree/master/mykernel/cpp C++]
*Mykernel in [https://gitlab.com/bztsrc/bootboot/tree/master/mykernel/rust Rust]
*Mykernel in [https://gitlab.com/bztsrc/bootboot/tree/master/mykernel/pas Pascal]
*Mykernel in [https://gitlab.com/bztsrc/bootboot/tree/master/mykernel/goada GoAda])
*Mykernel in [https://gitlab.com/bztsrc/bootboot/tree/master/mykernel/go Go]
 
[[Category:Bootloaders]]
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu