[GTALUG] Linux on ppc64 (G5) - distro support
Mike
el.fontanero at gmail.com
Mon Dec 10 13:11:43 EST 2018
On 12/10/18, Stewart C. Russell via talk <talk at gtalug.org> wrote:
> On 2018-12-06 10:35 a.m., William Porquet wrote:
>> I have a similar boat-anchor Mac G5. Lubuntu PPC works quite well on it.
>> I can't upgrade from 16 to 18 yet, doesn't seem to be supported or the
>> distro isn't ripe yet.
>
> Good to know, thanks. I've installed Lubuntu 16.04 as powerpc64, but I
> can't get past yaboot. I hold Option (⌥) when powering up to get to the
> boot selection screen, choose the Linux HD (it even has a tiny
> penguin!), pick 'l' from yaboot … and I'm back at the boot selection
> screen again. Continue until patience runs out.
>
> Do you use the OpenFirmware boot? Did you stick with 32 bit?
>
I spent some quality time with OpenFirmware (a.k.a. OF) / yaboot /
debian on the G5. Here are a few hopefully useful tidbits.
Generally,
- /etc/yaboot.conf contains instructions to *both* linux "yabin" and
to yaboot itself.
- ybin is run under linux and takes *some* of the config items from
yaboot.conf and generates a script that OF runs, called ofboot.b. It
also creates and populates a boot partition on the target disk.
- The rest of yaboot.conf, including kernel "image" specs, is used by
yaboot itself during boot.
- yaboot is executed *by* OF.
The approach I've taken is to allow the debian jessie installation to
generate a half-assed (= almost, but not totally broken) yaboot.conf,
but also useful Apple_Bootstrap partition containing ofboot.b,
yaboot.conf, and yaboot. I then experimented with modifying ofboot.b
and yaboot.conf *directly* on the HFS partition. For example, this is
a typical sequence of update events:
# hmount /dev/sda2
# hls -l
# hcopy ./yaboot.conf bootstrap:yaboot.conf
# hattrib -t conf bootstrap:yaboot.conf
# hcopy ./ofboot.b bootstrap:ofboot.b
# hattrib -t tbxi bootstrap:ofboot.b
# hls -l
# humount /dev/sda2
Here are some salient fragments of the configurations I needed to poke
to make my setup work. My original OSX is on /dev/sda3, and my Linux
distro is on /dev/sdb3.
In ofboot.b:
<BOOT-SCRIPT>
: .printf fb8-write drop ;
: bootyaboot " Loading second stage bootstrap..." .printf 100 ms
load-base release-load-area "
/ht at 0,f2000000/pci at 9/k2-sata-root at c/@ffffffffffffffff/@0:2,\\yaboot"
$boot ;
: bootmacosx " Booting MacOSX..." .printf 100 ms load-base
release-load-area "
/ht at 0,f2000000/pci at 9/k2-sata-root at c/@ffffffffffffffff/@0:3,\\:tbxi"
$boot ;
" screen" output
Note the horrible
"/ht at 0,f2000000/pci at 9/k2-sata-root at c/@ffffffffffffffff/@0:2,\\yaboot"
specification. This is OF for "/dev/sda2", which is where my config
and yaboot reside. This script, run by OF, tells OF that yaboot can
be booted from /dev/sda2, and that OSX can be booted directly from
/dev/sda3.
Next, yaboot.conf:
boot="/dev/sda2"
# The device spec of the second hard disk (B, or the bottom slot)
device=/ht at 0,f2000000/pci at 9/k2-sata-root at c/k2-sata at 1/disk at 0
partition=3
root="UUID=uuid of your root partition"
timeout=300
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
image=/boot/vmlinux-4.9.0-0.bpo.6-powerpc64
label=LinuxBpo
read-only
initrd=/boot/initrd.img-4.9.0-0.bpo.6-powerpc64
initrd-size=8192
image=/boot/vmlinux-3.16.0-6-powerpc64
label=Linux3
read-only
initrd=/boot/initrd.img-3.16.0-6-powerpc64
initrd-size=8192
Note that if your linux partition is on the first hard disk, your
device spec would be:
device=/ht at 0,f2000000/pci at 9/k2-sata-root at c/k2-sata at 0/disk at 0
partition=<your linux root fs partition number>
I hope this isn't too scattered - Take a look at your own installation
(mac-fdisk -l /dev/sda etc.) and your installed ofboot.b and
yaboot.conf in light of the above. Ping back if you get stuck.
Cheers,
Mike
More information about the talk
mailing list