BOOTBOOT: Difference between revisions

Jump to navigation Jump to search
m
added more kernel languages
[unchecked revision][unchecked revision]
m (more categories)
m (added more kernel languages)
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. No real mode nor protected mode trampoline code needed at all, which simplifies your build environment significantly. Example linker script provided for both x86_64 and AArch64. There are example kernels forin [[C]], and[[Pascal]], [[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 61:
*[https://gitlab.com/bztsrc/bootboot Source on Gitlab] the repository
*[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/mykernel Example Hello World Kernel] in [[C]] with Makefile and minimal linker script
*[https://gitlab.com/bztsrc/bootboot/tree/master/mykernel-rust Example Hello World Kernel] in [[Rust]]
*[https://gitlab.com/bztsrc/bootboot/tree/master/mykernel-pas Example Hello World Kernel] in [[Pascal]]
*[https://gitlab.com/bztsrc/bootboot/tree/master/mykernel-go Example Hello World Kernel] in [[Go]]
*[https://gitlab.com/bztsrc/bootboot/tree/master/mkbootimg mkbootimg] simple to use, dependency-free [[Bootable_Disk|bootable disk]] creator
 
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu