[NEWS] Bootstrapping native Void Linux (ppc64le) on Talos II

Started by DKnoto, May 24, 2026, 04:32:52 PM

Previous topic - Next topic

DKnoto

Hi everyone,

    I just wanted to share a recent personal milestone. After a few days of intensive compiling and debugging, I've successfully bootstrapped a complete, native Void Linux base system (almost 1,000 packages) for ppc64le directly on my Talos II.

    I used Void's xbps-src environment to build everything from source. If anyone else is looking to try this, here are a few technical hurdles I ran into and how I bypassed them:

  • Kernel 6.18 & pSeries LPAR code: The build initially failed on papr-hvpipe.c. Since our machines run on PowerNV (skiboot) and don't need IBM's PAPR w/ LPAR virtualization overhead, I temporarily patched out the failing code with preprocessor macros. My ultimate goal is to build a leaner kernel with CONFIG_PPC_PSERIES completely disabled.
  • x265 compilation errors: The x265 package tripped over AltiVec/VSX hardware optimizations during the 10-bit depth build pass. I had to explicitly disable the altivec option in the package's build template to get it to compile cleanly via standard C++.
  • Booting via Petitboot: Instead of fighting with ISO generation scripts designed for x86, I installed the built packages (xbps-install) directly onto an ext4-formatted USB drive via chroot. I wrote a minimal grub.cfg pointing to the native vmlinux and initramfs, and Petitboot flawlessly parsed it and booted the system via kexec on the first try.
    I'm taking a short breather now, but my next step is to configure the network with ConnMan and compile a native, lightweight graphical environment—likely Enlightenment—to keep the system as responsive and bloat-free as possible.

    If anyone is working on a similar Void/OpenPOWER port and needs details on the xbps-src patches, let me know!

Cheers.
Desktop: Talos II T2P9S01 REV 1.01 | IBM Power 9/18c DD2.3, 02CY646 | AMD Radeon Pro WX7100 | 64GB RAM | SSD 1TB

MPC7500

Wow. That's a big task. This means, VoidLinux is up and running on ppc64le, again?

DKnoto

"Works" might be a bit of an overstatement. I'm starting with a minimal installation. I'm currently putting together a more comprehensive set of packages to perform a full installation and migrate package building from Fedora 42 to Void Linux. Unfortunately, I need to expand my infrastructure with a second processor because the entire build process takes a while on a single C18.
Desktop: Talos II T2P9S01 REV 1.01 | IBM Power 9/18c DD2.3, 02CY646 | AMD Radeon Pro WX7100 | 64GB RAM | SSD 1TB

ClassicHasClass


DKnoto

Update from the development front on Void Linux on ppc64le:

- I built cpufetch and fastfetch packages;

- The first one required some minor code refactoring for PPC—unused variables, memory leaks—I did only what was necessary to ensure it compiled without errors;

- In the second package, I ran into massive dependencies; I had to build 608 packages, including LuaJIT;

- For LuaJIT, I used sources from OpenResty; they compile, but unfortunately the JIT doesn't work.

Here's a screenshot of how it ultimately looks: https://www.dropbox.com/scl/fi/rh5n4a9vx7i47yoy0rueh/Void-Linux-Talos2-ppc64le-fast-cpu-fetch.png?rlkey=4bcs27d2gqtc9a7wf7wd12lfe&st=lqtizzog&dl=0
Desktop: Talos II T2P9S01 REV 1.01 | IBM Power 9/18c DD2.3, 02CY646 | AMD Radeon Pro WX7100 | 64GB RAM | SSD 1TB

MPC7500

cpufetch v1.07 has a little bug, but v1.06 works out of the box.
For fastfetch: LuaJIT is not supported. Lua support is optional.

DKnoto

I made an almost identical fix in fill_array_from_sys, but there's still a memory leak in that function.
Desktop: Talos II T2P9S01 REV 1.01 | IBM Power 9/18c DD2.3, 02CY646 | AMD Radeon Pro WX7100 | 64GB RAM | SSD 1TB

DKnoto

Quote from: MPC7500 on June 13, 2026, 05:25:35 PM
For fastfetch: LuaJIT is not supported. Lua support is optional.

In that case, I'll have to remove the dependency, but it'll be hard to track down because it's not a direct dependency.
Desktop: Talos II T2P9S01 REV 1.01 | IBM Power 9/18c DD2.3, 02CY646 | AMD Radeon Pro WX7100 | 64GB RAM | SSD 1TB

MPC7500

Void is using lua54-devel.

If you don't need Enlightenment detection, remove efl-devel from the fastfetch template and set -DENABLE_EET=OFF. This should eliminate a large portion of the 608-package dependency tree, including LuaJIT.

DKnoto

I've adopted a different build philosophy: I don't want to forcefully reduce dependencies, but rather compile as much as possible. I only reduce dependencies when I have to. Additionally, I have testing software that checks a large number of different Lua versions and dialects.


I build the Enlightenment environment directly from the source code in the project repository. Version 0.27.0 has slightly fewer features.

I've already built 1,877 packages ;-)
Desktop: Talos II T2P9S01 REV 1.01 | IBM Power 9/18c DD2.3, 02CY646 | AMD Radeon Pro WX7100 | 64GB RAM | SSD 1TB

DKnoto

Desktop: Talos II T2P9S01 REV 1.01 | IBM Power 9/18c DD2.3, 02CY646 | AMD Radeon Pro WX7100 | 64GB RAM | SSD 1TB