eXTReMe Tracker WARNING: The opinions expressed and linked to in this blog are not necessarily mine (anymore).

My ideas are constantly changing as I learn. Sometimes they even change midway through writing a post.

Thursday, September 15

Grub - Computer Reference

This is more for my reference than anything. Some years ago I tried to install Linux (Slackware). I used an old computer that wasn't needed for any particular use. The installation went well except I couldn't get it to boot properly. Someone suggested I use GRUB. I couldn't get it to work either and having a dozen other projects I wanted to work on, abandoned the install.

I'd forgotten about it mostly until a friend was trying to get it to work. Someone asked what "Grub" was, and I couldn't remember. "Loader" came to mind as did "dual boot" (but I couldn't think of what word to use for something that load more than 2 Operating Systems). I felt a bit silly because I wasn't entirely sure what a "loader" even did other than choose an operating system. I didn't even know if you needed a "loader" if it was only one OS. Hence, this random bit of information - my attempt at correcting that ignorance:

GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn.

Briefly, boot loader is the first software program that runs when a computer starts.
It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or the Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).


Now I know.

1 comment:

gon4good said...

Boot is actually shorthand for "bootstrap" which is the original term. Obviously, a computer is just a hunk of iron until a program starts. Early computers, in the days before microcode and eprom, etc., had a "load" button, like the button on your PC or Mac that restarts it. The hardware action taken when the Load button was pressed was to transfer X bytes of data from a specific location on a specific disk volume into memory at location zero and then fetch the instruction at location zero and execute it. This instruction caused more data to be read into memory and the process continued until the system had pulled itself up by the bootstraps. A dual loader is simply adding a prefix to this process which lets you decide where to go to start the real bootstrapping.

:-)