The Boot Loader Showdown
An anonymous reader writes "What utility do practically all Linux users use, regardless of their job or expertise? A boot loader. In this article from IBM, see how a boot loader works, meet two popular loaders -- LILO (LInux LOader) and GNU GRUB (GRand Unified Boot loader) -- and review the pros and cons of each." From the article: "Most simply, a boot loader loads the operating system. When your machine loads its operating system, the BIOS reads the first 512 bytes of your bootable media (which is known as the master boot record, or MBR). You can store the boot record of only one operating system in a single MBR, so a problem becomes apparent when you require multiple operating systems. Hence the need for more flexible boot loaders.""
GRUB all the way baby. It would be useful if the GRUB shell had some basic scripting E.g. user input, if-then, simple variables. The fact that you don't need to remember to re-install your boot loader every time you change the slightest thing is a major bonus though.
Oh and you know what? All the XOSL fanboys are going to start whining that it wasn't included. Go on, just watch.
so, which dupeloader is the best?
I use CmdrTaco, works best with my old version of the beowulf cluster....
Whoa, tone down the technical mumbo-jumbo a bit, I'm having trouble following. So now what you're saying is that Linux thing is now on computers?
What utility do practically all Linux users use, regardless of their job or expertise? A boot loader. In this article from IBM, see how a boot loader works, meet two popular loaders -- LILO (LInux LOader) and GNU GRUB (GRand Unified Boot loader)
Cool. I didn't know Ric Romero was writing for Slashdot now.
The theory of relativity doesn't work right in Arkansas.
I for one, welcome our new... (this is so old I can't even finish the joke, please make it stop) Yeah, next Slashdot will be displaying articles about how the BIOS is old and unnecessary. Yeah, boot loaders weren't initially designed for Multiple OS'es. Big whoop. Where's the story? Or are /. readers so stupid that they need this article to inform them?
7h3$3 4r3n'7 7h3 Ðr01Ð$ ¥0 4r3 £00|{1n9 f0r. M0v3 4£0n9. --OB1
On my dual-boot laptop, the virus protection in Windows doesn't recognize Grub, so it will wipe the boot sector if it's the primary boot loader. But I realy like not having to do anything after installing a new kernel, so I want to use Grub.
The solution? Install Grub on the Linux partition, and use Lilo to load it. It is rather funny watching the boot messages go through Lilo to get to Grub.
...GRUB is the ultimate choice. It understands multiple OSes (including Windows XP), is very flexible and easy to use and uses a highly ethical license. Oh... and it doesn't require you to reinstall it after you make a change to it's config file like LILO does. No need to read any further. I have spoken.
-"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
Is it really all the important? You see it for about 3 seconds, each time you boot your computer. If you are booting your computer more than 3 times a day, you should look into VMware so you don't have to reboot so often to access all those different OSes you have. Either that, or switch to a more stable OS. As long as it can boot the OSes you want, is there any real reason to have one over the other? I think this is kind of pointless. I just go with whatever my distro (mandriva) offers by default (lilo). It's such a minimal part of my computer, that I couldn't be bothered to even think of changing it.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
For anyone getting ready to load a Linux instance on a VMWare virtual machine, save yourself some time and use LILO. GRUB does not work as best I can tell. Boots to a fun error message after initial install. LILO works like a charm.
I was going to post but computer says LIL-
Philip
Signatures are broken
Yeah, you have posted this before!
Yeah, but there is a big:
diff -u post1 post2
--- post1 Tue Jan 3 09:35:05 2006
+++ post2 Tue Jan 3 09:34:20 2006
@@ -1,4 +1,6 @@
-Francesca
+An
+anonymous
+reader
writes
"What
utility
@@ -125,4 +127,4 @@
more
flexible
boot
-loaders."
+loaders.""
If the authors would have been the same and the second one didn't have an extra '"' at the end of it, it would have been the perfect dupe.
Until GRUB implements the equivalent of LILO's raid-extra-boot, I'll keep using LILO thankyouverymuch.
I don't understand how GRUB can have gone so long without that feature. I know there are ways to do it (we'll call them work-arounds), but I don't want to have to work around the lack of a feature!
you need
btmgr
http://btmgr.webframe.org/
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Notice that it's an AC that did it, too. It's actually pretty funny, in a sorry sort of way.
/dev/random
Grub and Lilo need to supply an remove feature at the initial bootload prompt or os selection splash screen so to easily remove the bootloader from the mbr when it's no longer needed, because unless you have a windows rescue disk (which I don't have, I don't even have a working floppy drive), and type "fdisk /mbr", you're permantly stuck with Linux.
This happened when I removed Ubuntu from my daughters computer and tried to install a Windows clone called ReactOS. To rid Grub from the mbr, I've tried reinstalling Linux and moving the bootloader to the front of the partition, I've tried using Partition magic and deleting the partitions and formating the drive, I've tried using Redhat's fdisk and I've tried standing on my head spitting wooden nickles, and nothing worked at removing grub. Frustrating thing is other operating systems won't remove it when they're installed on the drive either. I'm about ready to bust out a big magnet and really erase the drive.
Linux needs to makes it as easy to remove these bootloaders as it is to install them.
SEO Copywriter. Just Say ON
Only Slashdot & linux users (myself included) could argue the merits of a boot loader :)
Now, having said, I'm sure someone will post a reply explaining in excruciating detail how my choice of boot loader could make or break my system. Hell, maybe you'll convince me. It'll be a hard sell though; I've used both in the last few years and, frankly, barely noticed a difference.
Wood Shavings!
- Godai
I can run linux on my lilo?
I was under the impression that the LILO boot loader was antiquated, and that GRUB had more features, doesn't need reconfiguring after recompiling the Kernel, and can boot a wider variety of OSes. Does anyone know if LILO still ships with the newer Linux distros? Ubuntu, Fedora Core, etc.
Shouldn't that be: dupe dupe dupe dupe of URL dupe dupe duple of URL
If big boobed women work at Hooters do one legged women work at IHOP?
So how does an article posted on the IBM website in August 2005 constitute "news" in January 2006?
Windows is shit.
Mod parent down for being off-topic and give poster Bad-Karma.
It's a carbon copy Reboot of this slashdot article.
Some drink at the fountain of knowledge. Others just gargle.
No 'showdown' is needed. Aren't there enough flamewars around the Web as it is? Technically, both bootloaders are good. Use the one that works best for you.
Politically, if you must use only GPL software, then go with GRUB. LILO has a _very_ open license, but it does not meet RMS's strict and unyeilding requirements.
That's it!
I'm going to download the slashcode and hack in an auto-dupe-check using diff... If you are too similar the article get's an automatic first post of "DUPE!"
Well since this is a rerun of another story a few months ago(not to mencon based on a long standing debate for years) does this mean there are no new episodes of my favorite slashdot till next season?
What I would like GRUB to have is support for special boot-up commands that load when you press certain keys. Really, I don't need to see all those different kernels, plus "safe mode" and "memory test" in my boot loader whenever I start my computer. I'd like to ban those options to specific buttons, like the F8 button for Windows.
GAG (graphical)
Gujin
Syslinux
Meh.
I keed, I keed!
With spending like this, exactly what are "conservatives" conserving?
My kitten Luna loads my boots with shredded paper and cat toys every night. She is the best boot loader ever!
WARNING: Smoking this sig may cause lowered IQ, insanity or short term memory loss. It is also really bad for your monit
My biggest problem, and why I stick with LILO as opposed to using GRUB, is because of the current state of the GRUB development. I'm not exactly sure what's going on with the GRUB project, I have seen their website, and read their information, but I don't understand where they are at in their development, especially with GRUB 2. GRUB has been labelled their legacy product, which does mean it has been released, and relatively stable. However, they have completely stopped work on their legacy GRUB product and began working on GRUB 2. GRUB 2 doesn't have a stable release yet (they have builds released via CVS or whatever build versioning system they use). What should we expect from GRUB 2, that GRUB or LILO doesn't offer? I don't like the setup and install process for GRUB, I find it more convoluted than the setup, install, and configuration (lilo.conf) of LILO.
YOU'RE WINNER !
Another lame blog
.. because, an OS has one of two choices. Either it uses it's own boot loader, or it requires a third party one.
I don't know anything about ReactOS, but Windows ships with it's own, and always has since 95. If you installed "real" Windows on this computer, it would overwrite the MBR and get rid of Grub. But if installing RactOS does *not* do this, then it likely does not ship with it's own boot loader, so you would *have* to use Grub or some other tool to load it.
Unless it uses the old DOS boot loader but does not ship with it, which would be very weird.
In any case, you can download DOS boot disk images from bootdisk.com and fdisk /mbr, no problem. (if you don't have a flyppy drive, just use the image to make a bootable CD.)
Then he, showed me how to put a face to my new blog, taking out his digital camera.
Wow.
syslinux is the bootloader for me, at least on all of my routers and firewalls. Sometimes, you need small, and that's not LILO or GRUB.
"Murphy was an optimist" - O'Toole's commentary on Murphy's Law
I use Yaboot you insensitive clod!
i'm the jedidiahmarkfoster your parents warned you about
While it is true that Windows 98/ME users do not use a boot loader, all Windows NT/2000/XP/2003 users also have one. Further, even when using Linux as part of a multiboot setup, the Windows boot loader is sometimes the best to go for. That is especially true when there are multiple Windows systems. In a machine with both 64-bit and regular Windows versions alongside various Linux distributions, the cleanest approach is the Windows boot loader in conjunction with bootpart.
I like the fact that I can change boot arguements in grub, unlike lilo where you have to change the config file, and reinstall it. Im an intermediate linux user and from time to time I will make a mistake. :( Which means grubs flexibility is better for me.
Im getting tired of the GRUB vs LILO debate. Grub is simply the best.
Or a windows CD? If you can't find a single soul who will loan you a windows CD...I mean, come on.
Linux needs to makes it as easy to remove these bootloaders as it is to install them.
So you want linux...to reinstall the Microsoft bootloader for you? Riiiiiight.
Any geek news site could argue the merits of a boot loader, but only on Slashdot could we go through the whole argument twice just to make sure the first time was not a coincidence.
'cuse me while I go cut/paste some of the insightful comments from the first time this story was posted...
My blog
and static, well, unless you use windows, or apple/mac that's all i have to say 'bout them for now ... a bit dissapointed that bootloaders are still part of the 'we need some work here' part in the oss application sea.
But i use grub, as it's prettyfiable though a slight bit of a mess to configure, liked lilo because it's simpler and just boots.
free dom(inion) - free energy - free your mind - whee!
This article explains how to write your own boot sector. The tutorial includes assembly language code to demonstrate loading and executing a binary image from a FAT filesystem. It's also an interesting read if you want to understand the fundamentals of the X86 boot process.
-Brandon "How much you wanna make a bet I can throw a football over them mountains?"
GRUB still lacks LILO's incredibly useful feature of changing the default image to boot for only the next boot process. This functionality is not wholly replaced by the 'fallback' directive either. I use GRUB now but when I used to often dual boot I would use LILO for the ability to be able to say from the command line "boot windows" and then have linux be the default boot image again after I shutdown windows.
when I try newer Linux distros every 6 months to see if they're good enough to fit my needs, I used to install using LILO so that I could add them to the XP Flex Boot manager.
:(
Last distros I tried all enforced GRUB.
We need simple, people.
This may sound rediculous -- but is there any way to gussy up my boat loader a bit? I'm running GRUB right now with a dualboot for XP on my VAIO laptop (I know...Sony...but give me a break -- it's old). When I first boot, it plays the VAIO sound and drops a quick animation with the graphic. If it can do something like that during BIOS, how come my boat loader has to look like garbage?
Any body know of any interesting hacks to make 'er a little more palatable?
Not really a showdown, more as just a description of the two most common bootloaders used by Linux.
"I reject your reality, and substitute my own!"
There's one key LILO feature missing from GRUB, as far as I know: lilo -R
This allows me to install a new kernel on a box I'm not in front of, and tell LILO to boot it by default for the next boot only. If the new kernel doesn't work, I only have to ask somebody near the machine to reboot it for me, and it'll come back up in my old, working kernel. With GRUB, I'd have to try to talk somebody through hooking up a monitor and picking the right kernel... when it's a headless colocated server located somewhere far away, that's not always an appealing idea.
\\'
I haven't read it yet, but I wonder if it mentions anything like the linux BIOS project one awhile back where it states that "The computer isn't yet ready for C code..." :)
If there were two pieces of software which I would say actively ward off more people from installing Linux, it is the boot loader and X video driver config. Both of them can be installed without issue using any standard installer with a user accepting defaults, and the system can fail to boot properly which are very, very poorly documented to debug and repair, especially in a dual-boot scenario. Recently I did a Suse 10 install, and it installed a video driver which even prevented Sax from working. Also, although I installed it on a secondary partition on my primary boot drive, for some reason it decided to install the boot loader on some other drive. Both were a pain to fix, but I wouldnt know how a first-time Linux user would even know where to start.
Now, you might well be having some problems; I won't dispute that. But it seems like it's more specific to your own configuration.
VMWare has an excellent support message board; I suggest you raise this issue over at vmware.com, and be sure to include the specifics of your configuration.
Or just install any of the more recent RedHat distros. I've done that from Fedora Core to RH 6, and haven't seen any problems.
The best way to predict the future is to create it. - Peter Drucker.
I like to feel that my computer's components are carrying out their intended functions. Thus, the hard drive stores data, the processor calculates, and the Master Boot Record is in charge of saying what to boot.
GRUB, on the other hand, wants data on my hard drive to be in charge of saying what to boot, and my MBR to point to a certain partition. This to me stinks of hack. I might accept such a thing booting Linux on say, an Xbox (note: xbox linux is actually way more hacky than this), but on a clean computer, there is no real need.
This is all probably just my Slackware approach showing through though, and I certainly do accept all of GRUB's many many advantages, and commend their efforts.
Error 27: Unrecognised command. That's what I get when I tried the uninstall command at the grub> prompt.
SEO Copywriter. Just Say ON
One of the things I love about linux is that you don't have to re-learn how to use everything with each version of the OS. So you know how to set all of the network setting under NT (that is to say you know where all the happy icons to do it are.) Well with 2000 and then again with XP you have to look like an idiot looking through all of the happy icons trying to find the right one to reset your network configuration (or whatever.) How often have you felt like saying "it was here under NT or 98 or 3.11 or whatever, so why isn't it here now?" Well it is not there anymore under XP! And you are going to have re-learn everything (and maybe re-train your staff) because someone says that this new way is better. If this new way is so much better why didn't they have it set up this way from the very beginning?
I have used lilo from the beginning of my linux adventure. I know how to configure it and I know how it works. It does everything I need it to do (which is mostly just to load linux and maybe keep track of several kernels/ distros that I am playing with.)
So why should I even spend 2 seconds trying to figure out how to use grub? Gentoo tells you to use grub by default. I say no I will always install and use lilo until grub does something that I want/need that lilo doesn't do. True if I were just starting out I would learn grub -- but that ship has sailed. Once I know how to do something I don't want to relearn it just because someone says I should.
Is it just me or is the tech community running out of things to compare? I mean, when we get to a showdown between BOOT LOADERS, we've sunk pretty low. LILO works for you? Use it. It doesn't? Use GRUB. Who really cares? Is anyone out there really getting excited about boot loaders that basically haven't changed in years?
Tune in next for the ULTIMATE showdown: my jock itch verses my ingrown toenail! It's a matchup you DON'T want to miss!!!
I don't like these IBM's online documents. They are just rewrite of already known techniques, technologies..etc. I'm sure IBM's documenting these to use them in the court in case of a lawsuit..Maybe not. I don't work for IBM. And corporations suck because they don't benefit humankinds.
Judge for yourself which is cleaner.
Personaly I think the article is one of the worst articles I've seen from IBM. Omitting features from LILO, and failing to elaborate how complicated GRUB's command line interface can actually be.
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=100 compact default=Linux image=/boot/vmlinuz-2.4.18-14 label=Linux root=/dev/hdb3 read-only password=linux other=/dev/hda label=WindowsXP default=0 timeout=10 splashimage=(hd1,2)/grub/splash.xpm.gz password --md5 $1$opeVt0$Y.br.18LyAasRsGdSKLYlp1 title Red Hat Linux password --md5 $1$0peVt0$Y.br.18LyAasRsGdSKLYlp1 root (hd1,2) kernelIf someone is passing you on the right, you are an asshole for driving in the wrong lane.
...any of these bootloaders? True, they're not so modern, but there's a good chance the Windows virus checkers will have been updated between then and now. Well, one would hope, anyway!
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Interesting, the original article by Francesca didn't make it to the front page, but a dupe from the prestigious "anonymous reader" did. This wouldn't have anything to do with the obviously female name, would it? Naah, sure girls can write interesting stuff, but dupes by anonymous submitters are just soooo much more convincing.
There are situations where neither LILO nor GRUB seem to do the job. Here Syslinux can come in very handy. The cool feature of syslinux is that it allows you the ability to run your own custom code to decide which OS should be loaded. Here is an example taken from the syslinux mailing list:
You maintain a bunch of multiboot machines, which should only boot into Windows during some part of the day, only into linux during some part of the day and give you a choice during the rest of the day.
Issue 1: The OSes themselves are on the local machines, but definition of "part of the day" should be centrally administered
Issue 2: People can bring in their laptop's and plug in to the network. But a malicious user should not be able to defeat this network administered definition of "part of day".
I'm really not trying to be a troll here, but a boot loader is such a small part of the OS. Nothing is saying you can't use LILO, GRUB, or any of the other smaller boot loaders out there (or bigger ones from former companies such as PowerQuest that also supported Linux). Each has their plusses and their minuses and they're all nicely documented in countless comparisons. Each distro has its own preference, but often gives you the option.
So the answer is to use what you're comfortable with. It's not like we're comparing Zeus/Apache, Linux/Windows, Vim/Joe- this is a boot loader. It runs for fractions of a second and then you never see it again. If it does its job, you should never even know that its there.
-M
when you see the word 'Linux', drink!
Suffice to say it worked like a beaut. ReactOS is now installed on my system!
Thank you!
SEO Copywriter. Just Say ON
Why isn't the PC bios responsible for loading O/Ses? because the PC bios is a relic, a leftover from the days of 8086. Why aren't bioses 32-bit? why PCs still have to boot in real mode?
Bootloaders are very clever pieces of coding, but their presence makes it difficult for PC bioses to be replaced.
Written in ML (none of that sissy C++), supports just about any OS you can think of... The author wrote it because he needed a bootloader that would fit in the boot sector of a floppy, so it had to be tiny.
http://www.docsware.com/docsboot/info.html
/. at its finest!
With this approach, there's no need to put drivers needed at boot time in the kernel. (Drivers are user programs under QNX.) The kernel doesn't need to know about disks. If you want a GUI during boot, you can have it. For embedded systems, the entire "OS file system" can be put in ROM, eliminating any need for a disk. For desktop x86 systems, there's a standard bootable "OS file system" which has all the usual disk and display drivers, the bus enumerators and plug-and-play handler, and the rest of the stuff needed to start an x86 PC. But all that startup stuff isn't in the kernel.
This is especially useful when your target is something that doesn't have a keyboard and screen. That's why QNX does this. Doing it this way cleans much startup-only junk out of the kernel.
The Minix 3 people, unfortunately, didn't get this, so their "microkernel" has more stuff in it than it really needs.
This method avoids touching special sectors on any partition, and it doesn't mess with the existing windows boot at all. Drop two files into c:\, edit one of them, add a line to boot.ini, and that's it.
I prefer SILO.
eventually. Despite your best efforts, Microsoft's OS will eventually "reach out and touch" anything other than it's own boot loader. They seem to use a probabilistic algorithm for this: it won't do it the first two reboots, but after that it _will_ get you!
I use XOSL on all my machines, it has the best GUI of all the bootloaders I've seen (GAG is a joke in comparison), and most of the features I need.
:-/
Unfortunately, its author tried to start the development of a new version on SourceForge, apparently failed, and disappeared without releasing the source code. That was five years ago, nothing has moved since then. Thankfully, the PC architecture has not evolved much, so XOSL still works well. I could use a good support for USB drives, though.
"Why isn't the PC bios responsible for loading O/Ses?"
1. a BIOS cannot know all possible file systems (FAT-16? FAT-32? NTFS v 1,2,3..? Ext 2? 3? RiserFS 1,2,3,4... xfs?
what if it is on a RAID (ie, multiple devices)?
2. a BIOS cannot know how to handle parameters to all
possible OS versions
"Why aren't bioses 32-bit?"
Some are. It depends entirely on the type of CPU and the memory handling capabilities of that CPU.
"Why PCs still have to boot in real mode?"
1. Because that is the only way to have access to the complete hardware.
2. You have to have physical addresses to know how to map the virtual addresses to physical addresses. And SOMETHING has to setup that virtual to physical mapping.
"Bootloaders are very clever pieces of coding, but their presence makes it difficult for PC bioses to be replaced."
Nonsence. The bootloader is nessesary only because the BIOS doesn't know how to load an OS. If the BIOS could load a single OS, then there would only be one OS, and only one filesystem, which could never be updated.
The PC BIOS is responsible to initialize the entire hardware to a known state (as in, memory works, the PCI bus is functional, the hardware plugged into the PCI is also in a known state). This alone is sufficiently complicated. Then it boots a loader...
Now why can't the BIOS read that loader from ANY device attached?
1. It can only load from devices it is programmed to load from. Such as a single IDE disk, or CDROM. Some can actually configure the USB and load from that. This is three different types of device. Four if you still include the floppy disk.
2. It must know how to tell each device how (and where) to transfer the data into memory. Each device is different, and has a different handling.
Some fancy controllers will include an extension to the BIOS that allows the BIOS to use these controllers for disk access. This has added one or two MORE configuration items to the "BIOS". (Think SCSI). Now what if there are TWO SCSI controllers... which disk? there could be up to 30 different drives across those two controllers. What about tape boots (as in catastrophic recovery)? SCSI CD boots?
And the OS still isn't loaded. Only the information on where to load 512 bytes from.
Either an initrd image, or a romfs image.
user 2 replies X is totally lame because it doesnt do D and E, but Y does it awez0mex0rz
user 1 replies that Y is fine but if you want to do A youre up shit creak.
user 3 then makes the brilliant observation identical to the end of every other goddamn technical showdown that.. say it with me.. IT DEPENDS!!! OMFG +5 INSIGHTFUL! huzzah. Now move along, youre coffee is getting cold.
---------
No matter how thin you slice it, its still baloney.
Who still uses lilo anymore? I have not seen it used anywhere in a few years.. yes I know it's a option on Gentoo but really who uses it?
or idiot? Isn't the MBR just an abstraction on your hard drive? A contract between the BIOS and the OS? Which happens to be stored as *data* on that same hard drive?
Just asking.
from the i-luv-dupe dept.
I spent 2 days pertty much solidly, trying to get Grub installed on a DL360 (or was it a 380?) with a ReiserFS root, and an EXT2 boot. After much gnashing of teeth, and hair pulling, I gave up. I'm sure it can be done. I am. It can be done. I believe you. But what a lot of hassle, loading reiser 1.5 stages, and stuff. Sod that. Lilo, point at kernel, lilo -v after a kernel upgrade, and init 6.
It's as retarded as the Debian boot disks not supporting the DL360 raid controllers. That was the last time I bothered trying Debian.
Get your own free personal location tracker
Grub's biggest shortcoming right now is a lack of support for gpt partitions. To be able to use a raid larger than 2TB without carving it, you need to use a gpt partition table instead of a traditional dos style. lilo doesn't care about partition tables - it maps a specific location for the kernel, that's why it needs to be run every time. This hard mapping works with gpt, so for the large raids I've worked on, I've been forced to use lilo instead of the generally far superior grub.
My love for grub is for the same reasons everyone else has given - primarily it's ability to be fixed where a similar problem in lilo requires a boot cd - this is INVALUABLE doing tech support with inexperienced customers that have screwed up their systems and can't find their boot cds.
Ok, so it's a piece of crap that only loads a tiny little snippet of code, which just prints a line of text and returns to the loader... but it's a boot loader, damn it. It's only meant to demonstrate how it's done, really. If anyone was wondering, it's written for Netwide Assembler, which handles some things differently from MASM. I would have posted it in my message, but apparently the lameness filter is itself too lame to tell the difference between code and spam.
This is weird. There must be something funny about your virus protection then.
I use McAfee VirusScan Enterprise and my dual boot PC has no issues. It boots Windows 2000 and linux from Grub with no issues, in fact there is also a DOS boot option - it all works beautifully.
dd if=/root/kernel of=/dev/hda && reboot
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
Milo is the Alpha version of LILO it uses a small dos partition to boot off of.
Kosh: "Understanding is a 3 edged sword, your side, their side, the Truth."
I've had a problem with debian or debian-based ditros on older machine. The problem has to do with the bios report drive size incorrectly larger hard drives. I have to set the drive to _not use_ LBA, install the OS, and then AFTER grub has been installed, I change the bios back to LBA. This includes debian, mepis, Linspire, etc. I assume it has something to do with how debian-based distros install grub and the fact that the bios may not be reporting the disk size correctly (when I switch to Large in the bios instead of LBA, the disk size is reported correctly by the bios). I've has no problem with non-debian based distros, and with any distro that uses Lilo. I've had no trouble with the BSD's. Just FYI.
Some settling may occur during posting.
How does OpenFirmware, which can do all of thing things you suggest it can't, fit in your world-view?
A bios these days could easily include a programmable shell, some autodetection code for hardware available at manufacturing time, space for a few kernels and device drivers, and cost no more than existing flash bioses.
To be honest I found you diatribe amusing considering that everything you claim impossible was available on higher end systems 20 years ago.
Partition drive. Install WinXP to C:. Use boot disk to install Linux on another partition/drive, and let it install GRUB.
No problems in 5+ years with McAfee, Norton, F-Secure, or any other virus protections I've used.
The one catch is you need to disable BIOS MBR protection during your installs and updates, but as I've never heard of anyone stopping a virus via BIOS "anti-virus" support, I just leave the "protection" disabled.
I do not fail; I succeed at finding out what does not work.
Speculation surrounds Apple's rumoured x86 release (some rumours claim this month) whether they will adopt Intel's EFI, an OpenFirmware substitute.
Intel has been working on EFI for 7 years. Traditional PCs typically ship with BIOSes because of legacy operating system and hardware support. Apple would have no such problems due to building a new platform. Plus, particularly in the notebook space, designs will be heavily influenced by Intel.
My point in mentioning Apple? That other manufacturers may follow suit once any quirks are worked out and Vista ships.
There's already a linux bootloader, elilo for EFI, developed originally for Itanium.
EFI is somewhat problematic; I looked at EFI because of the IA64 work in FreeBSD; there are now two versions of it (three, if you count IA64), and it is effectively running the driver in a virtual machine environment (DXE - the Driver eXecution Environment). Think what it would mean to your poor Linux box to have all your drivers running in something like Perl or Java.
Another problem is that you effectively need a physical partition per boot path you want to be able to support (there are hacks around that, but that's what they are: hacks - the specification is very clear on this point). By default, the reference implementation only supports VFAT32, although there's work on a couple other FS's "in progress".
The EFI drivers are useful to get bootstrapped, but not for running the machine; for that, you replace them with real drivers. The one advantage EFI has is that the DXE makes the drivers relatively architecture independent, at least until you get to the point you are trying to replace them with real drivers.
It remains to be seen if machine manufacturers will keep EFI running after the system is started (the EFI people want them to, if you read the web site), or whether it politely goes away so you can have your memory back and execute things in bounded time without the DXE eating cycles out from under you (like the BIOS in a Windows box or Open Firmware in a Macintosh).
FWIW, I've dealt with hacking boot loaders for various machines since 1979, and the thing I always want most from them is for them to go away when they're done with their job.
--AC
Don't forget EFI, either.
#6495ED - cornflower blue
From the article:
Not quite true, because the program in the MBR is not necessarily a part of any specific operating system.
Remember those four primary partitions? EACH one of those can contain a different operating system, and the MBR will boot whichever one of those four is marked as active.
DOS FDISK can be used to mark a partition active, allowing you to boot a different operating system on the next boot. From that other operating system you would need to be able to do a similar manipulation to boot into DOS again.
Of course, this is a PITA compared to making a selection at boot time...
"The empty vessel makes the greatest sound." -- William Shakespeare; Henry V, 4. 4
Long live LILO. all other suck!
Power to the Penguin!
I ran out of mod-points a couple of days ago. :(
Instead of boot loaders or operating system utils, the BIOS should be able to partition the hard drive into as many partitions as needed. OS installers and boot loaders should play nice and use only those partitions that have been assigned to them by the BIOS.
Once BIOS controls hard disk partitions, one can install a large number of OSes (say 20) on a single machine.
BING is tricky: it stores multiple customized MBRs, and then loads whichever one is appropriate for the boot configuration which you choose. It also has an option to support MORE than four primary partitions; when that's enabled, not only does that let you have as many environments as you please, usually with no worries about OS conflicts with partition sizes and locations, you can quite literally dictate exactly which volumes are visible to which environments. It doesn't just merely mark those volumes as hidden, it removes them from the MBR/partition table which that OS uses to boot.
The only downside, and I'd think it's a small one for most people, is that (using the extra primaries option) you can no longer use other partition management software, because it no longer knows the physical layout of the volumes and would corrupt the ones it can't "see". BING has decent built-in partition management, however, even supports imaging to USB opticals. It might also be a bit less technical and dumbed-down for yer ma and pa, but it's fine for geeks.
Made by Terabyte Unlimited: http://terabyteunlimited.com/
Mark
Why do we have lilo and grub pointing to the kernel image? The bootloader is doing more than it should. It's better to simply handoff control to a partition on the disk and let the operating system load itself. For example, I use the NetBSD bootloader, which simply prints two lines of text: Plan 9 and NetBSD. I simply hit 1 for Plan 9 and 2 for NetBSD, and it hands control off to the OS. GRUB and LILO make things overly-complex.
http://www.pixelbeat.org/docs/disk/
I'm surprised Slackware still has 'G'ames.
Ops, I shuld have usd the prevuwe but in.
a BIOS cannot know all possible file systems
A bios shouldn't have to know all the possible filesystems. All the bios needs to know is the sector adress of the kernel image on the disk.
a BIOS cannot know how to handle parameters to all possible OS versions
It shouldn't have to. All that is needed is for the bios to place parameters in a standard place in memory, so as that when the kernel loads, the kernel knows where to find the parameters.
Some are. It depends entirely on the type of CPU and the memory handling capabilities of that CPU.
Some are...1 in a 100,000 perhaps? personally I have never seen a 32-bit bios. That can not be considered 'some are'.
Because that is the only way to have access to the complete hardware.
No, it is not. PCI device autodetection works in protected mode too. PCs should boot in 32-bit flat ring 0 mode.
You have to have physical addresses to know how to map the virtual addresses to physical addresses. And SOMETHING has to setup that virtual to physical mapping.
You are wrong again. Being in 32-bit mode does not mean that you have to have a virtual address space.
The PC BIOS is responsible to initialize the entire hardware to a known state (as in, memory works, the PCI bus is functional, the hardware plugged into the PCI is also in a known state). This alone is sufficiently complicated. Then it boots a loader...
I do not understand why people put up with it though. There is a better way: the bios boots in 32 bits, sets up the hardware, then reads the O/S list from the hard disk (the first few sectors, a pre-arranged setup that can hold more than 4 entries, let's say 16 entries), then loads the default one or presents a menu to the user for which O/S to load. Then the bios loads the disk image from the kernel in a specific memory position, then jumps to the kernel. It's dead easy, and writing O/Ses becomes much easier, without having to write a complicated program called 'a boot loader' which goes through 1st stage, then 2nd stage, then jumps between real and protected mode until the whole O/S is loaded.
Now why can't the BIOS read that loader from ANY device attached? 1. It can only load from devices it is programmed to load from. Such as a single IDE disk, or CDROM. Some can actually configure the USB and load from that. This is three different types of device. Four if you still include the floppy disk.
I fail to see how your quote is of any relevance to the topic under discussion.
It must know how to tell each device how (and where) to transfer the data into memory. Each device is different, and has a different handling.
Yeah, so? that's what protocols are for.
Some fancy controllers will include an extension to the BIOS that allows the BIOS to use these controllers for disk access. This has added one or two MORE configuration items to the "BIOS". (Think SCSI). Now what if there are TWO SCSI controllers... which disk? there could be up to 30 different drives across those two controllers. What about tape boots (as in catastrophic recovery)? SCSI CD boots? And the OS still isn't loaded. Only the information on where to load 512 bytes from.
Again, irrelevant.
Hahaha, that's painfully true.