HOWTO boot FreeBSD, Linux, and Windows XP with GAG, GRUB, LILO, and BootEasy

Abstract

This posting endeavours to allow users to successfully boot the following Operating systems: Windows XP, most GNU/Linux distro, and FreeBSD/PC-BSD; using the following boot loaders: GAG, GRUB, LILO, PC-BSD (aka BootEasy). The target audience are PC-BSD users coming from Linux.

There will be several references provided at the end of the posting.

Using the Graphical Boot Manager, GAG

Simply boot off the install media and follow the on screen instructions.

Note well that must install a boot loader such as LILO or GRUB in a Linux / partition in order to boot Linux from GAG, like most other abstract boot loaders.

Using GNU GRUB

In order to boot PC-BSD from GRUB, you must tell GRUB which drive, slice, and
partition to load from; usign GRUBs own notation
syntax
.

The systems kernel is stored on disk as /boot/kernel/kernel and it’s Loadable Kernel Module (LKM) drivers are stored in the same directory; with a .ko suffix. Although it is possible to load the kernel directly, it is better to load stage three instead, which gives you an easier interface to loading the desired kernel.

You will have to edit the GRUBs configuration file. The name and location of GRUBs configuration varies based on your Operating System. Under Debian (and thus Ubuntu), OpenSUSE, and FreeBSD based systems, you will find it as /boot/grub/menu.lst. On Fedora/Red Hat Linux and Gentoo based systems you will find it in /boot/grub/grub.conf. Many distros may provide a symbolic link to /etc/grub.conf, please refer to your operating systems documentation if you can not find the file.

Open it as root and edit it accordingly with the settings for your system. This example is is meant for triple booting Windows XP, GNU/Linux, and PC-BSD, where they are installed in that order, into primary partitions.

title WindowsXP
root (hd0,0)
makeactive
chainloader --force +1
boot

title Foo Linux
root (hd0,1)
kernel /boot/vmlinuz

title PC-BSD
root (hd0,2,a)
kernel /boot/loader

By default, if the slice number is omitted, GRUB searches the first slice which has a partition. I have however specified the slice number in this example.

If your distro has already configured Windows and Linux in menu.lst/grub.conf,
you should probably leave it as is; appending the PC-BSD entry to the
configuration. The location and file name of the linux kernel can vary a bit,
/boot/vmlinuz, /vmlinuz, and /boot/vmlinuz-x.y.z should be common, but my grasp
of Linux kernels dates to Linux 2.2, not modern 2.6 — as always check your
operating systems documentation when necessary! initrd users please see the grub
manuls notes on
linux
.

Using LILO

For those whom still prefer the LInux LOader, you can still use it for booting PC-BSD: edit /etc/lilo.conf accordingly:

# cp /etc/lilo.conf /root/lilo.conf.old
# vi /etc/lilo.conf
# /sbin/lilo

I will leave the top matter in lilo.conf as an exercise to the reader (if you use LILO, you should know this); so working off the GRUB example, the /etc/lilo.conf file should look like:

other=/dev/hda1
label=WinXP
table=/dev/hda

image=/boot/vmlinuz
label=FooLinux
root=/dev/hda2
table=/dev/hda

other=/dev/hda2
label=PCBSD
root=/dev/hda3
table=/dev/hda

NB that initrd users will want to add a initrd=/path/to/your/initrd/img rule to
the FooLinux image specs.

Users with multiple hard drives, please refer to the FreeBSD
FAQ
for details.

Using the PC-BSD Boot Loader

The header is actually miss leading, as this is really just the boot loader used by FreeBSD, a.k.a. Boot Easy or /boot/boot0. Hence forth called BootEasy.

To boot your operating systems with BootEasy, once is installed – just reboot the PC. Following the previous examples, you would see a prompt like this:

F1: DOS
F2: Linux
F3: FreeBSD

Press F1 on the keyboard to load Windows XP, F2 to chainload FooLinux, or F3 to load PC-BSD.

Note well that you must have a suitable boot loader installed into the linux / partition in order to boot linux from BootEasy.

The FreeBSD FAQ specifically recommends to install
LILO into the Linux /
, although GRUB should work fine when installed into Linuxes /

References

Post script:

If you have a problem with my spelling, grammar, or punctuation: you can pay my family to go on a shopping spree and leave me free to type slower then I can physically move my fingers across the keys.

Disclaimer

The information provided here is done for your convenience at the authors expanse, it however is without any form of warranty or guarantee of fittness — use at yur own risk, I’m not responsible.

Well, never made it to the PS2, but made it t dinner and a good nap xD

Tomorrow I need to clean the newts tank, work n deploying the next site mock up for Rouge, and finish more of todays work. It shouldn’t take to long to have this site mock up ready, so I’ll probably be working on my own stuff son, which reminds me; I wanted to make a quick back-scratcher for taking notes.

The personal project I’m working on, calls for a domain specific language; so I need to start writing the specification for it. Luckily the output is in a language I know well. All in all, it should be about as complex, as implementing a bc that compiles to dc, which is a lot simpler then implementing bc in C, lol.

Hmm, in a quick look to see what the current version of Pidgin was; I found this psting in the news page: Why I Hate “Modern” IM

This reminds me of why I stopped using the official AIM client from AOL, they turned it into a massive pile of horse-shit lol. MSN Messenger which was my first IM-technology, I gave up on Microsofts clients around 7.something. XFire is a balance between “acceptable” and “Good”, but still lacks a lot of the more, ehh… “I use this thing all day” kind of bonuses.

In my experience, all instant messengering clients are piles of garbage, taped together with a pretty face. Pidgin is just a bit more bearable then most; I use pidgin daily on Windows XP and FreeBSD, ranging from AIM to XMPP support. It sucks plenty, but it sucks less then Kopete, and it’s more portable then any other such app I’ve met :. And it’s still better then any IM client I’ve used. The only decent clients I’ve used, the very minimalist GoogleTalk client, the version of AIM that was out when I was a Potentional Recruit for [SAS], Pidgin, and Kopete, but all leave much to be desired… But they still beat the ever loving, flying, freaking heck, out of the last version of AIM I downloaded from AOL looool.

Now if only there was that perfect IM client….

If such a thing were even possible

Hole in Adobe software allows free movie downloads

This reminds me, the Flash v7 plugin for Linux, stores it’s files in a common format until the plugin exits; that can be easily played in with mplayer /tmp/plugintmp-

That reminds me, I’ve still need to write a cronjob to nuke the temp files, since one of the music streams I use, is flash based, and /tmp is nly ~512mb lol.

Taking the day off…. Camped out in front of the with my laptop atm, watching the end of the The Illusionist.

I’ve downloaded all 3 ISO Images for PC-BSD 7Release. I intend to test it in VirtualBox and natively on my test machine. But, because my test machine is also my games box… I’m backing the sucker up first ;-). I’ve booted the test machine into it’s maintenance partition (FreeBSD 7, my failsafe if WinXP goes belly up hehe). ssh’d in and am backing up each drive letter to Vectra (the file server). I’ll setup VirtualBox later and see how it works out, I don’t really care much for such things though, but VB may be handier then QEMU. After that, I’ll try installing it native, and see if the release likes my DVD Burner better then the Alpha/Beta versions did, lol.

I figure, for good measure I can take care of updating my laptop while I’m at it, probably lay down for a bit…. Assuming there is anything on this afternoon lol. It would be nice to gt *some* rest, but knwoing my family, it’s far from likely :

Windows XP — hates to run your programs

This one was just pricless, when I got back to my PC, I had to unlock it via pw.

When I went to click on my user icon, it gave a balloon message, essentially saying:


Terry has 3 programs running

Running to many programs reduces your computers performance. If you computer is running slowly, try closing a few programs

Now that, is just fucking funny lool.

In my increasingly, ehh… ‘insane’ ? form of web surfing. I found this essay by Eric S. Raymond.

For one reason or another, I’ve been using TWO web browsers at one time lately. Flock for websites poorly styled, Google Chrome for as much else as possible ^_^. Multiple windows, several tabs on each, in both browsers hahaha !!! This has yet to slow down the rate at which I surf the web, instead I think I’m getting faster :

I found the article rather interesting. For me, I generally prefer editing configuration files. Because if they are actually well documented, I can usually find my way along faster. Most programs that I have used, usually do a poor job of documenting what various options do… The idea of using a GUI Wizard for setting up and configuring stuff is old as dirt, but so often done half-assed. I’ve seen many programs present Wizards, some do it very well, some do it to a point–that I’d rather do it the ‘hard way’, because it is easier!

The style of user interface I enjoy, is basically that offered by programs in /usr/bin. It’s often simple to use (if you actually document it) and it’s fairly easy to code. When I try to do a GUI, I usually try to create something that is simple to figure out, but still something that I *will* use. I typically will use what ever input method is closet at hand, if my hands are on the keyboard, I use it—one reason that I love vi! While if my hands on the mouse, I’ll probably click my way about: unless it takes more then a moment.

GUI’s all to often make simple tasks easy and complex tasks impossible.

A command line interface, you generally need to know how to use. It pays to at least ask for -h,–help, /? help, depending on what system your using. Most programs are fairly obvious in their behavior without arguments. And good programs that I’ve seen, try to make them intruitive to figure out. A GUI program by comparison, if you need to go much further then a tooltip for something that is almost obvious, but explicit. Then I think there is a problem. I generally pick up and use graphical programs without needing to read documentation, because using a spreadsheet is easy but the meanings of whats fed into them are not always so simple.

If I had to go through the same thing to setup a printer, I would probably say fuck it, and go do it in a way that actually deserves my attention, LPD lol. Although, I do admit: Windows does do printing well in my opinion, as long as you do not have to deal with print “jobs”, then it sucks.

If the designers were half-smart about UI issues (like, say, Windows programmers) they’d probe the local network neighborhood and omit the impossible entries[1]. If they were really smart (like, say, Mac programmers) they’d leave the impossible choices in but gray them out[2], signifying that if your system were configured a bit differently you really could print on a Windows machine, assuming you were unfortunate enough to own one.

The difference between doing the job, doing the job well enough[1], and going that extra mile to make it better![2]. Designing a good UI is much harder then a lot of other things, but when it does happen in a good way—it’s worth it.

I remember not to long ago, I replace my *nix based PDF/PS reader. I dropped KPDF along with most other KDE apps in my change over to blackbox. Gnomes Evince was one that had been on my list for awhile and the new Okular from KDE4 was not ready yet, so I tried Evince. The program turned out to be incredibly simple, so simple that there are no (real) settings to change. The only real configuration option is how you want to layout / size a page, namely fit to page, blah blah.

At first I found this quite disconcerting, but Evince has since become my idea of the worlds best PDF/PS reader. Evince is light, it’s fast (unlike Adobe or KDE’s offers), all of the important stuff is in quick reach, and all of the unimportant stuff is no where to be found. Like at long last, a PDF reader that just cuts the bullcrap and lets me read files gracefully…. without arguing with the PDF reader !

My laugh of the day, 2008-09-08

β€œTo bring a MicroVAX to its knees, try twenty users running vi β€” or four running EMACS.”

I just couldn’t help but smile, nod, and laugh lol. Vi is a fairly light weight program in todays world, and was designed in a time when just moving your text editors cursor was probably slow as watching paint drying. Emacs on the other hand, tends to be rather hefty in most good implementations, I think it was once a cottage indrusty to make light-weight emacsen.

And to this day in the form of GNU and X Emacs is, one small operating system, but a huge text editor compared to the nimble Vi. I don’t go much in for the Vi Vs. Emacs stuff and vice versa, because I use the Vim which is the only thing better then Vi πŸ˜‰

Font sizes

Now this is pissing me off…. Almost every website I use, seems to set the font size in Pixels.

sasclan.org — 10px (for crying out loud)
pcbsd.org — 12px
daemonforums.org — 13px
sas-spidey01.livejournal.com — The Under Fire theme I’m used has a selectable but sets it in ‘px’ πŸ™

At least though, It’s not a total wash out. Live Journal itself does decent by fonts in it’s main theme. Wikipedia respects the browser, and my LJ’s theme is very configurable hehe. I think, if I ever had tons of cash to spare, a paid account + working on themes here would be a fun time killer lol.