-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
190 lines (118 loc) · 3.76 KB
/
README.txt
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
************* To build your own image *************
1. Build the loader if you have modified it. To do this, built sequentially
bootcode.asm and then grldr.asm
2. Build the kernel. To do this, build the project kernel\kernel.vcproj
3. Make bootable image with script makeimage.cmd
4. Enjoy the image located at image\floppy.ima ;)
************ To run GR8OS **************
1. Set image\floppy.ima as the floppy image for the virtual machine
2. Boot the virtual machine from floppy
3. Enjoy =)
I.e., for QEMU:
qemu.exe -L . -m 128 -fda D:/soft/gr8os/image/floppy.ima -localtime -M pc
Optionally you can add -s option to QEMU to activate gdbserver.
NB: Now this image works on QEMU, Bochs and VMware Workstation.
************ Source files layout: **************
\image
this directory will be created during build and the appropriate
files will be copied there. Then, the FAT12 floppy image will be
created from this directory.
\kernel
kernel sources.
\builtin
built-in kernel drivers for floppy, hard disk, cdrom and FAT FSD driver
\inc
include files
\Release
output object files
exc386.asm
Assembler source for hardware exceptions support
irq386.asm
Assembler source with basic IRQ handlers
ke386.asm
Assembler source with some low-level KE & HAL routines.
ps386.asm
Low-level part of the processes and threads manager
cc.cpp
Cache manager
ex.cpp
Executive subsystem: kernel heap, high-level synch objects.
except.cpp
High-level support for software exceptions, SEH, __try/__except/__finally blocks
hal.cpp
Hardware Abstration Layer
init.cpp
Initialization routines, KiInitSystem is the main.
io.cpp
Input/Output support.
kd.cpp
DBGKD built-in debugger
kernel.cpp
General kernel routines.
mm.cpp
Memory Management routines
ob.cpp
Objective subsystem.
precomp.cpp
Precompiled header source
ps.cpp
Processes and threads manager
runtime.cpp
Some RTL routines.
kernel.res
Compiled resource script
kernel.def
Kernel module definition file
kernel.sln
MS Visual Studio solution
kernel.ncb
MS Visual Studio intellisense database
kernel.vcproj
MS Visual Studio project file
\loader
OS loader source
bootcode.asm
bootsector loader source
grldr.asm
OS loader main source
auxmacro.inc
Some useful macroses for fasm
except.inc
Exceptions handling
interrupts.inc
Software interrupts handling
irq.inc
Hardware interrupts handling
kernel.inc
Some mini-kernel routines, that are not used for a long
time.. This file will be deleted in later versions
krnldbg.inc
Debug output
mm.inc
PE headers (do not look at the file name :D)
paging.inc
Paging support for protected mode
pestruc.inc
PE headers #2.. (do not look at the mm.inc :DD) This file will be deleted later.
realmode.inc
Unused routines to switch back to the real mode
runtime.inc
Some useful runtime for loader
tasks.inc
processor control block definition (do not look at the file name again... xD)
tss.inc
TSS support
gr8os.bxrc
Bochs configuration for the GR8OS
kernel.exe
kernel binary
kernel.exp, kernel.lib, kernel.pdb
some files generated by linker. they are used by drivers
makefd.exe
Utility that generates FAT12 image from the specified directory.
makeimage.cmd
Script that builds bootable image from kernel and loader binaries
message.txt
Some message that FAT driver reads for example.
README.txt
This file