-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
78 lines (64 loc) · 3.33 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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 [email protected] 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.