Skip to content

A tiny Unix kernel in the spirit of Linux 0.01 for experimentation and education purposes.

Notifications You must be signed in to change notification settings

pveentjer/punix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

476 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

First time build:

cmake -B build

To build and run the kernel

cmake --build build --target clean && cmake --build build --target run

The kernel will boot into a very primitive shell.

Currently there are some tools in the bin directory and there is a tiny libc
implementation. But this will soon be replaced by Musl and BusyBox.

To count the number of C lines:

cloc kernel/

Useful to inspect the kernel:

nm -n kernel.elf
readelf -l kernel.elf

Useful for assembly debugging

mov word [0xB8000], 0x0740
*(volatile uint16_t*)0xB8000 = 0x1F4B;  // 'K'

About

A tiny Unix kernel in the spirit of Linux 0.01 for experimentation and education purposes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published