User Tools

Site Tools


progress

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
progress [2017/03/06 07:57]
admin
progress [2017/03/30 08:48] (current)
admin
Line 1: Line 1:
 =====Progress===== =====Progress=====
 ===At first=== ===At first===
-To start off my project I started searching for information I might need. I found some references to similar projects, but found them difficult to implement. Mostly because they did not do a good job of documenting what, why and how.\\ +To start off my project I started searching for information I might need. I found some references to similar projects, but found them difficult to implement. Mostly because they did not do a good job of documenting what, why and how. You will also find it quite common that these so-called walk-throughs leave out things that can be located elsewhere, making progress painfully slow as you need to find all that missing information.\\ 
-My breakthrough came when I found [[http://​wiki.osdev.org|OSDev]]. There you will find a lot of information on topics you need to know, and enough code examples to get you going.+My breakthrough came when I found [[http://​wiki.osdev.org|OSDev.org]]. There you will find a lot of useful ​information on topics you need to know, and enough code examples to get you going. However, OSDev.org do suffer quite a bit from having been written by programmers and as such it does leave quite a few holes in its "​how-to"​ explanations.
  
 ===Setting everything up=== ===Setting everything up===
Line 18: Line 18:
 These tools will run on your current system and create output for your new system. This is called cross compiling, and you need to create these tools yourself.\\ These tools will run on your current system and create output for your new system. This is called cross compiling, and you need to create these tools yourself.\\
 OSDev have an excellent [[http://​wiki.osdev.org/​GCC_Cross-Compiler|article]] about this that walks you through the process.\\ OSDev have an excellent [[http://​wiki.osdev.org/​GCC_Cross-Compiler|article]] about this that walks you through the process.\\
-I installed GCC 6.3.0, and for me this was the most time-consuming part by far.\\+I installed GCC 6.3.0, and for me this was the most time-consuming part by far. Partly because no two systems are alike, so you //will// run into problems which does not have readily available answers all on the same page. Get ready for some web surfing. \\ 
 +Remember to enable 64-bit for your compiler should you require it, as there'​s a big chance it's not enabled by default.\\
 \\ \\
 Eventually you will have your Linux tools for your new operating system installed under Windows 10 Bash. Eventually you will have your Linux tools for your new operating system installed under Windows 10 Bash.
Line 29: Line 30:
 At this point you'll need to decide what parts should do what. My MBR simply copies itself to a different location, and then loads a somewhat bigger piece of code and executes it.\\ At this point you'll need to decide what parts should do what. My MBR simply copies itself to a different location, and then loads a somewhat bigger piece of code and executes it.\\
 This next piece of code will do a little more work. First it sets the CPU in protected [[http://​wiki.osdev.org/​X86-64|64-bit long mode]] which will also be our final working mode. Interrupts are set up, and the next chunk of code will be read and executed.\\ This next piece of code will do a little more work. First it sets the CPU in protected [[http://​wiki.osdev.org/​X86-64|64-bit long mode]] which will also be our final working mode. Interrupts are set up, and the next chunk of code will be read and executed.\\
-This final piece of code will be from C source, and thus generated by our cross compiler. Because of that, this stage of the code also requires an ELF loader.+This final piece of code will be from C source, and thus generated by our cross compiler. Because of that, this stage of the code also requires an [[ELF loader]].
  
  
  
progress.1488787020.txt.gz · Last modified: 2017/03/06 07:57 by admin