Learning operating system development using Linux kernel and Raspberry Pi
-
Updated
Nov 8, 2020 - C
{{ message }}
Learning operating system development using Linux kernel and Raspberry Pi
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
(Going to be) A microkernel that implements a WebAssembly "usermode" that runs in Ring 0.
libhermit-rs: A Rust-based library operating system
Here is a list of commands to implement to make the skift shell usable.
(The source code of uname is a good example of how commands should be written.)
The stage2 disk image must remain under 64kB to allow loading it in a single bios int 13H call from within stage1. While we don't want stage2 to get any larger, this can be a show stopper when stage2 code compiled with debug code or lower optimization causes this boundary to be exceeded.
Investigate improving the stage1 bootloader to make multiple bios calls to fulfill the stage2 read if needed
Although a new inline assembly syntax asm! was announced in Rust on 2020/06/08[1], KRaBs still uses llvm_am!.
[1] New inline assembly syntax available in nightly
According to the blog, the asm! macro should be safer and easier to use. This is expected to become the mainstream of inline assembly in the future, so
HermitCore: A C-based, lightweight unikernel
display_bsod internally calls the map_framebuffer syscall to map the framebuffer, because we . were lazy and didn't want to duplicate code. However this syscall retrieves the current process to map it in its process memory.
When we're panicking during early boot, CURRENT_PROCESS is None and this panics in the panic handler.
We should instead do a second function that maps it in the k
Unikraft is an automated system for building specialized POSIX-compliant OSes known as unikernels. (Core repository)
FreeDOS kernel - implements the core MS-DOS/PC-DOS (R) compatible operating system. It is derived from Pat Villani's DOS-C kernel and released under the GPL v2. Please see http://www.freedos.org/ for more details about the FreeDOS (TM) Project. !!! This fork is no longer the primary fork -- Please post PRs and issues to https://github.com/FDOS/kernel !!!
A simple "Unix-like" kernel trying to be POSIX compliant
Add a description, image, and links to the osdev topic page so that developers can more easily learn about it.
To associate your repository with the osdev topic, visit your repo's landing page and select "manage topics."
Currently, the
uefi-servicescrate contains a panic handler, while this is useful, It is a problem if you are doing printing yourself as you can't use your own printer for panics. The best option would be to make the panic handler optional usingcfg_attr()Thank you for your time!