An open API service indexing awesome lists of open source software.

https://github.com/boneill02/swerve

A barebones i386 kernel
https://github.com/boneill02/swerve

c i386 kernel operating-system osdev unix

Last synced: about 1 month ago
JSON representation

A barebones i386 kernel

Awesome Lists containing this project

README

        

# swerve

A suckless-inspired Unix-like monolithic kernel originally designed for i386
machines. This is a work in progress. Please don't run this on real hardware.
I take no responsibility for damages caused by swerve (the code is licensed
with no warranty).

## Principles

1. The program should be **free software**.
2. The program should be as **efficient** as possible.
3. The program should be as **legible** as possible.
4. The program should be as **small** as possible.

## Prerequisites for building

* [GNU Binutils cross-compiled for
swerve](https://gitlab.com/swegbun/swerve-binutils)
* [GCC cross-compiled for swerve](https://gitlab.com/swegbun/swerve-gcc)
* GNU Make
* A POSIX shell (`dash`, `bash`, ...)

## Prerequisites for making a GRUB image

* fdisk (from util-linux)
* GNU GRUB

## Building

1. Edit `config.mk` to your liking
2. Run `make -j2` (note: you should change 2 to the number of processor threads
you have)

## Run in QEMU

1. Run `make run-qemu`

## Build GRUB image

1. Run `make grub-image`

## Copying

All of the source code for the kernel and libc are licensed under the GNU GPL
v3 (see LICENSE.gpl), unless otherwise noted. All documentation (in the doc
directory) is licensed under the GNU FDL v1.3 (see LICENSE.gfdl), unless
otherwise noted. All videos, images, and audio are licensed under the Creative
Commons Attribution Share-Alike 3.0 Unported License
().