On 25/1/2000 Sergio Brandano wrote:
Hi, I have a little question on yaboot
http://calvaweb.calvacom.fr/bh40/test.html
- Is it the only way to boot kernel 2.2.14+ ?
I do not think so, but it is the most reliable on the colored macs
(BlueG3s, all G4s, iMacs etc known as "Newworld" macs) I have
personally have had alot of trouble booting recent kernels with bootx
on my Blue and White G3, but I have had more problems with BootX then
most...
- As I am still booting 2.2.13 with BootX on my Lombard, is there any
chance to boot 2.2.14+ with BootX?
I don't see why not... Ben?
one thing about the Lombard, I do not know for sure if it has a
Newworld ROM or the old style 4MB MacOS hardware ROM. I am pretty
sure yaboot will only work on Newworld macs.
- I am puzzled by the installation instructions of yaboot and its
installer. Is yaboot a binary for linux or Mac? I mean, BootX runs
on MacOS, but is not clear where yaboot should be really installed.
I have the binary, but what do I do with it? Also, if I use yaboot,
do I have to remove BootX? If I remove BootX, does yaboot give me
cute window for choosing the OS?
Ok, first yaboot is neither a macos or linux executable, it is an
OpenFirmware executable. OpenFirmware is a small peice of software
embedded in the hardware boot ROM.
Now, here is where it gets messy... all the `newworld' macs (colored
G3s, G4s etc) have a version of OpenFirmware which is incapable of
loading a boot sector off of a disk partition, that is how quik
worked, it installed a small bootblock onto the first 1024 bytes of
the linux root partition and OpenFirmware loaded that code which in
turn loaded the linux kernel. now since the newer OpenFirmware will
not load a bootblock like that quik will not work and the only way to
boot was with BootX, which tends to be a bit less reliable, and
forces you to keep around macos even if you don't need it for
anything else.
Now the newworld macs boot MacOS quite differently then older macs
did. MacOS on these machine in order to boot requires a MacOSROM
file, which apple has told you is a image of the old hardware ROM all
previous macs had, which it is, but its also an OpenFirmware
executable, a bootloader.
yaboot is very similar except it has no image of a macos ROM.
OpenFirmware executes yaboot and yaboot boots the linux kernel
directly off an ext2 filesystem.
now, I mention "bootstrap" partitions, the best way to use yaboot is
to create a small 800K partition with a partition type of
Apple_Bootstrap (normal macos partitions are type Apple_HFS, and
linux partitions are Apple_UNIX_SVR2 or something) this partition
will have an HFS filesystem on it, because OpenFirmware is only
capable of reading MSDOS and HFS[+] filesystems. the Apple_Bootstrap
type just keeps it hidden from MacOS.
what ybin does, (the yaboot installer i wrote for linux, its not a
macos utility) is copy a small OpenFirmware script, the yaboot
executable and its configuration file to the bootstrap partition,
then it sets the HFS 4 character Type code on the script to "tbxi".
it then sets the "blessed" bit on the root directory of the HFS
filesystem.
On a Macos system you have a System file a Finder file and now a
MacOSROM file, the MacOSROM file is type "tbxi" and all of these
files reside in a directory called System Folder on the root level of
your macos partition. the System Folder has the "Blessed" bit set,
traditionally the blessed bit is how the macintosh hardware located
the active system folder and was able to execute the System file, on
newworld macs OpenFirmware reads the HFS filesystem and finds the
directory with the Blessed bit set and then looks for a file with a 4
character type code of tbxi and executes it.
now OpenFirmware when it finds my bootstrap partition sees the root
directory is blessed so it looks for a file of type tbxi, and what it
finds is a little OpenFirmware script so it reads that and sees its
supposed to run the OF command "boot hd:\\yaboot" which executes the
yaboot binary, and then yaboot takes over and loads the linux kernel.
assuming the bootstrap partition is the first partition found by
OpenFirmware and its on the internal apple supplied hard disk the
system can boot without ANY modification to OpenFirwmare's settings.
now there is no reason you are required to use the dedicated
bootstrap partition, you can load yaboot from any OpenFirmware
readable partition, such as your MacOS bootdisk, the problem is you
have to modify OpenFirmware's settings to do it, if you were to set
the blessed bit to the root directory on your macos boot disk MacOS
would no longer boot. this is why its cleaner to have a dedicated
bootstrap partition to hold the yaboot bootloader. in order to load
yaboot from a macos partition, put the yaboot binary onto the root
level of your macos disk, and puts its configuration file yaboot.conf
next to it. then boot into OpenFirmware and type boot <path to macos
disk>:,yaboot and yaboot will load.
I wrote ybin to be configurable in how it copies the yaboot
executable to a partition, you can configure it to only copy the
executable and its config file to any hfs partition, but not set its
file type or set the blessed bit on the root directory. the point of
that is to allow you to easily update your yaboot configuration
without needing to know how to use hfsutils and to be able to do it
with one single command.
- concerning the yaboot installer, it is supposed to install yaboot in
a boot partition, which may also be a MacOS partition. So is yaboot
MacOS bin or a Linux bin?
the yaboot installer is configurable in where and how much it does,
by default its designed for a dedicated HFS bootstrap partition, as
this is the ideal configuration since it required minimal to no
changes to OpenFirmware (which is kinda a pain to mess with) but if
you configure it to only copy the files and you take care of
reconfiguring OpenFirmware yourself you can keep it on your Macos
boot disk. in this case its best to use a multiboot script to give
you a menu at bootup allowing you to choose what OS to load, BenH
wrote such a script which i could dig up sometime (i should add it to
my ybin distribution but need to ask ben first)
ybin includes more detailed instructions how to set its various
options for where and how it installs.
These instructions are not clear.
Yes it needs improvement, I am a bit busy with some other things
right now, but I hope to soon write better instructions and a HOWTO
for setting up yaboot and dual booting with macos, hopefully
something more coherant this all this rambling ;-)
At 13:35 +0100 25/1/2000, Momchil Velikov wrote:
And while we are at it, does it work on older Macs (e.g. 8500) ?
I doubt it, I do not think the OpenFirmware in these macs is able to
read a filesystem (pretty much the opposite problem of new macs, it
can read boot blocks but not filesystems, new macs can read
filesystems but not bootblocks...) for your machine I think you
would need quik. but i might be mistaken on that...
I hope i answered your questions, I am having a hard time explaining
how this is supposed to work without needing to explain the whole
boot process for new and old macs, which gets rather involved... If
i totally lost you let me know and I'll try again ;-)
--
Ethan Benson
To obtain my PGP key: http://www.alaska.net/~erbenson/pgp/