Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Well shouldn't you load your kernel at 0x100000, but before you jump to it map it to your address by changing the base address of the GDT selector you use to jump to it....
Jules
Well shouldn't you load your kernel at 0x100000, but before you jump to it map it to your address by changing the base address of the GDT selector you use to jump to it....
That's all set up correctly.The only thing that is not working is the port of that script to gnu's ld. I've tested it using the djgpp ld (in Windows) and that did work.
So my question is the same: what should I do to convert the code? suther's code doesn't compile unfortunately.
I've found the error! The DJPP's LD does not see rodata as a different type of data, so it just puts it in data. GNU's LD does see rodata as a different type, so I had to put it there:
I got the idea that this was the problem because the string constants were in the beginning of the file. Apparently, if you don't say where to put rodata, it will put in before text, thus making a 4gb file.