Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

32bit PowerPC support #5

Closed
kth5 opened this issue Sep 8, 2020 · 14 comments
Closed

32bit PowerPC support #5

kth5 opened this issue Sep 8, 2020 · 14 comments
Assignees
Labels
enhancement New feature or request

Comments

@kth5
Copy link
Owner

kth5 commented Sep 8, 2020

Shouldn't be too hard to rebuild packages to support his. Work on the installer is needed though to ensure archlive can generate a working one.

Think about how to automate builds when updating ppc64le.

@crazycusti
Copy link

hey!

i would like to help for powerpc32, powerpc64 (BE) but my programming/porting skills is not so good. The last years i tried many ArchPPC builds, but with no success.

-> https://github.com/crazycusti/Arch-Linux-PPC

i had many PowerPC-devices.. G3, G4, G4 MDD, G5, PowerBooks, iBooks.. of course an xserve g5 too! So automated builds-devices or test-devices are available.

i never really work with docker, so i had no idea where start from. blind crosscompile would be a totally chaos, i tried so often.

@kth5
Copy link
Owner Author

kth5 commented Sep 21, 2020

That's cool news someone has interest still!

I'd personally refuse to actually build on those old-skool Apple computers. Firstly, they are wholly inefficient power consumption wise and secondly most of the time are actually unable to build certain packages with LTO enabled. Chromium, Python (3.x) etc come to mind where the maxed out RAM in a G4 based machine will not accommodate or the 32bit address space prohibit it from allocating enough on a G5. I'm reluctant to also provide ppc64 BE builds all things considered, at least not without full automation which I haven't had time for so far.

What would be cool though is regular testing on these. I only have a MacMini G4 1.25GHz with maxed out RAM at 1GiB here for instance.

What I've already got is available here:

[base32]
Server = https://archlinuxpower.org/base-ppc32/

I'm doing this on a PPC64 VM via libvirt on a Blackbird running Archpower ppc64le and KVM enabled btw.

DM me at alex.bldck@gmail.com if you have any ideas on how to contribute already and have any insight on how you imagine your collaboration.

@kth5
Copy link
Owner Author

kth5 commented Oct 5, 2020

First powerpc ISO:
https://archlinuxpower.org/iso/alpha/archpower-2020.10.04-powerpc.iso

  • no ppc64 kernel so can only boot on 603 up to 74xx.
  • needs manually adding the following to pacman.conf to get going
Architecture = powerpc
[base32]
Server = https://archlinuxpower.org/base-ppc32
[base]
Server = https://archlinuxpower.org/base

@kth5
Copy link
Owner Author

kth5 commented Oct 7, 2020

New ISO out with above pacman.conf issue fixed:
https://archlinuxpower.org/iso/alpha/archpower-2020.10.06-powerpc.iso

@crazycusti
Copy link

crazycusti commented Oct 7, 2020

i will tried the images on friday.. on real macintosh hardware 💯

yesterday, i boot up successful the 10.04 iso on qemu!

@kth5
Copy link
Owner Author

kth5 commented Oct 7, 2020

Boots fine on Qemu but still not on my Mac Mini G4 where it halts with an illegal memory access and drops back to OF. Most likely a kernel .config issue.

@crazycusti
Copy link

crazycusti commented Oct 8, 2020

yes, same on powerbook g4

https://dump.chrisnew.de/upload/data/public/IMG_20201008_184005.jpg

edit: oh, sehe gerade wir können ja beide deutsch.. macht es für mich einfacher :)

@kth5
Copy link
Owner Author

kth5 commented Oct 21, 2020

New ISO available:
https://archlinuxpower.org/iso/alpha/archpower-2020.10.17-powerpc.iso

Fixes:

  • boots on PowerBook G4 Aluminium 15" & 17"
  • boots on MacMini G4 1.25Ghz
  • KVM (extremely slow network, seems limited to 1Mbps)

image

Problems:

  • when booting from CD, most of the time the volume label isn't picked up so has to manually be mounted and shell exited twice via CTRL+D
mount /dev/sr0 /run/archiso/bootmnt
^D
^D

@kth5
Copy link
Owner Author

kth5 commented Oct 21, 2020

Notes:

Accellerated X.org working on PowerBook G4 17" Aluminium (Radeon 9600 Pro 64MB):

$ pacman -Sy linux # reinstall/update to 5.9.0-1 from mirror
$ pacman -S linux-firmware xf86-video-ati
$ cat /proc/cmdline
> video=offb video=radeonfb:off radeon.agpmode=-1 radeon.modeset=1
$ cat /etc/modprobe.d/blacklist.conf
> blacklist radeonfb
  • xfce4 fully works as intended (several hours with heavy xfce4-terminal use)
  • eduke32 starts but crashes at random times (could be another unrelated problem)
  • all of the above assumes radeon based graphics, nvidia untested as no hardware available

@kth5
Copy link
Owner Author

kth5 commented Oct 21, 2020

How to use Grub for booting:

  • create a bootstrap partition with at least 4MiB size (better 12MiB to be safe, default 800KiB is too small, even ATA diskspace is cheap)
    image

  • install as normal (assumed to /mnt)

$ pacstrap /mnt/ base linux grub hfsutils
  • format bootstrap partition (/dev/sda2) from target (no hfsutils on iso yet)
$ arch-chroot /mnt
$$ hformat /dev/sda2
$ ^D
  • mount bootstrap partition (assumed /dev/sda2) to /boot/grub on the target rootfs and configure/install
$ 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 

This method will execute on KVM but will fail at setting the OF variable boot-device properly. No fix known at this time.

@kth5
Copy link
Owner Author

kth5 commented Oct 21, 2020

@crazycusti Das macht es fuer Dich einfacher, nur leider nicht fuer den Rest der Welt. ;)

@kth5
Copy link
Owner Author

kth5 commented Oct 22, 2020

X stable as can be with somewhat accelerated state:

image

Using Midori as a browser here (webkit2gtk based). It's slow, not very feature rich but does the trick for looking things up.

Have a Firefox 82.0 build ready for ppc but it segfaults. Debugging required and I seriously do not want to go the ArcticFox route.

All things considered, it turns out to become a quite usable system.

@kth5
Copy link
Owner Author

kth5 commented Jan 21, 2021

@kth5
Copy link
Owner Author

kth5 commented Feb 18, 2021

Since ISO is out and we've had successful installs on G5 and G4 hardware, I consider this done for the moment.

@kth5 kth5 closed this as completed Feb 18, 2021
@kth5 kth5 added the enhancement New feature or request label Feb 18, 2021
@kth5 kth5 self-assigned this Feb 18, 2021
@kth5 kth5 mentioned this issue Feb 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants