Menu

Tree [f460fc] default tip /
 History

Read Only access


File Date Author Commit
 .hgignore 2011-09-12 Boris Figovsky Boris Figovsky [dbbcb2] build the kernel as a binary image
 COPYING 2011-09-05 Boris Figovsky Boris Figovsky [0c333c] Initial commit
 Makefile 2011-09-15 Boris Figovsky Boris Figovsky [f460fc] use gcc to link, add libgcc.a and support %llu ...
 README 2011-09-05 Boris Figovsky Boris Figovsky [0c333c] Initial commit
 array.h 2011-09-07 Boris Figovsky Boris Figovsky [e794ef] fixed copyright year to match reality
 attr.h 2011-09-09 Boris Figovsky Boris Figovsky [5ceeb0] GDT, IDT and initial PIC support
 borfigos.lds 2011-09-15 Boris Figovsky Boris Figovsky [f460fc] use gcc to link, add libgcc.a and support %llu ...
 debug.c 2011-09-15 Boris Figovsky Boris Figovsky [f460fc] use gcc to link, add libgcc.a and support %llu ...
 debug.h 2011-09-09 Boris Figovsky Boris Figovsky [46014c] vga clean-up, document debug and added PANIC_ON
 gdt.c 2011-09-14 Boris Figovsky Boris Figovsky [5bb16f] moved kernel loading to 0x01000000 physical and...
 idt.c 2011-09-12 Boris Figovsky Boris Figovsky [aeb8c5] implemented high-kernel loading, fixed interrup...
 idt.h 2011-09-09 Boris Figovsky Boris Figovsky [5ceeb0] GDT, IDT and initial PIC support
 int.S 2011-09-12 Boris Figovsky Boris Figovsky [aeb8c5] implemented high-kernel loading, fixed interrup...
 interrupt_handlers.x.h 2011-09-10 Boris Figovsky Boris Figovsky [3b29d7] Initial paging support
 io.h 2011-09-09 Boris Figovsky Boris Figovsky [5ceeb0] GDT, IDT and initial PIC support
 loader.S 2011-09-14 Boris Figovsky Boris Figovsky [5bb16f] moved kernel loading to 0x01000000 physical and...
 main.c 2011-09-14 Boris Figovsky Boris Figovsky [5bb16f] moved kernel loading to 0x01000000 physical and...
 memlayout.h 2011-09-14 Boris Figovsky Boris Figovsky [5bb16f] moved kernel loading to 0x01000000 physical and...
 memmove.c 2011-09-07 Boris Figovsky Boris Figovsky [e794ef] fixed copyright year to match reality
 memset.c 2011-09-10 Boris Figovsky Boris Figovsky [3b29d7] Initial paging support
 multiboot.h 2011-09-12 Boris Figovsky Boris Figovsky [dbbcb2] build the kernel as a binary image
 paging.c 2011-09-14 Boris Figovsky Boris Figovsky [5bb16f] moved kernel loading to 0x01000000 physical and...
 pic.c 2011-09-09 Boris Figovsky Boris Figovsky [5ceeb0] GDT, IDT and initial PIC support
 picint.S 2011-09-12 Boris Figovsky Boris Figovsky [aeb8c5] implemented high-kernel loading, fixed interrup...
 pmem.c 2011-09-14 Boris Figovsky Boris Figovsky [5bb16f] moved kernel loading to 0x01000000 physical and...
 pmem.h 2011-09-12 Boris Figovsky Boris Figovsky [aeb8c5] implemented high-kernel loading, fixed interrup...
 string.h 2011-09-10 Boris Figovsky Boris Figovsky [3b29d7] Initial paging support
 types.h 2011-09-09 Boris Figovsky Boris Figovsky [5ceeb0] GDT, IDT and initial PIC support
 vga.c 2011-09-09 Boris Figovsky Boris Figovsky [5ceeb0] GDT, IDT and initial PIC support
 vga.h 2011-09-09 Boris Figovsky Boris Figovsky [46014c] vga clean-up, document debug and added PANIC_ON

Read Me

borfigos

Copyright 2011 Boris Figovsky <borfig@gmail.com>

borfigos is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

borfigos is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with borfigos. If not, see <http://www.gnu.org/licenses/>.

borfigos is yet another operating system for the x86 architecture.
It is written for the sole purpose of studying operating system theory,
and the x86 architecture.

Requirements:
- An x86 PC, preferably a virtual one
- any standard multiboot boot loader
- an x86 tool-chain

WARNING:
--------

This operating system is not yet safe for running on real hardware!
Be warned!
Use any virtualization solution to run this operating system.

Currently, there is only a kernel and no drivers at all.

I recommend using kvm (http://www.linux-kvm.org/) with the -kernel option
to boot borfigos

# kvm -kernel borfigos.elf

GNU GRUB (http://www.gnu.org/software/grub/) can also be used, but I have
not tested.

To compile it, just invoke make from the top directory.