grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PPC64


From: Hollis Blanchard
Subject: Re: PPC64
Date: Tue, 21 Oct 2008 17:40:06 -0500

On Tue, 2008-10-21 at 18:04 -0400, Pavel Roskin wrote:
> 
> util/ieee1275/grub-install.in is not suitable for PowerPC.

It worked great for me. :)

> It assumes that /boot is on the HFS boot partition.

I documented the partitioning assumptions it uses:
http://grub.enbug.org/TestingOnPowerPC

> It's not the case for Fedora
> and perhaps any distro.  The HFS boot partition is not mounted and
> should be accessed by hfstools.  The modules should be installed
> under /boot/grub.  The path to /boot/grub should be embedded into the
> core image.  We have support for embedding the default module path now.
> We need a better script that would not put all modules on the short HFS
> boot partition.  Considering that the SPARC port is defunct, I would
> just rewrite util/ieee1275/grub-install.in.

The "boot partition" is an unnecessary hack instituted by a particularly
opinionated ybin developer, and a great inconvenience. It's ridiculous
to have scripts to copy and convert yaboot.conf files into a "secret"
partition, especially since the bootloader is perfectly capable of
discovering files at run time (unlike lilo, where the ybin model came
from). Also, have you looked at those scripts? <shudder>

On IBM POWER servers, there is no HFS partition at all. Instead, there
is a "raw" partition onto which you dd an ELF file. Firmware loads the
whole thing into memory and jumps at offset 0. Traditionally, yaboot is
installed there, and when it runs it does a shoddy job of trying to walk
the (DOS) partition table, searching for /etc/yaboot.conf.

Once GRUB replaces yaboot/ybin we can happily wave both of these
anachronisms goodbye. Firmware on both systems is fully capable of
loading ELF files from a filesystem, and since it's on a filesystem
there is no need to embed anything or search anywhere: all files
(grub.cfg and the modules) should be placed adjacent to the executable.

As for embedding the path in the executable itself, that's a nice idea
until you copy the executable to another system or move your hard disk
to another system where devices have different Open Firmware paths and
aliases. Another big pain point is building bootable CDs, since these
also unfortunately cannot make assumptions about the Open Firmware
devices available.

Just put all the files in the same directory on a real filesystem and be
happy. I know I am. :)

-- 
Hollis Blanchard
IBM Linux Technology Center





reply via email to

[Prev in Thread] Current Thread [Next in Thread]