Skip to content

Installation | NewWorld PowerMac with Grub

Alexander Baldeck edited this page May 12, 2026 · 11 revisions

Download the powerpc ISO

https://archlinuxpower.org/iso/

Although there are ways to install via USB, we assume you burnt it to a CD/DVD and boot of your optical drive.

Create a bootstrap partition

It should be at least 12MiB, read not the default 800KiB size!! Depending on which Grub modules you'd like to generate into the Grub boot image, it may need to be bigger. 32MiB is plenty and you'll likely won't ever need more. (That's similar to what they said about the Apollo Guidance Computer's amount of "RAM" too though).

[root@archiso ~]# mac-fdisk /dev/sda
/dev/sda
Command (? for help): i
size of 'device' is 33554432 blocks:
new size of 'device' is 33554432 blocks
Command (? for help): p
/dev/sda
        #                    type name                 length   base     ( size )  system
/dev/sda1     Apple_partition_map Apple                    63 @ 1        ( 31.5k)  Partition map
/dev/sda2              Apple_Free Extra              33554368 @ 64       ( 16.0G)  Free space

Block size=512, Number of Blocks=33554432
DeviceType=0x0, DeviceId=0x0

Command (? for help): C
First block: 64
Length (in blocks, kB (k), MB (M) or GB (G)): 12M
Name of partition: bootstrap
Type of partition: Apple_Bootstrap
Command (? for help): p
/dev/sda
        #                    type name                 length   base     ( size )  system
/dev/sda1     Apple_partition_map Apple                    63 @ 1        ( 31.5k)  Partition map
/dev/sda2         Apple_Bootstrap bootstrap             24576 @ 64       ( 12.0M)  NewWorld bootblock
/dev/sda3              Apple_Free Extra              33529792 @ 24640    ( 16.0G)  Free space

Block size=512, Number of Blocks=33554432
DeviceType=0x0, DeviceId=0x0

Command (? for help): c
First block: 24640
Length (in blocks, kB (k), MB (M) or GB (G)): 15G
Name of partition: root
Command (? for help): p
/dev/sda
        #                    type name                 length   base     ( size )  system
/dev/sda1     Apple_partition_map Apple                    63 @ 1        ( 31.5k)  Partition map
/dev/sda2         Apple_Bootstrap bootstrap             24576 @ 64       ( 12.0M)  NewWorld bootblock
/dev/sda3         Apple_UNIX_SVR2 root               31457280 @ 24640    ( 15.0G)  Linux native
/dev/sda4              Apple_Free Extra               2072512 @ 31481920 (1012.0M)  Free space

Block size=512, Number of Blocks=33554432
DeviceType=0x0, DeviceId=0x0

Command (? for help): c
First block: 31481920
Length (in blocks, kB (k), MB (M) or GB (G)): 2072512
Name of partition: swap
Command (? for help): p
/dev/sda
        #                    type name                 length   base     ( size )  system
/dev/sda1     Apple_partition_map Apple                    63 @ 1        ( 31.5k)  Partition map
/dev/sda2         Apple_Bootstrap bootstrap             24576 @ 64       ( 12.0M)  NewWorld bootblock
/dev/sda3         Apple_UNIX_SVR2 root               31457280 @ 24640    ( 15.0G)  Linux native
/dev/sda4         Apple_UNIX_SVR2 swap                2072512 @ 31481920 (1012.0M)  Linux swap

Block size=512, Number of Blocks=33554432
DeviceType=0x0, DeviceId=0x0

Command (? for help): w
IMPORTANT: You are about to write a changed partition map to disk.
For any partition you changed the start or size of, writing out
the map causes all data on that partition to be LOST FOREVER.
Make sure you have a backup of any data on such partitions you
want to keep before answering 'yes' to the question below!

Write partition map? [n/y]: y
The partition map has been saved successfully!

Syncing disks.

Partition map written to disk. If any partitions on this disk
were still in use by the system (see messages above), you will need
to reboot in order to utilize the new partition map.

Consider creating a swap partition or file of course. The partition type just shouldn't be Apple_Bootstrap but otherwise won't matter.

Install base using pacstrap

Modify the target folder to your needs, we assume /mnt here and add kernels, grub and hfsutils for good measure.

If on a 64bit machine such as a G5 or POWER6, consider installing linux-ppc64 for the kernel.

$ pacstrap /mnt/ base linux{,-g4} grub hfsutils

Format bootstrap partition

We assume it's the first partition (after the Apple partition map) thus /dev/sda2:

$ hformat /dev/sda2

Mount bootstrap partition

Still we assume it's /dev/sda2 an you need to mount it to /boot/grub on the target rootfs, add it to fstab along with the rest of your partitions and install Grub.

$ mkdir /mnt/boot/grub
$ mount /dev/sda2 /mnt/boot/grub
# bootstrap partition should always get mounted to /boot/grub so grub hooks may work properly
$ genfstab -U /mnt > /mnt/etc/fstab
$ arch-chroot /mnt
$$ grub-mkconfig -o /boot/grub/grub.cfg
# this one will fail if bootstrap is too small (depends on Grub mods included with core.elf)
$$ grub-install 

Troubleshooting

Additional steps needed to fix and issue where OpenFirmware may not recognize grub, blessing binaries on our bootstrap partition.

$ umount /dev/sda2
$ hmount /dev/sda2
$ hattrib -t tbxi :grub
$ hattrib -b :
$ humount

After you're done with the above, your system should detect the installation and boot Grub. So just configure as normal using the regular Archlinux Installation Guide skipping bootloader specifics.

Clone this wiki locally