Strayker-Software / StrayexOS

Simple, lightweight and well documented 32bit operating system. Created to be the Golden Mean between MikeOS and Linux!
Other
15 stars 7 forks source link

Grub multiboot header broken #5

Open ivanka2012 opened 4 years ago

ivanka2012 commented 4 years ago

So I'm not sure if this is supposed to happen, but I when I try to boot the provided ISO in the docs with qemu on linux, it doesn't work. I checked the .bin file in the kernel/ directory and it turns out that the kernel actually doesn't have a valid multiboot header.

StraykerPL commented 4 years ago

Hello!

Thank you for your support. I checked my ISO image on a few computers with QEMU and VirtualBox on Windows and kernel is working. Also I checked it again on my Ubuntu where I develop it and it's still working properly. But to be sure, I recreated ISO and binary file in repository from code again. Regarding Multiboot header, I use newer Multiboot 2.0 specification where Multiboot header is recreated, but it's in proper place in binary file. Also I checked it with GRUB and it sees header and boots kernel. Another way I tried, is readelf command:

mbheader

The structure of the beginning of the file is correct.

So now try to download recreated ISO image from my repo and run it with QEMU. If you still get trouble, I suggest to check everything from the beginning. That means, if you don't use my Makefile, if you use proper architecture of QEMU emulator, it should be i386 or x86-64. Also write to me if you run out of ideas to fix it. I will think more about that.

Cheers, Daniel Strayker Nowak