Boink Kernel Project

The Boink Kernel Project aims to provide a fairly usable abstraction for every layer between bare metal and user. It provides the following:

Two novel ideas have been implemented as part of this kernel —

Several OSDev milestones were accomplished in this project —

Other milestones were also achieved —

Screenshots from development

First Steps — printing to the screen in VGA text mode



GLFS disk reads



VGA framebuffer graphics



Less-inspired Text Pager



Panic diagnostic shell



Boink Interactive Bootloader



Bitmap Image Viewer



ring3 context switching



Custom libc with basic I/O support




GLFS Project

good little file system (affectionately good luck file system)

GLFS intends to be an insanely simple filesystem for use in hobby projects. GLFS is used by the Boink Interactive Bootloader to load the system into memory.

GLFS Structure Overview

	[sector 0] GLFS SUPERBLOCK
	----------
	- magic GLFS+version identifier

	[sector 1+] DIRECTORY TABLE
	-----------
	     [entry 0] filename: string
	               start sector: int
		       size: int (bytes)

	     [entry 1] filename: string
	               start sector: int
		       size: int (bytes)
	     (...)
     
	[end of table marker]
	----------
	[file data]
	(...)
	

[0] Superblock Overview

[sector 1+] Directory Table Overview

from GLFSv0 Spec

A full suite of GLFS tools is available here.


Available Code

"How did you do it?"
"It's very simple — you read the protocol and write the code." — Bill Joy