I have an iBook G3 with Debian GNU/Linux as the primary OS and NetBSD to play with. Yaboot is the boot loader I'm using because it was installed by Debian automatically.

For quite some time, I was booting NetBSD manually; that is, entering into OpenFirmware (by pressing Alt, Command, O and F altogether) and typing the "cryptic" command "boot hd:2,ofwboot hd:5/netbsd" into it. The reason is that I couldn't get Yaboot to boot NetBSD successfully despite I followed the instructions given in the manual page. (From what I saw, they seemed to be OpenBSD specific because the kernel name was "bsd".)

As you can imagine, this procedure was really boring, so I spent some time investigating how could I fix that. I decided to mount the HFS partition holding the boot loader to see if there was something interesting to modify, and I found an OpenFirmware script... calling me to modify it. Note that, to do the following, you need to have configured Yaboot manually to accept a BSD entry (otherwise, the changes are not so trivial), even if it does not work "out of the box".

Once you have the partition mounted, edit the ofboot.b file and look for the line that starts with ": bootybsd", which holds the commands needed to boot BSD. What you need to do is to change it to match your exact boot command, instead of the original one. In my case, I ended up with the following single line (despite formatting):

:bootybsd " Booting BSD..." .printf 100 ms load-base release-load-area " hd:2,ofwboot hd:5/netbsd" $boot ;

I now need to be careful to not run ybin again, which will overwrite my changes. But otherwise it works fine. Hope that the people who asked me how to do this find the explanation useful ;-)

Go to posts index

Comments from the original Blogger-hosted post: