A tiny operating system for i686
- configure:
./config.sh
- create an iso image:
./iso.sh
- run:
./qemu.sh
- clean:
./clean.sh
When creating an iso image, the following command-line arguments are accepted:
Options:
-g print the GPL license notification.
-h, -help print this help.
-v print software version and exit.
-j the number of jobs
The basic dependencies before building and using this operating system are:
- QEMU (i386)
- i686-elf toolchain (see here)
- GRUB with i386-pc support (e.g. add
pc
to theGRUB_PLATFORMS
flag on Gentoo, installgrub-pc-bin
on Debian/Ubuntu) - xorriso (which might be included into
libisoburn
) - GNU make v4.0 or later
- A GNU/Linux system for testing
Bare bones:
- boot
- initialize stack and the rest of the environment
- enter kernel
VGA terminal driver:
- support for newline
- terminal scrolling
- render ascii logo
Architecture:
- extensible libk and libc
- make build system support
- hard build system with flexible configuration
The skeleton structure of this operating system was taken from the following guide on OSDev Wiki.