Bootloader not loading. WTH.

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.
Post Reply
AwfulMint
Member
Member
Posts: 35
Joined: Wed Nov 01, 2017 7:41 pm

Bootloader not loading. WTH.

Post by AwfulMint »

So I created a two stage bootloader, with no errors in compiling and I make a FAT12 image and tryied to boot it in bochs, without success. (NO FUC*ING BOOTABLE DEVICE ERROR) So when I search for a helloworld bootloader I copy the code, compile and works!

I don't know what I'm doing wrong! When I copy 100% of a tutorial code works, when I try my own I get errors like these '-'.

So this is not a help asking mesage, it's just a I-DON'T-KNOW page. But if u want help just reply.
OS Development is awesome!

|AetherOS Project|
User avatar
Stellaris
Posts: 6
Joined: Sun Dec 10, 2017 11:15 am

Re: Bootloader not loading. WTH.

Post by Stellaris »

Could you please post your code ? Sounds like a MBR signature issue, did you properly add the 0xAA55 signature at the end of the 512-byte block ?
My C++ OS Project : https://github.com/Stellaris-code/LudOS
FAT read support, Tar, VESA, AHCI, PIO IDE, along with a basic shell !
AwfulMint
Member
Member
Posts: 35
Joined: Wed Nov 01, 2017 7:41 pm

Re: Bootloader not loading. WTH.

Post by AwfulMint »

I don't know how to use MBR flags ;-;
OS Development is awesome!

|AetherOS Project|
User avatar
Stellaris
Posts: 6
Joined: Sun Dec 10, 2017 11:15 am

Re: Bootloader not loading. WTH.

Post by Stellaris »

My C++ OS Project : https://github.com/Stellaris-code/LudOS
FAT read support, Tar, VESA, AHCI, PIO IDE, along with a basic shell !
User avatar
TightCoderEx
Member
Member
Posts: 90
Joined: Sun Jan 13, 2013 6:24 pm
Location: Grande Prairie AB

Re: Bootloader not loading. WTH.

Post by TightCoderEx »

I think you might be missing boot signature 0x55 0xAA at the end of sector 0
MichaelPetch
Member
Member
Posts: 799
Joined: Fri Aug 26, 2016 1:41 pm
Libera.chat IRC: mpetch

Re: Bootloader not loading. WTH.

Post by MichaelPetch »

I'll reiterate what others have suggested, without code it is very hard to tell you what is wrong. If you have a simple bootloader at this time there likely isn't much to it and could probably be published inside the question. If it is larger then putting it on a service like Github and providing a link would be useful. If you don't wish to do that, you could tell us what tutorial you actually used (a link) and the type of change(s) that made it unable to work in Bochs etc.
AwfulMint
Member
Member
Posts: 35
Joined: Wed Nov 01, 2017 7:41 pm

Re: Bootloader not loading. WTH.

Post by AwfulMint »

I think I discovered, the binary file have more than 512 Kb, actually 532 Kb this is a problem right?
OS Development is awesome!

|AetherOS Project|
User avatar
bellezzasolo
Member
Member
Posts: 110
Joined: Sun Feb 20, 2011 2:01 pm

Re: Bootloader not loading. WTH.

Post by bellezzasolo »

AwfulMint wrote:I think I discovered, the binary file have more than 512 Kb, actually 532 Kb this is a problem right?
Yep.
Are you building as flat binary? This sounds like you've got a static library linked.
At the end of your asm, you want

Code: Select all

TIMES (510-$) db 0
db 0x55
db 0xAA
in nasm. I don't know the equivalent in gas, but it exists.
Whoever said you can't do OS development on Windows?
https://github.com/ChaiSoft/ChaiOS
MichaelPetch
Member
Member
Posts: 799
Joined: Fri Aug 26, 2016 1:41 pm
Libera.chat IRC: mpetch

Re: Bootloader not loading. WTH.

Post by MichaelPetch »

I doubt you mean Kb (maybe just bytes). Not sure why you just don't show us the code/commands you use to run it. I hope you aren't linking multiple files together with _LD_ and ignoring linker warnings. That won't work without a specially constructed linker script.

A size of 532b is not necessarily bad if you combined a first stage and second stage bootloader together after the fact, but again without showing us what you are doing, you make us just guess.
Post Reply