Skip to content

Automatically exported from code.google.com/p/gr8os

Notifications You must be signed in to change notification settings

catterpiler74/gr8os

Repository files navigation

*************   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





About

Automatically exported from code.google.com/p/gr8os

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published