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