Multiboot is a specification that defines a protocol between boot loaders and operating system kernels. The idea behind it is to let any compliant boot loader load and execute any compliant OS kernel, decoupling these two system components. This way, boot loaders can be simpler by only having to know a single load protocol, and OS development is easier because there is no need to write a custom boot loader. This article details how NetBSD was made Multiboot-compliant, allowing it to be booted directly from within GRUB, and thus making it easier to install NetBSD alongside a Linux system in a single machine.
Nice project, it is always good create some well thought standart/common base that everyone can use without worrying about compatibility problems.
I have kind of adopted NetBSD as my second OS, but I really dislike the BSD function-key boot manager thingie. I’m looking forward to NetBSD 4 so I can use Grub for everything.
Heck yes, very noble effort put forth by Sr. Merino Vidal. (Not that I have any use for multi-boot systems, but I’m sure some of you do. )
Recently installed NetBSD 3.1 on an old AMD K6-2 system. Very easy to install, slim-feeling OS. Pretty much rocks.
You can use GRUB now with any of the NetBSD systems using the chainloader method that you would use with Windows. The only problem is that you cant send parameters through GRUB. I’ve done this for a while and it works fine.
Browser: ELinks/0.11.2 (textmode; NetBSD 4.0_BETA2 i386; 113×49-2)
Oops, I forgot to mention that when I said GRUB works now, I meant it wors pre-4.X systems with the limitation I mentioned above. NetBSD-4 incorporates the new code talked about in the article and does not have this limitation.
Check out GRUB in pkgsrc and it will give you instructions if you want to use GRUB on pre-4.X versions.
Browser: ELinks/0.11.2 (textmode; NetBSD 4.0_BETA2 i386; 113×49-2)
Just want to point out that you don’t really need a “protocol” to boot into everything.
Currently http://neosmart.net/dl.php?id=1“>EasyBCD every” rel=”nofollow”>http://neosmart.net/blog/2006/easybcd-151-released/”>every single (IBM-compatible) operating system created, from DOS to Windows 2000 to Vista to Linux to BSD & Unix and Mac OS X.
It uses a combination of BCD-layer code with a Windows-compatible GRUB-implementation to get other operating systems to boot directly.
There is a catch, you have to have the Windows Vista bootloader installed for it to work (but not necessarily Vista itself installed). It’s free software, btw.
Of course, you can chainload boot loaders (that is, make one load another one, and then let the latter boot its specific OS). This feature is allowed by almost any boot loader out there, including GRUB throught its ‘chainloader +1’ command. The “problem” with such a setup is that you have to install and configure more than one loader on your machine, whereas having just a single one could be more convenient.
However, if what EasyBCD does is boot natively any of the *supported* OSes, it must have knowledge of how to load them. Hence, there is a lot of code in it specifying how to load different kernels. If you have a new OS that is not supported… well… you can’t boot into it other than by using chainloader. With Multiboot, you have chances it’d work ๐
“Just want to point out that you don’t really need a “protocol” to boot into everything. ”
Indeed, and you don’t need EasyCD either. GRUB, smartbootmanager and many others can boot any OS you have installed. And as a bonus you dont need to have the Vista bootloader installed with any of these.
NetBSD (and Open/Free) could always be booted from GRUB. The news here is that it is now possible for GRUB to load the NetBSD kernel directly instead of using good-ole chainloading.
but Microshaft is not going to play with it, just as it always does with ALL version of windows.
The weakest link in the Multiboot spec is that it still relies on BIOS to boot up MBR. All version of windows (except EFI version) just overwrite the MBR with it’s own crap. How elegant the rest of the MBS is irrelevant with MBR screwed.
All it need to bring down a MBS system is 1 non co-operative OS or disk utility. With old software around and monopolistic company like MS who don’t want to co-operate the situation is not going to improve with this new MBS effort.
About Windows, I just would like to post a link: http://blogs.msdn.com/oldnewthing/archive/2005/12/20/505887.aspx Anyway, it’s true we can’t do anything about it, and that the sanest option to boot it continues to be to chainload its own boot loader.
However, there is people that loves to install tons of OSes in their machines just to play around with them, and if all were Multiboot-compliant, things would be easier. Also, there are some developers that would like to attempt to write a kernel. If they make it Multiboot-compliant, they can get up to work fairly quickly, without writing a boot loader.
Sure, Multiboot does not solve all problems, but things could be better overall if at least all free OSes supported it ๐