using a non-tutorial bootloader?
Posted: Mon Jul 09, 2012 1:16 pm
Hi all! I have decided to try to use a different bootloader than the tutorial one for a couple different reasons, the main one being I want to be able to add different versions of my os to the disk and rather than reimplement all of that I would rather just use code that is in place. I first tried GRUB but there seems to be alot of complications that go along with it. Next I tried Neptune's bootloader which starts up fine but then I get a page fault every time I try to load my os. I was as far in the tutorial as reading text files from the disk (the VFS chapter) and so I thought "maybe it's because of the virtual memory." So I proceeded to build the executable from the demo on physical memory management. I got a page fault there as well but a different blue screen. The first one was just a plain text screen. The second screen I got with the physical memory demo had an M.O.S. logo of a computer monitor at the top. Any ideas as to why my system is not loading for me? Advice is greatly appreciated!
EDIT: I just realized that the page fault that I am getting in the physical demo is in fact an error within the kernel example, not the bootloader! I will try to work that out here. Sorry! Thanks!
EDIT (AGAIN!!!): Ok, so I have narrowed down the problem. It seems that my multiboot information is being passed wrong. Does anyone know how Neptune loader passes the multiboot structure? Does it place it as an argument on the stack or is it contained in ebx?
EDIT: I just realized that the page fault that I am getting in the physical demo is in fact an error within the kernel example, not the bootloader! I will try to work that out here. Sorry! Thanks!
EDIT (AGAIN!!!): Ok, so I have narrowed down the problem. It seems that my multiboot information is being passed wrong. Does anyone know how Neptune loader passes the multiboot structure? Does it place it as an argument on the stack or is it contained in ebx?