Omnimaga: The Coders Of Tomorrow
Welcome, Guest. Please login or register.
 
Omnimaga: The Coders Of Tomorrow
21 May, 2013, 15:14:55 *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   home   news downloads projects tutorials misc forums rules new posts irc about Login Register  
+-OmnomIRC

You must Register, be logged in and have at least 40 posts to use this shout-box! If it still doesn't show up afterward, it might be that OmnomIRC is disabled for your group or under maintenance.

Note: You can also use an IRC client like mIRC, X-Chat or Mibbit to connect to an EFnet server and #omnimaga.

Pages: [1]   Go Down
  Print  
Author Topic: How KnightOS Is Built - Now and the Future -  (Read 422 times) Bookmark and Share
0 Members and 1 Guest are viewing this topic.
SirCmpwn
Guest
« on: 19 April, 2011, 00:04:41 »
0

I thought you guys might be interested in finding out how KnightOS itself is compiled.  Well, let me tell you.  Right now, there are two portions of the output files: the kernel and the filesystem.  Within the filesystem is the OS.  KnightOS is currently compiled via a combination of ZDS and custom build tools.  The kernel is one project in Zilog Developer Studio, and contains all of the code on page 00, and the protected port access pages.  There is quite a bit of space left in the kernel for all the features I have planned.  Once I compile that, I convert it to a ROM file, and I have to update the include files, so I take the .map file ZDS generates, and the first of my custom build tools turns that into an include file.  (Note that there is a separate include file for the OS and the kernel, though there are some similarities).  After creating the include files, I build each project in the filesystem again.  Every executable file in the filesystem has its own project in ZDS, and I open up all of these and rebuild them.  I only have to do this when I modify the kernel code (eventually, I won't have to do this).  Finally, I use the second of my custom build tools to patch the filesystem into the ROM.  What this does is takes the output files from the OS and patches them into the ROM file.  After this, the ROM file should work, and from there I can compile it into various .8xu files.
While this system is complex, it is also extremely flexible.  At this point, I can use any flavor of assembly to create the OS files - I could use ZDS, Brass, Tasm, Spasm, even SDCC, or any combination of the above to create the OS files, and it still works great.

In the future, I'll most likely set up the entire thing on an automated build.  I hope to have it all done with much greater ease, and customize everything about how it is built.  I'll also make automated testing tools, where I will have detailed logs of testing and the ability to run tests extremely quickly.  A lot of this will be specifically geared towards KnightOS, but quite a bit should also be available to anyone building an OS based on KnightKernel.
Logged
graphmastur
King Graphmastur
LV11 Super Veteran (Next: 3000)
***********
Offline Offline

Gender: Male
Last Login: 02 February, 2013, 08:34:45
Date Registered: 03 June, 2010, 21:15:55
Posts: 2262


Total Post Ratings: +60

View Profile
« Reply #1 on: 19 April, 2011, 00:47:19 »
0

Will it be 100% automated when you release the kernel for the dev release? Like the new avatar, btw.
Logged

SirCmpwn
Guest
« Reply #2 on: 19 April, 2011, 01:09:25 »
0

Will it be 100% automated when you release the kernel for the dev release? Like the new avatar, btw.
Thanks about the avatar, and when I release the kernel it will only be partially automated.  The kernel will not be automated to the degree that KnightOS itself will be.
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by EzPortal
Powered by MySQL Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Powered by PHP
Page created in 0.233 seconds with 31 queries.
Skin by DJ Omnimaga edited from SMF default theme with the help of tr1p1ea.
All programs, games and songs avaliable on this website are property of their respective owners.
Best viewed in Opera, Firefox, Chrome and Safari with a resolution of 1024x768 or above.