I've been programming for about two years, mostly higher level stuff (like Python, PHP, web design). I know a little bit of Java and I'm starting to learn C++. I use Linux. I decided to learn how to program operating systems because I want to learn lower level programming, how computers work, etc. I've read all of the beginner articles in the OSDev Wiki and done some (very basic) programs in assembly.
----
Anyways, I'm at this tutorial.
- loader.s assembles without any errors
- in kernel.c I'm unsure about this line:
Code: Select all
/* You could either use multiboot.h */
/* (http://www.gnu.org/software/grub/manual/multiboot/multiboot.html#multiboot_002eh) */
/* or do your offsets yourself. The following is merely an example. */
char * boot_loader_name = (char *)mbd + 64;
- when I link the files using linker.ld it gives me an error: "Segmentation fault", but it still worked and I now have the file kernel.bin so I decided to try it out.
Grub works fine, but I get "Error 13: Invalid or unsupported executable format...".
I know this is a simple tutorial but I honestly can't figure it out