So for those running OpenSUSE Tumbleweed on G5s who are also interested in running x86 Linux software on it, I can confirm that PowerVM-LX86 seems functional on G5s under ppc64 OpenSUSE Tumbleweed. I could only do a partial install though so far (the result of which looks like a minimal base system install, likely because it's actually meant to install on ppc64 SLES9-11/RHEL5-6) but it seems to be enough to run x86 ELF command line stuff on G5s (I don't know yet about X11 stuff). How to go about it:
1) Download the latest PowerVM-LX86 installer (powervm-lx86-installer-1.4.0.0-1.tgz) from IBM:
ftp://public.dhe.ibm.com/software/server/lx86/
2) extract it:
Code:
tar zxvf powervm-lx86-installer-1.4.0.0-1.tgz
3) The installer has to be fooled into thinking it's installing on SLES-11 by adding the attached /etc/SuSE-release:
Code:
sudo cp /path/to/SuSE-release /etc/
4) The installer still needs to be further fooled by manually modifying powervm-lx86-installer-1.4.1.0-1/lib/Maiken/UtilFunctions.pm (which I can't post fully for legal reasons) with the following code (perl) in place of the SLES section:
Code:
# SLES
if (-f "$root/etc/SuSE-release") {
my $release = $self->slurp("$root/etc/SuSE-release");
if ($release =~ /SUSE Linux Enterprise Server/i) {
my $distro = "SLES";
if ($release =~ /VERSION = (\d+)/) {
$distro .= $1;
}
if ($release =~ /PATCHLEVEL = (\d+)/) {
$distro .= "SP$1";
}
return "SLES11SP1";
}
return "SLES11SP1";
}
return 'unknown';
}
5) Version 2.1.2 of IBM's Advance Toolchain version 2.1.2 (at05) is needed which can be obtained at:
ftp://public.dhe.ibm.com/software/server/POWER/Linux/toolchain/at/at05/suse/SLES_11/
(you're better off adding the sources to zypper to make sure the latest version is automatically selected, see IBM's documentation at
https://www.ibm.com/support/pages/advtool-install and adapt it to SLES-10 which has at05, just add ftp://public.dhe.ibm.com/software/server/POWER/Linux/toolchain/at/at05/suse/SLES_11/ to the zypper sources)
install it via zypper/yast
6) modify powervm-lx86-1.4.1.0-1-SLES11.ppc64.rpm with rpmrebuild and remove the libgcc dependency (libgcc is obsolete and superseded by libgcc_s1, which you then should enter instead of libgcc)
7) You need to
Code:
sudo zypper install lsb lsb-release
However this not quite enough (the Tumbleweed lsb package is a virtual lsb and the PowerVM-LX86 installer also physically needs /etc/lib/lsb/init-functions, /usr/lib/lsb/install_initd and /usr/lib/lsb/remove_initd) and you need to download redhat-lsb-core-4.1-44.fc28.ppc64.rpm and extract it (or use the attached zipped version) and
Code:
sudo mkdir /lib/lsb
sudo mkdir /usr/lib/lsb
sudo cp /path/to/redhat-lsb-core-4.1-44.fc28.ppc64/etc/lib/lsb/init-functions /etc/lib/lsb/
sudo cp /path/to/redhat-lsb-core-4.1-44.fc28.ppc64/usr/lib/lsb/install_initd /usr/lib/lsb
sudo cp /path/to/redhat-lsb-core-4.1-44.fc28.ppc64/usr/lib/lsb/remove_initd /usr/lib/lsb
8) You need to download the required SLES-11 x86 rpms (for x86-world) from
You can also use the wget scripts attached to download the mimimal install and run
Code:
wget -i files_to_download.txt
9) start the installer
Code:
cd /path/to/powervm-lx86-installer-1.4.1.0-1
sudo ./installer
you will need to register via the installer
Then select:
1. Install Software.
Then
1. Install powervm-lx86 + x86 World
Follow the instructions until the installer asks you for which version of x86-world you would like to install, select SLES-11 SP1 minimal, after which the installer asks you for the location of the SLES-11 x86 rpms, enter the folder where you downloaded the SLES-11 SP1 x86 rpms.
Setup hangs after installing x86 world RPMs. But even though it hangs, it seems to have installed a minimal system that is enough to run basic x86 stuff. Likely the installer has further issues with OpenSUSE (it expects SLES9-11 or RHEL5-6). If anyone has any isos for the ppc64 versions it would be greatly appreciated (not available from SUSE or RHEL servers anymore afaik at least with an evaluation subscription).
10) To run it, you need to manually
Code:
sudo /opt/bin/powervm-lx86-daemon
then
Code:
cd /i386
/opt/bin/powervm-lx86 <x86_elf_binary>
(so far only stuff in the /i386 directory can be run by PowerVM-LX86, this might be possible to overcome as the installer does offer the possibility to run stuff from the /home directories. So it might be down to an environment variable that does not get set as the installation does not complete; I need to look in the install script to find out if it's that and what it is.
Also ideally, x86 binaries would normally be run with the runx86 script, but the installation halts before it can generate it. There is however a template in the installer folder, I will try to use it to make a working version of runx86.
Work in progress but it does indeed confirm that PowerVM-LX86 not only runs on POWER5/5/6/7 but also on PowerPC 970s! As you can see the x86 version of uname -a correctly shows "i686 i686 i386 GNU/Linux" and the x86 version of lscpu correctly recognises 4 i686 cpus
Cheers,