Debian installer for ppc64 and related packages are broken by crashing binaries

Damien Stewart <[email protected]>
Newsgroups gmane.linux.debian.ports.powerpc
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.