I must admit that I too have, on occasion, simply switched back to LILO when I couldn't figure out what grub was doing wrong.
it starts with grub having its verry own syntax for the devices (which is borrowed from the HURD I think, which was its origin afaik) and ends up with the complicated manual doing it all verry theoreticaly and not on linux / *bsd relevant samples.
That's all true. But grub is really powerful and also more flexible than lilo.
So grub: +1 ;-)
1. It would refer to Linux as an operating system
2. It would have documentation
Grub is another perfect example of why linux sucks just as much as everything else LILO was fine, could have been fixed to do whatever was missing, but no. Somebody had to write something new from scratch that was better.
And of course all the distros picked it up because it was newer and better.
Yay. Progress. How I love thee.
They should have called Grub SVN. In fact, they should name any project that pointlessly replaces an existing working project svn just to make the point.
Or maybe they should call it Progress. And just use 7 level deep version numbers to distinguish between them.
Anyway it seems that while everybody implies that root (hd0,0) refers to the boot partition, it does not.
It refers to the partition with the boot directory on it.
Since everybody on the planet but me has a separate boot partition, they all speak of it like that's how it works, but in fact, it just needs to know what the partition to go after is, and you can then refer to everthing else by path.
This install is decades old, who knowshow it got this way. But I think I get everything I need to know to make the raid work.
Just need a few solid contiguous hours to try it out.
Do I care? It's a fucking linux machine, run the LInux LOader for shits sake.
The problem isn't that lilo didn't need to be replaced; it's that grub was a shitty replacement. I would have rather seen syslinux optimized for general-purpose hard disk use.
You're gonna love this: http://www.gnu.org/software/grub/grub-2.en.html
"GRUB 2 has been rewritten from scratch to clean up everything..."
It's a fucking kernel loading. It's got to find a file and load it in and run it. That's it. Why do they have to make everything so damn complicated.
What the world needs is more vista.
Vista is the first popular example that I know of where the general population finally said "no I'm not just going to blindly take your shit anymore."
maybe once grub gets rewritten it takes a sys-layout more close to what the booted OS has.
some "remap that path to its boot lilo position tool" would also be appropriate.
but then menu.lst would end up being the same since you'd have to run something like 'lilo' to get it created.
anyways... why figure out how the harddisk is caled in some other weird syntax if the OS can do too?
I'm reading this tutorial
and they explain step by step how to make a raid array out of a running system
but if I'm reading it right, they say copy partition table from good drive to new drive, make array out of new drive, copy all files to new drive then on page 2 they say reboot (after setting up fstab and grub and all that)
so it boots from te array, then you add the original good drive to the array.
the way I read /proc/mstats, it's going to recover the good drive replacing it with the contents of the new drive, and while copying files is nice, I don't like it.
How do I know beforehand when I add the original good drive to the array with madm that it's going to sync in the direction I want it to?
I really think it thinks that my good drive is the degraded one Blah.
But from what I see it looks like to do that you have to make your array with your good drive and add the empty drive to the array.
But thats backwards from what I've heard other people say...
and now I think I see why.
you have to make the raid array with the new disk, copy all your files ocer over there then add your old disk as a new part of the array and linux will sync the new disk over the old.
I don't want to od that for I fear the copy probably didn't work perfectly.
But I imagine there's someting about the raid array disk that's different than a normal ext3 disk that you can't just add it to the array.
So okay, into the fold I go.
After going through the list of things a million times I finally understand what's going on.
You make the raid device, copy your / drive to it, set up the grub menu.lst, fstab, mtab initrd and grub MBR to all point to the raid device (which I have defined and is working) and then you reboot.
Once you've booted, you now live in the raid device (/dev/md0)
Then you merely hook your original drive up to the raid array, it syncs and voila you're done.
If they just explained that that what was going on, I could have gotten this frustrated much earlier.
so I set up my menu.lst to primarily load the kernel and initrd from the raid device, and failover to my original (still intact) old disk.
And it always fails over.
I boot the machine, run my new grub entry and it says "error 15 file not found."
Lots of stuff on the web about it, none seem to help.
The only thing that's weird is when I go to setup the MBR with grub, you say "root (hd0,0)" which I finally understand what it means, and it's supposed to say Filesystem type is ext2fs, partition type 0xfd or something like that.
Mine says nothing.
But when I run setup (hd0) it says it's doing the right thing to the right drive.
So I assume it's working.
but it can't load initrd/the kernel from the md0 device.
The only other thing I'm thinking, is how on earth does grub know what a raid device is.
The kernel hasn't loaded, the software raid modules haven't loaded, how can stupid little grub have any idea at all where to load initrd from?
So I'm thinking, okay there's a cheap ass mapping somewhere from /dev/md0 to /dev/sdc1 but I don't see where that could be happening.
And for kicks, ( I did this SO many times in various combinations) I tried setting the grub menu.lst to try and load the initrd and kernel from root=/dev/sdc1 (my new drive) and it still says file not found.
So either the grub mbr setup isn't working, or I'm missing something really simple.
The problem is that grub doesn't recognize the raid 1 partitioned drive
It's supposed to, but it doesn't, so it can't mount it, so it can't find /boot/initrd... so it gives me error 15.
I learned a new neat trick about grub.
It has autocomplete, I knew that, when you do root (<tab><tab> it tells you all of the available drives
But if you do root <tab><tab> then it tries to mount the current filesystem and give you a file list.
And when I do THAT, I get error 17, can't mount the filesystem.
so why does everybody say grub can mount a raid 1 type filesystem when it can't.
It's also worth noting, that mount can't mount it either.
mount /dev/sdc1 /mnt/sdc1/
mount: unknown filesystem type 'linux_raid_member'
So what the fuck.