Hello.
First, thanks for your work on continuing the ppc/64 ports. After ppc/64
was dropped as release arch seeing it rebooted with a current port is
encouraging. However, I found Debian installer and related package pool
contains packages with crashing binaries on ppc64. I realise it is
marked as unstable but I didn't realise it really was unstable with
crashing components. :-)
Initially I followed the Debian ppc64 port wiki to install using
debootstrap. I was able to successfully install and run the latest
debootstrap and keyrings from an Ubuntu Zesty ppc install. However when
I booted directly into it to run second stage, binaries like apt kept
crashing. It kept failing to install base-passwd.
So I decided to wipe it and try a full installer. With debootstrap it's
best described as installing a bare system, since the base system is
very bare, as not even mount is installed. At the time of testing I ran
the Debian GNU/Linux 12.0.0 "Sid" - Unofficial ppc64 NETINST
20240225-20:36. I found both during the installation and in the
installed system that it suffered the same problem. Binaries needed for
installing packages kept crashing. The base install managed to install
to target but running tasksel after from the menu failed. I suppose the
Debian installer was able to install if it uses "anna" to install
packages. Once running the full apt on the target from an in-target or a
chroot it constantly crashes. Booting from the installed system reveals
all is lost as systemd is corrupt and crashes into a kernel panic.
To give you some info on my setup. I'm testing it on an uncommon Nemo
PA6T PPC64 P.A.Semi Electra equivalent board AKA AmigaOne X1000. It has
currently 4GB RAM, 1TB HDD and 480MB SSD on SATA, an R7 250 Radeon, an
RTL8139 and two bluray writers. Debian was installed to the SSD. I used
a custom Linux kernel version 6.12.17-powerpc64-smp built by Christian
Zigotzky. I used a modifed Debian installer ramdisk to install from,
which fortunately is small and easy to modify, unlike other ppc64
installers. I replaced the included modules with ones from native kernel
and rebuilt ramfs image. I then booted the kernel with ramdisk loaded
and had no issues with the installer launching itself from the ramdisk.
I wrote the installer iso image to a USB stick and the installer had no
issues locating it as the install "CD" in a USB slot. The initial user
setup and dialogs worked fine.
The installer syslog does show dpkg issues with missing 'Description'
and 'Architecture' fields for some packages. As well as pre-dependency
problems which I assume are normal. I've collated a list of tainted
components in the installer from base packages. I've managed to update
some manually such as apt to 2.9.33 but it's still tainted. List:
systemd_255.3-2_ppc64.deb
sed_4.9-2_ppc64.deb
coreutils_9.4-3_ppc64.deb
apt_2.7.12_ppc64.deb
passwd_4.13+dfsg1-4_ppc64.deb
The crashes all look to trip on the same code. I'm not aware of any
obvious Power code disassemblers online or otherwise. After reading
about it I wonder if this is like an issue I read about with some lib
package where it had been compiled on Power8 IIRC, but had wrong
compiler flags, so had compiled code as native instead of cross
compiling to ppc64. In that case, with these few packages, crashing code
could become rampant and spread like a virus. I know it's on PowerPC/64
but I expected to read more about crashing components online given it's
a show stopper for installing any packages. Below is a subset of crashes
from installer syslog.
Crash logs:
Mar 11 17:13:54 kernel: journalctl[8546]: illegal instruction (4) at
3fff95032000 nip 3fff95032000 lr 3fff95033234 code 1
Mar 11 17:13:54 kernel: journalctl[8546]: code: XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Mar 11 17:13:54 kernel: journalctl[8546]: code: XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX <7f454c46> 02020100 00000000 00000000
Mar 11 17:13:54 in-target: Illegal instruction
Mar 11 17:13:54 kernel: systemd-sysuser[8549]: illegal instruction (4)
at 3fff96522000 nip 3fff96522000 lr 3fff96523234 code 1
Mar 11 17:13:54 kernel: systemd-sysuser[8549]: code: XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Mar 11 17:13:54 kernel: systemd-sysuser[8549]: code: XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX <7f454c46> 02020100 00000000 00000000
Mar 11 17:13:54 in-target: Illegal instruction
Mar 12 01:52:32 kernel: sed[8652]: illegal instruction (4) at
3fff9d322000 nip 3fff9d322000 lr 3fff9d323234 code 1
Mar 12 01:52:32 kernel: sed[8652]: code: XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Mar 12 01:52:32 kernel: sed[8652]: code: XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX <7f454c46> 02020100 00000000 00000000
Mar 12 01:52:32 in-target: Illegal instruction
Mar 12 01:52:32 kernel: mktemp[8673]: illegal instruction (4) at
3fff99a42000 nip 3fff99a42000 lr 3fff99a43234 code 1
Mar 12 01:52:32 kernel: mktemp[8673]: code: XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Mar 12 01:52:32 kernel: mktemp[8673]: code: XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX <7f454c46> 02020100 00000000 00000000
Mar 12 01:52:32 in-target: Illegal instruction
Mar 12 01:52:53 kernel: apt-get[8831]: illegal instruction (4) at
3fffb2b02000 nip 3fffb2b02000 lr 3fffb2b03234 code 1
Mar 12 01:52:53 kernel: apt-get[8831]: code: XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Mar 12 01:52:53 kernel: apt-get[8831]: code: XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX <7f454c46> 02020100 00000000 00000000
Mar 12 01:59:26 kernel: chpasswd[12408]: illegal instruction (4) at
3fff8b3d2000 nip 3fff8b3d2000 lr 3fff8b3d3234 code 1
Mar 12 01:59:26 kernel: chpasswd[12408]: code: XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Mar 12 01:59:26 kernel: chpasswd[12408]: code: XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX <7f454c46> 02020100 00000000 00000000
Mar 12 01:59:26 finish-install: Illegal instruction
Mar 12 02:10:44 kernel: apt-cache[12629]: illegal instruction (4) at
3fffb34a2000 nip 3fffb34a2000 lr 3fffb34a3234 code 1
Mar 12 02:10:44 kernel: apt-cache[12629]: code: XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Mar 12 02:10:44 kernel: apt-cache[12629]: code: XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX <7f454c46> 02020100 00000000 00000000
-- My regards, Damien Stewart.