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

Why it's so difficult to fix PowerMac booting for good



Hello!

Since this topic is coming up from time to time, here a short rundown why
making the bootloader installation on Apple PowerMac systems work properly.

Installing a bootloader on a PowerMac requires an HFS or HFS+ partition where
the initial bootloader must be copied and "blessed" such that the firmware of
a PowerMac finds and loads the bootloader. The detailed process is explained
here [1], for example. In debian-installer, this process is performed by the
grub-installer script [2].

One of the problems here is that the tool for creating HFS/HFS+ filesystems
is covered by a license that Debian considers non-free [3]. This resulted
in the package being moved to the "non-free" section which is currently unsupported
by Debian Ports meaning I always have to inject the hfsprogs package into debian-
installer manually when building an installation image for powerpc or ppc64.

As a result, every installation image that was build without this manual package
injection will not work. There are some ISO images on the cdimage server where
that indeed is the case. If you run into a problem where the bootloader installation
doesn't work, it's therefore advisable to try a different image.

Another problem is that blessing currently only works using the "hattrib" command
from the hfsutils package which supports HFS but no HFS+ filesystems. While GRUB
seems to come with its own blessing utility which supposedly supports HFS+ filesystems,
I never got that to work.

If we could get Apple PowerMac machines to boot from a FAT filesystem, the licensing
issue with hfsprogs would no longer be a headache. According to Apple's documentation,
booting from a FAT boot partition should work [4] but I have never gotten around to
testing that.

So, if anyone has the time and enthusiasm to be able to get an Apple PowerMac to boot
off a FAT partition, please give it a try and let me know. If it works, we can replace
the current bootloader installation in grub-installer [2] and fix the issue for good.

Until then, we will have to resort to manual installation image builds.

Adrian

> [1] https://forums.gentoo.org/viewtopic-t-1082746-start-0.html
> [2] https://salsa.debian.org/installer-team/grub-installer/-/blob/master/grub-installer#L1030
> [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666707
> [4] https://github.com/apple-oss-distributions/bless/blob/main/README.BOOTING

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


Reply to: