Why does everyone want to write their own bootloader?
Why does everyone want to write their own bootloader?
It seems like most of the people here are spending most of their time writing boot sectors rather than using GRUB and focusing on OS design. Why is this? I don't mean to be too critical, but if you write your own bootloader, you have to deal with the hassels of real mode, and all that comes with it, which takes away time from the time you can spend actually developing the OS, and makes it a hassel to multiboot with your OS. So, for my own curiosity, post your reasons, if you please.
RE:Why does everyone want to write their own bootloader?
Cause they want to. Its that simple
RE:Why does everyone want to write their own bootloader?
Why do people want to write their own boot sectors?
I think it is because there are a lot of programmers that don't feel right using anyone else's code, no matter how simple. Plus, they want to get the experience of doing something on their own. Also, some OS's might need a special bootloader to load their OS.
Why don't people just use Windows?
In the programming world Windows is definitely the most hated OS out there. Some people don't even like to use the word Windows. They just say "Winblows" or "Windoze". People don't usually write their own Operating Systems to use them for every day stuff. They do it for fun, experience and to be able to like like they've accomplished something big. When you write your own OS it isn't simple like writing software for an already existing OS.
I think it is because there are a lot of programmers that don't feel right using anyone else's code, no matter how simple. Plus, they want to get the experience of doing something on their own. Also, some OS's might need a special bootloader to load their OS.
Why don't people just use Windows?
In the programming world Windows is definitely the most hated OS out there. Some people don't even like to use the word Windows. They just say "Winblows" or "Windoze". People don't usually write their own Operating Systems to use them for every day stuff. They do it for fun, experience and to be able to like like they've accomplished something big. When you write your own OS it isn't simple like writing software for an already existing OS.
Only Human
RE:Why does everyone want to write their own bootloader?
The windows question was rhetorical. My point was: Maybe coders don't use GRUB for the same reason they don't use windows. Isn't the whole point of writing an OS writing it? Why else would you write one? To become the next bill gates? LOL.
-Robert
-Robert
RE:Why does everyone want to write their own bootloader?
Why do I write my own bootloader? Simply because GRUB does not support yet my file system, before loading the kernel I need to load a kernel loader which is not on the file system and it must be loaded below 1MB (GRUB does not support image loading under 1MB).
RE:Why does everyone want to write their own bootloader?
"I think it is because there are a lot of programmers that don't feel right using anyone else's code, no matter how simple."
Then why doesn't everyone want to write their own BIOSes too?
"Plus, they want to get the experience of doing something on their own."
Well, I guess I just don't see what is interesting about this particular aspect of system programming. I mean, writing an OS makes sense, because there is a lot of complexity and many different directions it can take, but bootloaders are not like that. Most bootloaders do about the same things: enable a20, enter pmode, load kernel, far jump. All of that is tedious an mundane. If you use something like GRUB, you can still do almost all the same things, but you do not have to worry about the limitations of starting out in real mode with all the limitations it has.
I'm not saying that no one has a reason to write their own bootloader. But for most situations it is a great solution, and I hate to see so many wheels reinvented so often. I am, however, curious why so many people want to write their own.
Then why doesn't everyone want to write their own BIOSes too?
"Plus, they want to get the experience of doing something on their own."
Well, I guess I just don't see what is interesting about this particular aspect of system programming. I mean, writing an OS makes sense, because there is a lot of complexity and many different directions it can take, but bootloaders are not like that. Most bootloaders do about the same things: enable a20, enter pmode, load kernel, far jump. All of that is tedious an mundane. If you use something like GRUB, you can still do almost all the same things, but you do not have to worry about the limitations of starting out in real mode with all the limitations it has.
I'm not saying that no one has a reason to write their own bootloader. But for most situations it is a great solution, and I hate to see so many wheels reinvented so often. I am, however, curious why so many people want to write their own.
RE:Why does everyone want to write their own bootloader?
When I first started making OSs I didn't know about multiboot and how simple it makes booting. For that reason, I wrote my own bootloader, and I'm sure there are a lot of other people that do it for that reason. But now that I know about multiboot, I use GRUB and it's much easier to concentrate on the other parts of OS development. But I'm still glad I learned how to make a bootloader, even if it was a royal pain in the butt. In fact, I'll probably make my own multiboot loader one of these days, and I'll do it for a few reasons: 1. I just want to; 2. There are a lot of things I don't like about GRUB; 3. I don't care much for GNU's licence agreement (I like BSD style better.).
RE:Why does everyone want to write their own bootloader?
When and if you do make your own bootloader, I hope that you will do the following:
1. Follow the multiboot standard (or at least support it). Make extensions where necessary, but it will be easier for other people to use if you limit this.
2. Keep us up to date on it here, so that we can participate.
I agree that GRUB isn't perfect, but it is IMO the best out there right now. I also prefer the BSD license to GPL, but for the bootloader it doesn't seem like it matters very much.
I don't really think its silly to create a bootloader project, and do a good job making it a complete system that has a lot of useful capabilities. What I think is silly is when people make these crappy bootloaders, that are capable of loading a kernel of 43K from sector 3 of the first floppy drive (for example). So many bootloaders that are being written sound like they will be painfully cumbersome, because they are essentially just kludges to get started.
1. Follow the multiboot standard (or at least support it). Make extensions where necessary, but it will be easier for other people to use if you limit this.
2. Keep us up to date on it here, so that we can participate.
I agree that GRUB isn't perfect, but it is IMO the best out there right now. I also prefer the BSD license to GPL, but for the bootloader it doesn't seem like it matters very much.
I don't really think its silly to create a bootloader project, and do a good job making it a complete system that has a lot of useful capabilities. What I think is silly is when people make these crappy bootloaders, that are capable of loading a kernel of 43K from sector 3 of the first floppy drive (for example). So many bootloaders that are being written sound like they will be painfully cumbersome, because they are essentially just kludges to get started.
RE:Why does everyone want to write their own bootloader?
I think anyone not writing a piece of software for commercial use is pretty much writing it for themselves or for the fun of it. Personally i hate using other peoples code.
You get people on this board asking if others could post their code to look at, now it's not your own os for posting code, and its not theirs for copying it.
You know your chosen language, now be imaginative and write your software in your view. That's why people write their own loader. You don't see them all written in look and work just the same way as Grub does.
Personally i decided to use Grub for its multiboot. Simply because i didn't want the hassle i got when i first started with the basic bootsector os that prints hello world. I didn't want to have to understand real mode when i don't intend to be using it (at least not yet) but i would have to say one of the biggest reasons i used Grub was because i was new to any os level seen and writing a bootloader requires filesystem, disk, mm and filetype support at least. That's a lot for a simple 512b app thats written for a mode i don't care about or yet plan to use.
Brill.
You get people on this board asking if others could post their code to look at, now it's not your own os for posting code, and its not theirs for copying it.
You know your chosen language, now be imaginative and write your software in your view. That's why people write their own loader. You don't see them all written in look and work just the same way as Grub does.
Personally i decided to use Grub for its multiboot. Simply because i didn't want the hassle i got when i first started with the basic bootsector os that prints hello world. I didn't want to have to understand real mode when i don't intend to be using it (at least not yet) but i would have to say one of the biggest reasons i used Grub was because i was new to any os level seen and writing a bootloader requires filesystem, disk, mm and filetype support at least. That's a lot for a simple 512b app thats written for a mode i don't care about or yet plan to use.
Brill.
RE:Why does everyone want to write their own bootloader?
That's what I meant was that I would follow the multiboot standard if and when I make a bootloader. The reasons it matters that GRUB uses the GPL is that I can't just modify GRUB if I don't want my loader GPLed; and if and when I distribute an OS, I want to distribute it with a non-GPL loader. As for the people making crappy bootloaders, I think it's helpful to start learning about making a bootloader. But I agree that there are better and more important things that they could be learning about OS dev, like actually developing an OS for instance.