/yafos

Yet Another Free OS (And coala was started here :)) - NO LONGER MAINTAINED

Primary LanguageC

Yet Another Free Operating System

WHAT IS YAFOS
	YAFOS (Yet Another Free Operating System) is a free open source kernel
	maintained by a large community (currently at maximum two active people ;)).
	The goals at this stage are specificly to build a multitasking OS wich
	supports multiple processor cores and the 64 bit intel architecture.
	(Yeah... hopefully it will. Until then it's just fun to write this ;))
	
	If you need any information, take a look at the doc/ directory or write an
	email to me.

DISCLAIMER OF WARRANTY
	The Software is provided "AS IS" and "WITH ALL FAULTS," without warranty of
	any kind, including without limitation the warranties of merchantability,
	fitness for a particular purpose and non-infringement. The Licensor makes
	no warranty that the Software is free of defects or is suitable for any
	particular purpose. In no event shall the Licensor be responsible for loss
	or damages arising from the installation or use of the Software, including
	but not limited to any indirect, punitive, special, incidental or
	consequential damages of any character including, without limitation,
	damages for loss of goodwill, work stoppage, computer failure or
	malfunction, or any and all other commercial damages or losses. The entire
	risk as to the quality and performance of the Software is borne by you.
	Should the Software prove defective, you and not the Licensor assume the
	entire cost of any service and repair.

CURRENT STATUS
	TODO?

INSTALL THE TOOLCHAIN
	Currently the own toolchain is disabled (but functional). Skip this
	paragraph if you want.

	YAFOS has it's own toolchain to provide independency from gcc updates. (They
	may do harm. TODO make some research on using more of the options given by
	an own compiler.)

	You may compile a crosscompiler using:
		make cc32
	This will do everything automatically. If it fails, see that all needed
	software is installed (lists for some distributions in the makefile) and
	retry after doing
		rm -R /tmp/ct-ng
	since there may be temporary files saved which may block the installation
	process.
	The script will create a working directory in your home directory
		~/cc
	If this already exists it will append 'c' until it doesn't. It should remove
	it automatically but that's not guaranteed! Feel free to delete it manually,
	it has no use after building the toolchain.
	
	Be sure to install qemu before trying to test. Alternatively you can create
	an ISO with grub and the kernel and reboot everytime you want to test.
	
	Have fun!

BUILD
	Be sure to read and follow the instructions given in [INSTALL THE TOOLCHAIN]
	Just execute 'make run' to compile the kernel and start the qemu emulator.
	Qemu may be interfaced with gdb via the command:
		target remote localhost:1234
	
	Be sure to take a look at the switches provided in kernel/settings.h

CONTRIBUTING
	To open all project files we have an editor independend project file. (Yes,
	it's a bash script that just executes your favorite editor with all the
	files)
	Be sure that your editor supports tabs or so - else you'll get a lot of
	windows. (And who wants windows...)

	Please contact lasse.schuirmann@gmail.com to contribute to this project.
	Be sure to read the programming guidelines, provided in
		doc/programmingGuidelines
	before contributing or even committing any code.
	
	Be aware the the contributed code will be published under the GPL3 License.