Learning operating system development using Linux kernel and Raspberry Pi
-
Updated
Feb 16, 2022 - 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.
A proof-of-concept microkernel that implements a WebAssembly "usermode" that runs in Ring 0.
The virtio_scsi driver enqueues buffers to the eventq but does not actually handle them on completion. The following events could be reported to the driver which require some action to be taken:
This is on hold because of the many bugs in the compiler
The build has received support for C++20 modules and it's now time to port the whole codebase to it.
The battle plan is to first port applications and utilities and then works our way down the dependency chain except everything needed by the kernel and the libc: libsystem, libio, libutils, libjson
Applications
Affected: Firmware targeting EFI < 1.10 and UEFI drivers that do not use BootServices.open_protocol and BootServices.close_protocol.
Prior to EFI 1.10, the EFI_BOOT_SERVICES.UninstallProtocolInterface function lacks the safety checks that were added in 1.10. It simply removes a protocol from a handle, and if the last protocol is removed from a handle, that handle is freed by firmware and
Unikraft is an automated system for building specialized OSes known as unikernels. Unikraft can be configured to be POSIX-compliant. (Core repository)
libhermit-rs: A Rust-based library operating system
RustyHermit - A Rust-based, lightweight unikernel
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
Writing & Making Operating System and Kernel parts so simple like Hello World Programs, Starting from writing Bootloaders, Hello World Kernel, GDT, IDT, Terminal, Keyboard/Mouse, Memory Manager, HDD ATA R/W, VGA/VESA Graphics
the binary memory map describes only one space, starting with the physical address 0x00100000
process the rest of the memory map entries and describe them in a binary memory map
An operating system written in C
A hobby operating system developed from scratch
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."
The Win32 back end includes support for bundle-private fonts as documented here. This should be ported to the X11 back end as well.
See https://github.com/mszoek/airyx/blob/62919a7f4d5e703bf2e09125796dee8fc4241c58/Frameworks/AppKit/Win32.subproj/Win32Display.m#L100-L142