<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.powerpc-notebook.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hiiripollo</id>
	<title>wiki of GNU/Linux PowerPC Notebook Project - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.powerpc-notebook.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hiiripollo"/>
	<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/Special:Contributions/Hiiripollo"/>
	<updated>2026-09-27T00:16:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.4</generator>
	<entry>
		<id>http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=17</id>
		<title>Current Software Specifications</title>
		<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=17"/>
		<updated>2025-05-19T18:29:39Z</updated>

		<summary type="html">&lt;p&gt;Hiiripollo: /* Related Projects to Watch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Stack: From First Boot to Full Distribution =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: This is an initial draft of the software roadmap for the PowerPC Notebook project. At this stage, this is more of brain dump, rather than a polished roadmap. Contributions and comments are welcome.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target architecture: PPC64 Big Endian.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The software stack for the PowerPC Notebook is a critical enabler for the hardware. Our challenge is to bring up a modern, open-source Linux system on non-mainstream architecture (PowerPC), using a custom motherboard based on the NXP T2080 (?) SoC. That means:&lt;br /&gt;
&lt;br /&gt;
* Bootstrapping software from scratch, with limited upstream support&lt;br /&gt;
* Building and testing a minimal Linux system to prove hardware works&lt;br /&gt;
* Gradually evolving toward a user-friendly, maintainable Linux distribution&lt;br /&gt;
We outline a &#039;&#039;&#039;progressive roadmap&#039;&#039;&#039;: from booting the board to building our own distro, using modern infrastructure and tools wherever possible.&lt;br /&gt;
&lt;br /&gt;
== 1. Basic Plan: Booting the First Prototype ==&lt;br /&gt;
&lt;br /&gt;
The first goal is to ensure our hardware can boot into a minimal Linux environment.&lt;br /&gt;
&lt;br /&gt;
=== What Needs to Be Done ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Description&lt;br /&gt;
|- &lt;br /&gt;
| Set up cross toolchain || Use NXP’s PowerPC GCC SDK for T2080&lt;br /&gt;
|- &lt;br /&gt;
| Build U-Boot || Start from &amp;lt;code&amp;gt;T2080RDB_defconfig&amp;lt;/code&amp;gt;, customize for our board&lt;br /&gt;
|- &lt;br /&gt;
| Write Device Tree (DTS) || Tailor the .dts to our motherboard’s peripherals&lt;br /&gt;
|- &lt;br /&gt;
| Build kernel || Use NXP&#039;s patched or mainline kernel with minimal config&lt;br /&gt;
|- &lt;br /&gt;
| Load root filesystem || Use Initramfs, NFS, SD card or TFTP&lt;br /&gt;
|- &lt;br /&gt;
| Test via serial console || Use UART for logs and early debugging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Why ===&lt;br /&gt;
&lt;br /&gt;
* Validates CPU, memory, and power circuitry&lt;br /&gt;
* Enables testing and debugging of other peripherals&lt;br /&gt;
* Serves as foundation for OS bring-up and userland development&lt;br /&gt;
&lt;br /&gt;
== 2. Essentials: Proving the Prototype Works ==&lt;br /&gt;
&lt;br /&gt;
Once we can boot, we need a minimal userland to interact with the system.&lt;br /&gt;
&lt;br /&gt;
=== Components Required ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Functionality&lt;br /&gt;
|- &lt;br /&gt;
| U-Boot || Initialize CPU, memory, load kernel&lt;br /&gt;
|- &lt;br /&gt;
| Linux kernel || Hardware detection and device drivers&lt;br /&gt;
|- &lt;br /&gt;
| Root filesystem || BusyBox or minimal Debian NFS root&lt;br /&gt;
|- &lt;br /&gt;
| Serial console || Primary I/O for early interaction&lt;br /&gt;
|- &lt;br /&gt;
| Storage access || SD, SATA, or USB (at least one working path)&lt;br /&gt;
|- &lt;br /&gt;
| Device tree blob || Custom for motherboard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Goal ===&lt;br /&gt;
&lt;br /&gt;
* Boot into a shell prompt&lt;br /&gt;
* Validate basic system resources (&amp;lt;code&amp;gt;/proc/cpuinfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Confirm networking, storage, and peripheral availability&lt;br /&gt;
&lt;br /&gt;
== 3. Nice-to-Haves: Editors, Tools, and Utilities ==&lt;br /&gt;
&lt;br /&gt;
Once the system is up, we add tools to support development, testing, and usability.&lt;br /&gt;
&lt;br /&gt;
=== Suggested Additions ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Category !! Tools&lt;br /&gt;
|- &lt;br /&gt;
| Editors || nano, vim&lt;br /&gt;
|- &lt;br /&gt;
| Networking || curl, wget, ping, ssh&lt;br /&gt;
|- &lt;br /&gt;
| Debugging || gdb, strace, perf, valgrind&lt;br /&gt;
|- &lt;br /&gt;
| System info || htop, lshw, i2c-tools, lsusb&lt;br /&gt;
|- &lt;br /&gt;
| Disk tools || fdisk, parted, e2fsprogs, btrfs-progs&lt;br /&gt;
|- &lt;br /&gt;
| Package management || apt, dpkg, or apk (depending on base)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. Distro: Building Our Own PowerPC Linux Distribution ==&lt;br /&gt;
&lt;br /&gt;
Eventually, we want a user-facing Linux distribution specifically optimized for the PowerPC Notebook.&lt;br /&gt;
&lt;br /&gt;
=== Building Blocks ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Details&lt;br /&gt;
|- &lt;br /&gt;
| Base System || Debian PPC64, Gentoo, or Void PPC&lt;br /&gt;
|- &lt;br /&gt;
| Kernel || Custom-built with PowerPC Notebook config&lt;br /&gt;
|- &lt;br /&gt;
| Init system || systemd or OpenRC&lt;br /&gt;
|- &lt;br /&gt;
| Package management || apt (Debian), emerge (Gentoo), xbps (Void)&lt;br /&gt;
|- &lt;br /&gt;
| Desktop environment || XFCE, MATE, GNOME (PPC64 builds)&lt;br /&gt;
|- &lt;br /&gt;
| Installer || CLI or graphical installer image&lt;br /&gt;
|- &lt;br /&gt;
| Update system || apt repos or rsync-based delta updates&lt;br /&gt;
|- &lt;br /&gt;
| Branding || Custom themes, logos, powerpcnotebook.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Distro Build Systems to Consider ===&lt;br /&gt;
&lt;br /&gt;
* debootstrap / live-build (Debian-based builds)&lt;br /&gt;
* Buildroot (for minimal rootfs + kernel images)&lt;br /&gt;
* Yocto Project (flexible meta-distribution)&lt;br /&gt;
* Gentoo Catalyst (for full ISO or stage builds)&lt;br /&gt;
&lt;br /&gt;
== 5. CI/CD Pipelines and Build Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
To ensure maintainability, reproducibility, and collaboration, we aim to adopt continuous integration and modern DevOps practices.&lt;br /&gt;
&lt;br /&gt;
=== CI/CD Goals ===&lt;br /&gt;
&lt;br /&gt;
* Automatically build U-Boot, kernel, and rootfs images&lt;br /&gt;
* Run tests on emulated environments (QEMU PPC64)&lt;br /&gt;
* Deploy daily/weekly builds for community testing&lt;br /&gt;
* Detect regressions early and validate commits&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Use Case !! Toolchain&lt;br /&gt;
|- &lt;br /&gt;
| CI/CD pipelines || GitHub Actions, GitLab CI, Buildbot&lt;br /&gt;
|- &lt;br /&gt;
| Emulated testing || QEMU PowerPC64 + expect/serial scripts&lt;br /&gt;
|- &lt;br /&gt;
| Cross-builds || Docker + &amp;lt;code&amp;gt;powerpc64-linux-gnu-gcc&amp;lt;/code&amp;gt; toolchains&lt;br /&gt;
|- &lt;br /&gt;
| Image hosting || GitHub Pages, Netlify, custom CDN&lt;br /&gt;
|- &lt;br /&gt;
| Build orchestration || cbuild, Yocto Autobuilder, Jenkins&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example CI Flow ===&lt;br /&gt;
&lt;br /&gt;
# Push to &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; branch&lt;br /&gt;
# GitHub Actions builds U-Boot, kernel, and rootfs&lt;br /&gt;
# QEMU boots the image and verifies UART output&lt;br /&gt;
# Artifacts are uploaded to &amp;lt;code&amp;gt;artifacts.powerpcnotebook.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. Docker Images for Build and Dev Environments ==&lt;br /&gt;
&lt;br /&gt;
Pre-configured Docker images help developers build and test quickly across any host system.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases ===&lt;br /&gt;
&lt;br /&gt;
* Build U-Boot or Linux kernel from any host&lt;br /&gt;
* Package testing in isolated environments&lt;br /&gt;
* Running PPC-specific tools in reproducible containers&lt;br /&gt;
&lt;br /&gt;
=== Example Images ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Image Name !! Description&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-dev-env || Full dev env with toolchain and make&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-kernel-builder || Kernel-specific builder and configs&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-debian-chroot || Debootstrap PPC64 rootfs for package test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 7. Inspirations from Debian and Other Projects ==&lt;br /&gt;
&lt;br /&gt;
We aim to reuse and adapt ideas from existing projects to accelerate development.&lt;br /&gt;
&lt;br /&gt;
=== Relevant Debian Practices ===&lt;br /&gt;
&lt;br /&gt;
* Reproducible Builds&lt;br /&gt;
* Debian Ports infrastructure&lt;br /&gt;
* &amp;lt;code&amp;gt;live-build&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
* Debian Installer (&amp;lt;code&amp;gt;d-i&amp;lt;/code&amp;gt;)&lt;br /&gt;
* QA tools: lintian, piuparts, autopkgtest&lt;br /&gt;
&lt;br /&gt;
=== Related Projects to Watch ===&lt;br /&gt;
This information may be outdated as it is not easy to keep up with all the developments. Feel free to update the wiki in case of errors or omissions.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;height: 948px;&amp;quot;&lt;br /&gt;
|+ Open Source Distributions Supporting PowerPC (Including Less Mainstream Projects)&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;height: 51px; width: 437.406px;&amp;quot; | Distribution Name !! style=&amp;quot;height: 51px; width: 154.828px;&amp;quot; | Based On !! style=&amp;quot;height: 51px; width: 111.594px;&amp;quot; | Active Status !! style=&amp;quot;height: 51px; width: 197.031px;&amp;quot; | Last Release !! style=&amp;quot;height: 51px; width: 280.281px;&amp;quot; | Source Code Repository !! style=&amp;quot;height: 51px; width: 238.719px;&amp;quot; | Endian Support !! style=&amp;quot;height: 51px; width: 90.6406px;&amp;quot; | 32-bit Support !! style=&amp;quot;height: 51px; width: 90.6406px;&amp;quot; | 64-bit Support !! style=&amp;quot;height: 51px; width: 467.109px;&amp;quot; | Notes&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;height: 28px; width: 437.406px;&amp;quot; | Linux Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Adélie Linux || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Independent || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | December 20, 2024 (1.0-BETA6) || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://git.adelielinux.org/ || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Supports G3, G4, and G5 PowerPC.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | Arch Power || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Independent || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active (unofficial port) || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | January 1, 2025 (2025.01.01) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://github.com/kth5/archpower/wiki || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian (powerpc), Little Endian (ppc64el) || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Unofficial port.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Chimera Linux || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Independent || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Beta || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | April 20, 2025 (Rolling Release) || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://github.com/chimera-linux/ || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both (ppc, ppc64le) || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Uses musl libc and FreeBSD userland.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | CruxPPC || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | CRUX || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Inactive || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Unknown || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://cruxppc.org/ || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{cross}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | A port of the lightweight CRUX distribution to PowerPC. Status uncertain.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | Debian || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Debian || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | May 17, 2025 (Debian 12.11) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://www.debian.org/ports/powerpc/inst/install || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian (powerpc), Little Endian (ppc64el) || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Development for ppc64 (big-endian) is mostly stalled.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | Fedora || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Fedora || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | April 15, 2025 (Fedora 42) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://src.fedoraproject.org/ || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian (ppc64), Little Endian (ppc64le) || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{cross}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Dropped 32-bit PowerPC support after Fedora 22.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Fienix || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Debian || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://gitlab.com/fienix || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | A derivative of Debian tailored for PowerPC.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Gentoo Linux || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Source-based || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://gitweb.gentoo.org/ || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both (ppc, ppc64) || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Requires compiling from source. ppc64 profile is bi-endian.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | MkLinux || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Microkernel (Mach) / Linux || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Inactive || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | 1998 || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://www.mklinux.org/development/cvs.html || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{cross}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Early port of Linux to PowerPC Macintosh. Development ceased.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | MintPPC || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Linux Mint/Debian || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://github.com/MintPPC || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Specifically designed for PowerPC (Old World and New World Macs).&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | openSUSE || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | SUSE || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | Rolling (Tumbleweed), Stable (Leap) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://build.opensuse.org/ || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Offers both stable and rolling releases.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | OpenPPC || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Independent || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Inactive || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | 2006 || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | (Likely archived) || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{cross}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Aimed to be a user-friendly PowerPC Linux distribution. Development ceased.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Ubuntu || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Debian || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://git.launchpad.net/ubuntu || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Check specific release notes for architecture support.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Void Linux (PPC) || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Independent || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Inactive || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | 2023 || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://github.com/void-ppc || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Community-led effort.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | Yellow Dog Linux || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Red Hat/Fedora || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Inactive || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | August 6, 2009 (6.2) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | (Likely archived, e.g., via WayBack Machine) || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Historically significant for PlayStation 3 and PowerPC Macs. Development ceased.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 451.656px;&amp;quot; | T2 SDE&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 169.078px;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;width: 125.844px;&amp;quot; | Active&lt;br /&gt;
| style=&amp;quot;width: 211.281px;&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 294.531px;&amp;quot; | https://t2sde.org/documentation/&lt;br /&gt;
| style=&amp;quot;width: 252.969px;&amp;quot; | Both&lt;br /&gt;
| style=&amp;quot;width: 104.891px;&amp;quot; | {{check}}&lt;br /&gt;
| style=&amp;quot;width: 104.891px;&amp;quot; | {{check}}&lt;br /&gt;
| style=&amp;quot;width: 481.359px;&amp;quot; | System to create new distributions. Similar to Yotco.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 451.656px;&amp;quot; | Bedrock Linux&lt;br /&gt;
| style=&amp;quot;width: 169.078px;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;width: 125.844px;&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 211.281px;&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 294.531px;&amp;quot; | https://bedrocklinux.org/&lt;br /&gt;
| style=&amp;quot;width: 252.969px;&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 104.891px;&amp;quot; | {{check}}&lt;br /&gt;
| style=&amp;quot;width: 104.891px;&amp;quot; | {{check}}&lt;br /&gt;
| style=&amp;quot;width: 481.359px;&amp;quot; | Sytem to create a new distribution by picking and choosing components from various distributions.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;height: 28px; width: 437.406px;&amp;quot; | FreeBSD Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | FreeBSD || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | BSD || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | March 11, 2025 (13.5-RELEASE) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://cgit.freebsd.org/src/ || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Tier 2 support for 32-bit and 64-bit PowerPC. 32-bit support deprecated in 15.0.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | MidnightBSD || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | FreeBSD || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://github.com/midnightbsd || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Aims to adapt FreeBSD for desktop usage.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | NetBSD || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | BSD || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://github.com/netbsd/src || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Known for portability. MacPPC is Tier II.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | OpenBSD || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | BSD || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://github.com/openbsd/src || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Focuses on security and has official support for Apple&#039;s Mac-based PowerPC hardware.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;height: 51px; width: 437.406px;&amp;quot; | Other Open Source Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | Haiku || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Independent (BeOS inspired) || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Beta || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://github.com/haiku/haiku || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Little Endian || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{cross}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Has a PowerPC port, may require manual compilation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 8. Build Tooling (WIP/Placeholders) ==&lt;br /&gt;
&lt;br /&gt;
This section will document the exact steps, tools, and workflows needed to build every part of the software stack.&lt;br /&gt;
&lt;br /&gt;
=== Build Tooling Overview ===&lt;br /&gt;
&lt;br /&gt;
* Cross-toolchain setup (e.g. NXP SDK, crosstool-ng, LLVM)&lt;br /&gt;
* U-Boot build and customization&lt;br /&gt;
* Linux kernel configuration and build&lt;br /&gt;
* Root filesystem generation methods (debootstrap, Buildroot, Yocto)&lt;br /&gt;
* Build orchestration (Makefiles, shell scripts, CI runners)&lt;br /&gt;
* Packaging tools for our distro (dpkg, xbps, etc.)&lt;br /&gt;
* Secure image signing (U-Boot SPL, FIT images, secure boot)&lt;br /&gt;
* Emulator-based validation and test harnesses&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Details for each item will be populated progressively as we finalize architecture and test results.&lt;br /&gt;
&lt;br /&gt;
== 9. Other Links and Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Technical Resources ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.nxp.com/products/processors-and-microcontrollers/power-architecture/qoriq-platforms/t-series/qoriq-t2080-and-t2081-multicore-communications-processors:T2080 NXP T2080 Reference Manual]&lt;br /&gt;
* [https://source.denx.de/u-boot/u-boot Denx U-Boot Git]&lt;br /&gt;
* [https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/ Linux PowerPC Git]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC Debian PowerPC Wiki]&lt;br /&gt;
* [https://voidlinux-ppc.org/ Void PPC Project]&lt;br /&gt;
&lt;br /&gt;
=== Community and Support ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.powerprogress.org/ Power Progress Community]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC#Communication PowerPC IRC/Matrix]&lt;br /&gt;
* [https://openpowerfoundation.org/ OpenPOWER Foundation]&lt;/div&gt;</summary>
		<author><name>Hiiripollo</name></author>
	</entry>
	<entry>
		<id>http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=16</id>
		<title>Current Software Specifications</title>
		<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=16"/>
		<updated>2025-05-19T17:27:40Z</updated>

		<summary type="html">&lt;p&gt;Hiiripollo: /* Related Projects to Watch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Stack: From First Boot to Full Distribution =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: This is an initial draft of the software roadmap for the PowerPC Notebook project. At this stage, this is more of brain dump, rather than a polished roadmap. Contributions and comments are welcome.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target architecture: PPC64 Big Endian.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The software stack for the PowerPC Notebook is a critical enabler for the hardware. Our challenge is to bring up a modern, open-source Linux system on non-mainstream architecture (PowerPC), using a custom motherboard based on the NXP T2080 (?) SoC. That means:&lt;br /&gt;
&lt;br /&gt;
* Bootstrapping software from scratch, with limited upstream support&lt;br /&gt;
* Building and testing a minimal Linux system to prove hardware works&lt;br /&gt;
* Gradually evolving toward a user-friendly, maintainable Linux distribution&lt;br /&gt;
We outline a &#039;&#039;&#039;progressive roadmap&#039;&#039;&#039;: from booting the board to building our own distro, using modern infrastructure and tools wherever possible.&lt;br /&gt;
&lt;br /&gt;
== 1. Basic Plan: Booting the First Prototype ==&lt;br /&gt;
&lt;br /&gt;
The first goal is to ensure our hardware can boot into a minimal Linux environment.&lt;br /&gt;
&lt;br /&gt;
=== What Needs to Be Done ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Description&lt;br /&gt;
|- &lt;br /&gt;
| Set up cross toolchain || Use NXP’s PowerPC GCC SDK for T2080&lt;br /&gt;
|- &lt;br /&gt;
| Build U-Boot || Start from &amp;lt;code&amp;gt;T2080RDB_defconfig&amp;lt;/code&amp;gt;, customize for our board&lt;br /&gt;
|- &lt;br /&gt;
| Write Device Tree (DTS) || Tailor the .dts to our motherboard’s peripherals&lt;br /&gt;
|- &lt;br /&gt;
| Build kernel || Use NXP&#039;s patched or mainline kernel with minimal config&lt;br /&gt;
|- &lt;br /&gt;
| Load root filesystem || Use Initramfs, NFS, SD card or TFTP&lt;br /&gt;
|- &lt;br /&gt;
| Test via serial console || Use UART for logs and early debugging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Why ===&lt;br /&gt;
&lt;br /&gt;
* Validates CPU, memory, and power circuitry&lt;br /&gt;
* Enables testing and debugging of other peripherals&lt;br /&gt;
* Serves as foundation for OS bring-up and userland development&lt;br /&gt;
&lt;br /&gt;
== 2. Essentials: Proving the Prototype Works ==&lt;br /&gt;
&lt;br /&gt;
Once we can boot, we need a minimal userland to interact with the system.&lt;br /&gt;
&lt;br /&gt;
=== Components Required ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Functionality&lt;br /&gt;
|- &lt;br /&gt;
| U-Boot || Initialize CPU, memory, load kernel&lt;br /&gt;
|- &lt;br /&gt;
| Linux kernel || Hardware detection and device drivers&lt;br /&gt;
|- &lt;br /&gt;
| Root filesystem || BusyBox or minimal Debian NFS root&lt;br /&gt;
|- &lt;br /&gt;
| Serial console || Primary I/O for early interaction&lt;br /&gt;
|- &lt;br /&gt;
| Storage access || SD, SATA, or USB (at least one working path)&lt;br /&gt;
|- &lt;br /&gt;
| Device tree blob || Custom for motherboard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Goal ===&lt;br /&gt;
&lt;br /&gt;
* Boot into a shell prompt&lt;br /&gt;
* Validate basic system resources (&amp;lt;code&amp;gt;/proc/cpuinfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Confirm networking, storage, and peripheral availability&lt;br /&gt;
&lt;br /&gt;
== 3. Nice-to-Haves: Editors, Tools, and Utilities ==&lt;br /&gt;
&lt;br /&gt;
Once the system is up, we add tools to support development, testing, and usability.&lt;br /&gt;
&lt;br /&gt;
=== Suggested Additions ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Category !! Tools&lt;br /&gt;
|- &lt;br /&gt;
| Editors || nano, vim&lt;br /&gt;
|- &lt;br /&gt;
| Networking || curl, wget, ping, ssh&lt;br /&gt;
|- &lt;br /&gt;
| Debugging || gdb, strace, perf, valgrind&lt;br /&gt;
|- &lt;br /&gt;
| System info || htop, lshw, i2c-tools, lsusb&lt;br /&gt;
|- &lt;br /&gt;
| Disk tools || fdisk, parted, e2fsprogs, btrfs-progs&lt;br /&gt;
|- &lt;br /&gt;
| Package management || apt, dpkg, or apk (depending on base)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. Distro: Building Our Own PowerPC Linux Distribution ==&lt;br /&gt;
&lt;br /&gt;
Eventually, we want a user-facing Linux distribution specifically optimized for the PowerPC Notebook.&lt;br /&gt;
&lt;br /&gt;
=== Building Blocks ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Details&lt;br /&gt;
|- &lt;br /&gt;
| Base System || Debian PPC64, Gentoo, or Void PPC&lt;br /&gt;
|- &lt;br /&gt;
| Kernel || Custom-built with PowerPC Notebook config&lt;br /&gt;
|- &lt;br /&gt;
| Init system || systemd or OpenRC&lt;br /&gt;
|- &lt;br /&gt;
| Package management || apt (Debian), emerge (Gentoo), xbps (Void)&lt;br /&gt;
|- &lt;br /&gt;
| Desktop environment || XFCE, MATE, GNOME (PPC64 builds)&lt;br /&gt;
|- &lt;br /&gt;
| Installer || CLI or graphical installer image&lt;br /&gt;
|- &lt;br /&gt;
| Update system || apt repos or rsync-based delta updates&lt;br /&gt;
|- &lt;br /&gt;
| Branding || Custom themes, logos, powerpcnotebook.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Distro Build Systems to Consider ===&lt;br /&gt;
&lt;br /&gt;
* debootstrap / live-build (Debian-based builds)&lt;br /&gt;
* Buildroot (for minimal rootfs + kernel images)&lt;br /&gt;
* Yocto Project (flexible meta-distribution)&lt;br /&gt;
* Gentoo Catalyst (for full ISO or stage builds)&lt;br /&gt;
&lt;br /&gt;
== 5. CI/CD Pipelines and Build Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
To ensure maintainability, reproducibility, and collaboration, we aim to adopt continuous integration and modern DevOps practices.&lt;br /&gt;
&lt;br /&gt;
=== CI/CD Goals ===&lt;br /&gt;
&lt;br /&gt;
* Automatically build U-Boot, kernel, and rootfs images&lt;br /&gt;
* Run tests on emulated environments (QEMU PPC64)&lt;br /&gt;
* Deploy daily/weekly builds for community testing&lt;br /&gt;
* Detect regressions early and validate commits&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Use Case !! Toolchain&lt;br /&gt;
|- &lt;br /&gt;
| CI/CD pipelines || GitHub Actions, GitLab CI, Buildbot&lt;br /&gt;
|- &lt;br /&gt;
| Emulated testing || QEMU PowerPC64 + expect/serial scripts&lt;br /&gt;
|- &lt;br /&gt;
| Cross-builds || Docker + &amp;lt;code&amp;gt;powerpc64-linux-gnu-gcc&amp;lt;/code&amp;gt; toolchains&lt;br /&gt;
|- &lt;br /&gt;
| Image hosting || GitHub Pages, Netlify, custom CDN&lt;br /&gt;
|- &lt;br /&gt;
| Build orchestration || cbuild, Yocto Autobuilder, Jenkins&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example CI Flow ===&lt;br /&gt;
&lt;br /&gt;
# Push to &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; branch&lt;br /&gt;
# GitHub Actions builds U-Boot, kernel, and rootfs&lt;br /&gt;
# QEMU boots the image and verifies UART output&lt;br /&gt;
# Artifacts are uploaded to &amp;lt;code&amp;gt;artifacts.powerpcnotebook.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. Docker Images for Build and Dev Environments ==&lt;br /&gt;
&lt;br /&gt;
Pre-configured Docker images help developers build and test quickly across any host system.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases ===&lt;br /&gt;
&lt;br /&gt;
* Build U-Boot or Linux kernel from any host&lt;br /&gt;
* Package testing in isolated environments&lt;br /&gt;
* Running PPC-specific tools in reproducible containers&lt;br /&gt;
&lt;br /&gt;
=== Example Images ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Image Name !! Description&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-dev-env || Full dev env with toolchain and make&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-kernel-builder || Kernel-specific builder and configs&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-debian-chroot || Debootstrap PPC64 rootfs for package test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 7. Inspirations from Debian and Other Projects ==&lt;br /&gt;
&lt;br /&gt;
We aim to reuse and adapt ideas from existing projects to accelerate development.&lt;br /&gt;
&lt;br /&gt;
=== Relevant Debian Practices ===&lt;br /&gt;
&lt;br /&gt;
* Reproducible Builds&lt;br /&gt;
* Debian Ports infrastructure&lt;br /&gt;
* &amp;lt;code&amp;gt;live-build&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
* Debian Installer (&amp;lt;code&amp;gt;d-i&amp;lt;/code&amp;gt;)&lt;br /&gt;
* QA tools: lintian, piuparts, autopkgtest&lt;br /&gt;
&lt;br /&gt;
=== Related Projects to Watch ===&lt;br /&gt;
This information may be outdated as it is not easy to keep up with all the developments. Feel free to update the wiki in case of errors or omissions.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;height: 948px;&amp;quot;&lt;br /&gt;
|+ Open Source Distributions Supporting PowerPC (Including Less Mainstream Projects)&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
! style=&amp;quot;height: 51px; width: 437.406px;&amp;quot; | Distribution Name !! style=&amp;quot;height: 51px; width: 154.828px;&amp;quot; | Based On !! style=&amp;quot;height: 51px; width: 111.594px;&amp;quot; | Active Status !! style=&amp;quot;height: 51px; width: 197.031px;&amp;quot; | Last Release !! style=&amp;quot;height: 51px; width: 280.281px;&amp;quot; | Source Code Repository !! style=&amp;quot;height: 51px; width: 238.719px;&amp;quot; | Endian Support !! style=&amp;quot;height: 51px; width: 90.6406px;&amp;quot; | 32-bit Support !! style=&amp;quot;height: 51px; width: 90.6406px;&amp;quot; | 64-bit Support !! style=&amp;quot;height: 51px; width: 467.109px;&amp;quot; | Notes&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
! style=&amp;quot;height: 28px; width: 437.406px;&amp;quot; | Linux Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Adélie Linux || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Independent || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | December 20, 2024 (1.0-BETA6) || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://git.adelielinux.org/ || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Supports G3, G4, and G5 PowerPC.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | Arch Linux || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Independent || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active (unofficial port) || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | January 1, 2025 (2025.01.01) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://gitlab.archlinux.org/archlinux || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Unofficial port.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Chimera Linux || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Independent || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Beta || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | April 20, 2025 (Rolling Release) || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://github.com/chimera-linux/ || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both (ppc, ppc64le) || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Uses musl libc and FreeBSD userland.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | CruxPPC || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | CRUX || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Inactive || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Unknown || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://cruxppc.org/ || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{cross}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | A port of the lightweight CRUX distribution to PowerPC. Status uncertain.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | Debian || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Debian || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | May 17, 2025 (Debian 12.11) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://salsa.debian.org/ || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian (powerpc), Little Endian (ppc64el) || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Development for ppc64 (big-endian) is mostly stalled.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | Fedora || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Fedora || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | April 15, 2025 (Fedora 42) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://src.fedoraproject.org/ || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian (ppc64), Little Endian (ppc64le) || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{cross}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Dropped 32-bit PowerPC support after Fedora 22.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Fienix || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Debian || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://gitlab.com/fienix || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | A derivative of Debian tailored for PowerPC.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Gentoo Linux || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Source-based || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://gitweb.gentoo.org/ || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both (ppc, ppc64) || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Requires compiling from source. ppc64 profile is bi-endian.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | MkLinux || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Microkernel (Mach) / Linux || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Inactive || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | 1998 || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://www.mklinux.org/development/cvs.html || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{cross}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Early port of Linux to PowerPC Macintosh. Development ceased.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | MintPPC || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Linux Mint/Debian || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://github.com/MintPPC || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Specifically designed for PowerPC (Old World and New World Macs).&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | openSUSE || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | SUSE || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | Rolling (Tumbleweed), Stable (Leap) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://build.opensuse.org/ || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Offers both stable and rolling releases.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | OpenPPC || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Independent || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Inactive || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | 2006 || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | (Likely archived) || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{cross}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Aimed to be a user-friendly PowerPC Linux distribution. Development ceased.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Ubuntu || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Debian || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://git.launchpad.net/ubuntu || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Check specific release notes for architecture support.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | Void Linux (PPC) || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | Independent || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Inactive || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | 2023 || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://github.com/void-ppc || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Community-led effort.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | Yellow Dog Linux || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Red Hat/Fedora || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Inactive || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | August 6, 2009 (6.2) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | (Likely archived, e.g., via WayBack Machine) || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Historically significant for PlayStation 3 and PowerPC Macs. Development ceased.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
! style=&amp;quot;height: 28px; width: 437.406px;&amp;quot; | FreeBSD Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | FreeBSD || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | BSD || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | March 11, 2025 (13.5-RELEASE) || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://cgit.freebsd.org/src/ || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Tier 2 support for 32-bit and 64-bit PowerPC. 32-bit support deprecated in 15.0.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | MidnightBSD || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | FreeBSD || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://github.com/midnightbsd || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Aims to adapt FreeBSD for desktop usage.&lt;br /&gt;
|- style=&amp;quot;height: 28px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 28px; width: 451.656px;&amp;quot; | NetBSD || style=&amp;quot;height: 28px; width: 169.078px;&amp;quot; | BSD || style=&amp;quot;height: 28px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 28px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 28px; width: 294.531px;&amp;quot; | https://github.com/netbsd/src || style=&amp;quot;height: 28px; width: 252.969px;&amp;quot; | Both || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 28px; width: 481.359px;&amp;quot; | Known for portability. MacPPC is Tier II.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | OpenBSD || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | BSD || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Active || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://github.com/openbsd/src || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Big Endian || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Focuses on security and has official support for Apple&#039;s Mac-based PowerPC hardware.&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
! style=&amp;quot;height: 51px; width: 437.406px;&amp;quot; | Other Open Source Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|- style=&amp;quot;height: 51px;&amp;quot; &lt;br /&gt;
| style=&amp;quot;height: 51px; width: 451.656px;&amp;quot; | Haiku || style=&amp;quot;height: 51px; width: 169.078px;&amp;quot; | Independent (BeOS inspired) || style=&amp;quot;height: 51px; width: 125.844px;&amp;quot; | Beta || style=&amp;quot;height: 51px; width: 211.281px;&amp;quot; | Rolling || style=&amp;quot;height: 51px; width: 294.531px;&amp;quot; | https://github.com/haiku/haiku || style=&amp;quot;height: 51px; width: 252.969px;&amp;quot; | Little Endian || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{check}} || style=&amp;quot;height: 51px; width: 104.891px;&amp;quot; | {{cross}} || style=&amp;quot;height: 51px; width: 481.359px;&amp;quot; | Has a PowerPC port, may require manual compilation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 8. Build Tooling (WIP/Placeholders) ==&lt;br /&gt;
&lt;br /&gt;
This section will document the exact steps, tools, and workflows needed to build every part of the software stack.&lt;br /&gt;
&lt;br /&gt;
=== Build Tooling Overview ===&lt;br /&gt;
&lt;br /&gt;
* Cross-toolchain setup (e.g. NXP SDK, crosstool-ng, LLVM)&lt;br /&gt;
* U-Boot build and customization&lt;br /&gt;
* Linux kernel configuration and build&lt;br /&gt;
* Root filesystem generation methods (debootstrap, Buildroot, Yocto)&lt;br /&gt;
* Build orchestration (Makefiles, shell scripts, CI runners)&lt;br /&gt;
* Packaging tools for our distro (dpkg, xbps, etc.)&lt;br /&gt;
* Secure image signing (U-Boot SPL, FIT images, secure boot)&lt;br /&gt;
* Emulator-based validation and test harnesses&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Details for each item will be populated progressively as we finalize architecture and test results.&lt;br /&gt;
&lt;br /&gt;
== 9. Other Links and Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Technical Resources ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.nxp.com/products/processors-and-microcontrollers/power-architecture/qoriq-platforms/t-series/qoriq-t2080-and-t2081-multicore-communications-processors:T2080 NXP T2080 Reference Manual]&lt;br /&gt;
* [https://source.denx.de/u-boot/u-boot Denx U-Boot Git]&lt;br /&gt;
* [https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/ Linux PowerPC Git]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC Debian PowerPC Wiki]&lt;br /&gt;
* [https://voidlinux-ppc.org/ Void PPC Project]&lt;br /&gt;
&lt;br /&gt;
=== Community and Support ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.powerprogress.org/ Power Progress Community]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC#Communication PowerPC IRC/Matrix]&lt;br /&gt;
* [https://openpowerfoundation.org/ OpenPOWER Foundation]&lt;/div&gt;</summary>
		<author><name>Hiiripollo</name></author>
	</entry>
	<entry>
		<id>http://wiki.powerpc-notebook.org/index.php?title=Template:Cross&amp;diff=15</id>
		<title>Template:Cross</title>
		<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/index.php?title=Template:Cross&amp;diff=15"/>
		<updated>2025-05-19T16:53:49Z</updated>

		<summary type="html">&lt;p&gt;Hiiripollo: Created page with &amp;quot;&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;amp;#10060;&amp;lt;/span&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;amp;#10060;&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hiiripollo</name></author>
	</entry>
	<entry>
		<id>http://wiki.powerpc-notebook.org/index.php?title=Template:Check&amp;diff=14</id>
		<title>Template:Check</title>
		<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/index.php?title=Template:Check&amp;diff=14"/>
		<updated>2025-05-19T16:53:29Z</updated>

		<summary type="html">&lt;p&gt;Hiiripollo: Created page with &amp;quot;&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;&amp;amp;#9989;&amp;lt;/span&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;&amp;amp;#9989;&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hiiripollo</name></author>
	</entry>
	<entry>
		<id>http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=13</id>
		<title>Current Software Specifications</title>
		<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=13"/>
		<updated>2025-05-19T16:47:36Z</updated>

		<summary type="html">&lt;p&gt;Hiiripollo: /* Related Projects to Watch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Stack: From First Boot to Full Distribution =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: This is an initial draft of the software roadmap for the PowerPC Notebook project. At this stage, this is more of brain dump, rather than a polished roadmap. Contributions and comments are welcome.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target architecture: PPC64 Big Endian.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The software stack for the PowerPC Notebook is a critical enabler for the hardware. Our challenge is to bring up a modern, open-source Linux system on non-mainstream architecture (PowerPC), using a custom motherboard based on the NXP T2080 (?) SoC. That means:&lt;br /&gt;
&lt;br /&gt;
* Bootstrapping software from scratch, with limited upstream support&lt;br /&gt;
* Building and testing a minimal Linux system to prove hardware works&lt;br /&gt;
* Gradually evolving toward a user-friendly, maintainable Linux distribution&lt;br /&gt;
We outline a &#039;&#039;&#039;progressive roadmap&#039;&#039;&#039;: from booting the board to building our own distro, using modern infrastructure and tools wherever possible.&lt;br /&gt;
&lt;br /&gt;
== 1. Basic Plan: Booting the First Prototype ==&lt;br /&gt;
&lt;br /&gt;
The first goal is to ensure our hardware can boot into a minimal Linux environment.&lt;br /&gt;
&lt;br /&gt;
=== What Needs to Be Done ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Description&lt;br /&gt;
|- &lt;br /&gt;
| Set up cross toolchain || Use NXP’s PowerPC GCC SDK for T2080&lt;br /&gt;
|- &lt;br /&gt;
| Build U-Boot || Start from &amp;lt;code&amp;gt;T2080RDB_defconfig&amp;lt;/code&amp;gt;, customize for our board&lt;br /&gt;
|- &lt;br /&gt;
| Write Device Tree (DTS) || Tailor the .dts to our motherboard’s peripherals&lt;br /&gt;
|- &lt;br /&gt;
| Build kernel || Use NXP&#039;s patched or mainline kernel with minimal config&lt;br /&gt;
|- &lt;br /&gt;
| Load root filesystem || Use Initramfs, NFS, SD card or TFTP&lt;br /&gt;
|- &lt;br /&gt;
| Test via serial console || Use UART for logs and early debugging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Why ===&lt;br /&gt;
&lt;br /&gt;
* Validates CPU, memory, and power circuitry&lt;br /&gt;
* Enables testing and debugging of other peripherals&lt;br /&gt;
* Serves as foundation for OS bring-up and userland development&lt;br /&gt;
&lt;br /&gt;
== 2. Essentials: Proving the Prototype Works ==&lt;br /&gt;
&lt;br /&gt;
Once we can boot, we need a minimal userland to interact with the system.&lt;br /&gt;
&lt;br /&gt;
=== Components Required ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Functionality&lt;br /&gt;
|- &lt;br /&gt;
| U-Boot || Initialize CPU, memory, load kernel&lt;br /&gt;
|- &lt;br /&gt;
| Linux kernel || Hardware detection and device drivers&lt;br /&gt;
|- &lt;br /&gt;
| Root filesystem || BusyBox or minimal Debian NFS root&lt;br /&gt;
|- &lt;br /&gt;
| Serial console || Primary I/O for early interaction&lt;br /&gt;
|- &lt;br /&gt;
| Storage access || SD, SATA, or USB (at least one working path)&lt;br /&gt;
|- &lt;br /&gt;
| Device tree blob || Custom for motherboard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Goal ===&lt;br /&gt;
&lt;br /&gt;
* Boot into a shell prompt&lt;br /&gt;
* Validate basic system resources (&amp;lt;code&amp;gt;/proc/cpuinfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Confirm networking, storage, and peripheral availability&lt;br /&gt;
&lt;br /&gt;
== 3. Nice-to-Haves: Editors, Tools, and Utilities ==&lt;br /&gt;
&lt;br /&gt;
Once the system is up, we add tools to support development, testing, and usability.&lt;br /&gt;
&lt;br /&gt;
=== Suggested Additions ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Category !! Tools&lt;br /&gt;
|- &lt;br /&gt;
| Editors || nano, vim&lt;br /&gt;
|- &lt;br /&gt;
| Networking || curl, wget, ping, ssh&lt;br /&gt;
|- &lt;br /&gt;
| Debugging || gdb, strace, perf, valgrind&lt;br /&gt;
|- &lt;br /&gt;
| System info || htop, lshw, i2c-tools, lsusb&lt;br /&gt;
|- &lt;br /&gt;
| Disk tools || fdisk, parted, e2fsprogs, btrfs-progs&lt;br /&gt;
|- &lt;br /&gt;
| Package management || apt, dpkg, or apk (depending on base)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. Distro: Building Our Own PowerPC Linux Distribution ==&lt;br /&gt;
&lt;br /&gt;
Eventually, we want a user-facing Linux distribution specifically optimized for the PowerPC Notebook.&lt;br /&gt;
&lt;br /&gt;
=== Building Blocks ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Details&lt;br /&gt;
|- &lt;br /&gt;
| Base System || Debian PPC64, Gentoo, or Void PPC&lt;br /&gt;
|- &lt;br /&gt;
| Kernel || Custom-built with PowerPC Notebook config&lt;br /&gt;
|- &lt;br /&gt;
| Init system || systemd or OpenRC&lt;br /&gt;
|- &lt;br /&gt;
| Package management || apt (Debian), emerge (Gentoo), xbps (Void)&lt;br /&gt;
|- &lt;br /&gt;
| Desktop environment || XFCE, MATE, GNOME (PPC64 builds)&lt;br /&gt;
|- &lt;br /&gt;
| Installer || CLI or graphical installer image&lt;br /&gt;
|- &lt;br /&gt;
| Update system || apt repos or rsync-based delta updates&lt;br /&gt;
|- &lt;br /&gt;
| Branding || Custom themes, logos, powerpcnotebook.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Distro Build Systems to Consider ===&lt;br /&gt;
&lt;br /&gt;
* debootstrap / live-build (Debian-based builds)&lt;br /&gt;
* Buildroot (for minimal rootfs + kernel images)&lt;br /&gt;
* Yocto Project (flexible meta-distribution)&lt;br /&gt;
* Gentoo Catalyst (for full ISO or stage builds)&lt;br /&gt;
&lt;br /&gt;
== 5. CI/CD Pipelines and Build Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
To ensure maintainability, reproducibility, and collaboration, we aim to adopt continuous integration and modern DevOps practices.&lt;br /&gt;
&lt;br /&gt;
=== CI/CD Goals ===&lt;br /&gt;
&lt;br /&gt;
* Automatically build U-Boot, kernel, and rootfs images&lt;br /&gt;
* Run tests on emulated environments (QEMU PPC64)&lt;br /&gt;
* Deploy daily/weekly builds for community testing&lt;br /&gt;
* Detect regressions early and validate commits&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Use Case !! Toolchain&lt;br /&gt;
|- &lt;br /&gt;
| CI/CD pipelines || GitHub Actions, GitLab CI, Buildbot&lt;br /&gt;
|- &lt;br /&gt;
| Emulated testing || QEMU PowerPC64 + expect/serial scripts&lt;br /&gt;
|- &lt;br /&gt;
| Cross-builds || Docker + &amp;lt;code&amp;gt;powerpc64-linux-gnu-gcc&amp;lt;/code&amp;gt; toolchains&lt;br /&gt;
|- &lt;br /&gt;
| Image hosting || GitHub Pages, Netlify, custom CDN&lt;br /&gt;
|- &lt;br /&gt;
| Build orchestration || cbuild, Yocto Autobuilder, Jenkins&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example CI Flow ===&lt;br /&gt;
&lt;br /&gt;
# Push to &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; branch&lt;br /&gt;
# GitHub Actions builds U-Boot, kernel, and rootfs&lt;br /&gt;
# QEMU boots the image and verifies UART output&lt;br /&gt;
# Artifacts are uploaded to &amp;lt;code&amp;gt;artifacts.powerpcnotebook.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. Docker Images for Build and Dev Environments ==&lt;br /&gt;
&lt;br /&gt;
Pre-configured Docker images help developers build and test quickly across any host system.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases ===&lt;br /&gt;
&lt;br /&gt;
* Build U-Boot or Linux kernel from any host&lt;br /&gt;
* Package testing in isolated environments&lt;br /&gt;
* Running PPC-specific tools in reproducible containers&lt;br /&gt;
&lt;br /&gt;
=== Example Images ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Image Name !! Description&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-dev-env || Full dev env with toolchain and make&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-kernel-builder || Kernel-specific builder and configs&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-debian-chroot || Debootstrap PPC64 rootfs for package test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 7. Inspirations from Debian and Other Projects ==&lt;br /&gt;
&lt;br /&gt;
We aim to reuse and adapt ideas from existing projects to accelerate development.&lt;br /&gt;
&lt;br /&gt;
=== Relevant Debian Practices ===&lt;br /&gt;
&lt;br /&gt;
* Reproducible Builds&lt;br /&gt;
* Debian Ports infrastructure&lt;br /&gt;
* &amp;lt;code&amp;gt;live-build&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
* Debian Installer (&amp;lt;code&amp;gt;d-i&amp;lt;/code&amp;gt;)&lt;br /&gt;
* QA tools: lintian, piuparts, autopkgtest&lt;br /&gt;
&lt;br /&gt;
=== Related Projects to Watch ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Open Source Distributions Supporting PowerPC (Including Less Mainstream Projects)&lt;br /&gt;
|-&lt;br /&gt;
! Distribution Name !! Based On !! Active Status !! Last Release !! Source Code Repository !! Endian Support !! 32-bit Support !! 64-bit Support !! Notes&lt;br /&gt;
|-&lt;br /&gt;
! Linux Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|-&lt;br /&gt;
| Adélie Linux || Independent || Active || December 20, 2024 (1.0-BETA6) || https://git.adelielinux.org/ || Big Endian || {{check}} || {{check}} || Supports G3, G4, and G5 PowerPC.&lt;br /&gt;
|-&lt;br /&gt;
| Arch Linux || Independent || Active (unofficial port) || January 1, 2025 (2025.01.01) || https://gitlab.archlinux.org/archlinux || Big Endian || {{check}} || {{check}} || Unofficial port.&lt;br /&gt;
|-&lt;br /&gt;
| Chimera Linux || Independent || Beta || April 20, 2025 (Rolling Release) || https://github.com/chimera-linux/ || Both (ppc, ppc64le) || {{check}} || {{check}} || Uses musl libc and FreeBSD userland.&lt;br /&gt;
|-&lt;br /&gt;
| CruxPPC || CRUX || Inactive || Unknown || (Likely archived) || Big Endian || {{check}} || {{cross}} || A port of the lightweight CRUX distribution to PowerPC. Status uncertain.&lt;br /&gt;
|-&lt;br /&gt;
| Debian || Debian || Active || May 17, 2025 (Debian 12.11) || https://salsa.debian.org/ || Big Endian (powerpc), Little Endian (ppc64el) || {{check}} || {{check}} || Development for ppc64 (big-endian) is mostly stalled.&lt;br /&gt;
|-&lt;br /&gt;
| Fedora || Fedora || Active || April 15, 2025 (Fedora 42) || https://src.fedoraproject.org/ || Big Endian (ppc64), Little Endian (ppc64le) || {{cross}} || {{check}} || Dropped 32-bit PowerPC support after Fedora 22.&lt;br /&gt;
|-&lt;br /&gt;
| Fienix || Debian || Active || Rolling || https://gitlab.com/fienix || Both || {{check}} || {{check}} || A derivative of Debian tailored for PowerPC.&lt;br /&gt;
|-&lt;br /&gt;
| Gentoo Linux || Source-based || Active || Rolling || https://gitweb.gentoo.org/ || Both (ppc, ppc64) || {{check}} || {{check}} || Requires compiling from source. ppc64 profile is bi-endian.&lt;br /&gt;
|-&lt;br /&gt;
| MkLinux || Microkernel (Mach) / Linux || Inactive || 1998 || (Likely archived) || Big Endian || {{check}} || {{cross}} || Early port of Linux to PowerPC Macintosh. Development ceased.&lt;br /&gt;
|-&lt;br /&gt;
| MintPPC || Linux Mint/Debian || Active || Rolling || https://github.com/MintPPC || Both || {{check}} || {{check}} || Specifically designed for PowerPC (Old World and New World Macs).&lt;br /&gt;
|-&lt;br /&gt;
| openSUSE || SUSE || Active || Rolling (Tumbleweed), Stable (Leap) || https://build.opensuse.org/ || Both || {{check}} || {{check}} || Offers both stable and rolling releases.&lt;br /&gt;
|-&lt;br /&gt;
| OpenPPC || Independent || Inactive || 2006 || (Likely archived) || Big Endian || {{check}} || {{cross}} || Aimed to be a user-friendly PowerPC Linux distribution. Development ceased.&lt;br /&gt;
|-&lt;br /&gt;
| Ubuntu || Debian || Active || Rolling || https://git.launchpad.net/ubuntu || Both || {{check}} || {{check}} || Check specific release notes for architecture support.&lt;br /&gt;
|-&lt;br /&gt;
| Void Linux || Independent || Active (unofficial port) || Rolling || https://github.com/void-linux/void-packages || Both || {{check}} || {{check}} || Community-led effort.&lt;br /&gt;
|-&lt;br /&gt;
| Yellow Dog Linux || Red Hat/Fedora || Inactive || August 6, 2009 (6.2) || (Likely archived, e.g., via WayBack Machine) || Both || {{check}} || {{check}} || Historically significant for PlayStation 3 and PowerPC Macs. Development ceased.&lt;br /&gt;
|-&lt;br /&gt;
! FreeBSD Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|-&lt;br /&gt;
| FreeBSD || BSD || Active || March 11, 2025 (13.5-RELEASE) || https://cgit.freebsd.org/src/ || Both || {{check}} || {{check}} || Tier 2 support for 32-bit and 64-bit PowerPC. 32-bit support deprecated in 15.0.&lt;br /&gt;
|-&lt;br /&gt;
| MidnightBSD || FreeBSD || Active || Rolling || https://github.com/midnightbsd || Both || {{check}} || {{check}} || Aims to adapt FreeBSD for desktop usage.&lt;br /&gt;
|-&lt;br /&gt;
| NetBSD || BSD || Active || Rolling || https://github.com/netbsd/src || Both || {{check}} || {{check}} || Known for portability. MacPPC is Tier II.&lt;br /&gt;
|-&lt;br /&gt;
| OpenBSD || BSD || Active || Rolling || https://github.com/openbsd/src || Big Endian || {{check}} || {{check}} || Focuses on security and has official support for Apple&#039;s Mac-based PowerPC hardware.&lt;br /&gt;
|-&lt;br /&gt;
! Other Open Source Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|-&lt;br /&gt;
| Haiku || Independent (BeOS inspired) || Beta || Rolling || https://github.com/haiku/haiku || Little Endian || {{check}} || {{cross}} || Has a PowerPC port, may require manual compilation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 8. Build Tooling (WIP/Placeholders) ==&lt;br /&gt;
&lt;br /&gt;
This section will document the exact steps, tools, and workflows needed to build every part of the software stack.&lt;br /&gt;
&lt;br /&gt;
=== Build Tooling Overview ===&lt;br /&gt;
&lt;br /&gt;
* Cross-toolchain setup (e.g. NXP SDK, crosstool-ng, LLVM)&lt;br /&gt;
* U-Boot build and customization&lt;br /&gt;
* Linux kernel configuration and build&lt;br /&gt;
* Root filesystem generation methods (debootstrap, Buildroot, Yocto)&lt;br /&gt;
* Build orchestration (Makefiles, shell scripts, CI runners)&lt;br /&gt;
* Packaging tools for our distro (dpkg, xbps, etc.)&lt;br /&gt;
* Secure image signing (U-Boot SPL, FIT images, secure boot)&lt;br /&gt;
* Emulator-based validation and test harnesses&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Details for each item will be populated progressively as we finalize architecture and test results.&lt;br /&gt;
&lt;br /&gt;
== 9. Other Links and Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Technical Resources ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.nxp.com/products/processors-and-microcontrollers/power-architecture/qoriq-platforms/t-series/qoriq-t2080-and-t2081-multicore-communications-processors:T2080 NXP T2080 Reference Manual]&lt;br /&gt;
* [https://source.denx.de/u-boot/u-boot Denx U-Boot Git]&lt;br /&gt;
* [https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/ Linux PowerPC Git]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC Debian PowerPC Wiki]&lt;br /&gt;
* [https://voidlinux-ppc.org/ Void PPC Project]&lt;br /&gt;
&lt;br /&gt;
=== Community and Support ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.powerprogress.org/ Power Progress Community]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC#Communication PowerPC IRC/Matrix]&lt;br /&gt;
* [https://openpowerfoundation.org/ OpenPOWER Foundation]&lt;/div&gt;</summary>
		<author><name>Hiiripollo</name></author>
	</entry>
	<entry>
		<id>http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=12</id>
		<title>Current Software Specifications</title>
		<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=12"/>
		<updated>2025-05-19T16:40:43Z</updated>

		<summary type="html">&lt;p&gt;Hiiripollo: /* Related Projects to Watch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Stack: From First Boot to Full Distribution =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: This is an initial draft of the software roadmap for the PowerPC Notebook project. At this stage, this is more of brain dump, rather than a polished roadmap. Contributions and comments are welcome.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target architecture: PPC64 Big Endian.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The software stack for the PowerPC Notebook is a critical enabler for the hardware. Our challenge is to bring up a modern, open-source Linux system on non-mainstream architecture (PowerPC), using a custom motherboard based on the NXP T2080 (?) SoC. That means:&lt;br /&gt;
&lt;br /&gt;
* Bootstrapping software from scratch, with limited upstream support&lt;br /&gt;
* Building and testing a minimal Linux system to prove hardware works&lt;br /&gt;
* Gradually evolving toward a user-friendly, maintainable Linux distribution&lt;br /&gt;
We outline a &#039;&#039;&#039;progressive roadmap&#039;&#039;&#039;: from booting the board to building our own distro, using modern infrastructure and tools wherever possible.&lt;br /&gt;
&lt;br /&gt;
== 1. Basic Plan: Booting the First Prototype ==&lt;br /&gt;
&lt;br /&gt;
The first goal is to ensure our hardware can boot into a minimal Linux environment.&lt;br /&gt;
&lt;br /&gt;
=== What Needs to Be Done ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Description&lt;br /&gt;
|- &lt;br /&gt;
| Set up cross toolchain || Use NXP’s PowerPC GCC SDK for T2080&lt;br /&gt;
|- &lt;br /&gt;
| Build U-Boot || Start from &amp;lt;code&amp;gt;T2080RDB_defconfig&amp;lt;/code&amp;gt;, customize for our board&lt;br /&gt;
|- &lt;br /&gt;
| Write Device Tree (DTS) || Tailor the .dts to our motherboard’s peripherals&lt;br /&gt;
|- &lt;br /&gt;
| Build kernel || Use NXP&#039;s patched or mainline kernel with minimal config&lt;br /&gt;
|- &lt;br /&gt;
| Load root filesystem || Use Initramfs, NFS, SD card or TFTP&lt;br /&gt;
|- &lt;br /&gt;
| Test via serial console || Use UART for logs and early debugging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Why ===&lt;br /&gt;
&lt;br /&gt;
* Validates CPU, memory, and power circuitry&lt;br /&gt;
* Enables testing and debugging of other peripherals&lt;br /&gt;
* Serves as foundation for OS bring-up and userland development&lt;br /&gt;
&lt;br /&gt;
== 2. Essentials: Proving the Prototype Works ==&lt;br /&gt;
&lt;br /&gt;
Once we can boot, we need a minimal userland to interact with the system.&lt;br /&gt;
&lt;br /&gt;
=== Components Required ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Functionality&lt;br /&gt;
|- &lt;br /&gt;
| U-Boot || Initialize CPU, memory, load kernel&lt;br /&gt;
|- &lt;br /&gt;
| Linux kernel || Hardware detection and device drivers&lt;br /&gt;
|- &lt;br /&gt;
| Root filesystem || BusyBox or minimal Debian NFS root&lt;br /&gt;
|- &lt;br /&gt;
| Serial console || Primary I/O for early interaction&lt;br /&gt;
|- &lt;br /&gt;
| Storage access || SD, SATA, or USB (at least one working path)&lt;br /&gt;
|- &lt;br /&gt;
| Device tree blob || Custom for motherboard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Goal ===&lt;br /&gt;
&lt;br /&gt;
* Boot into a shell prompt&lt;br /&gt;
* Validate basic system resources (&amp;lt;code&amp;gt;/proc/cpuinfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Confirm networking, storage, and peripheral availability&lt;br /&gt;
&lt;br /&gt;
== 3. Nice-to-Haves: Editors, Tools, and Utilities ==&lt;br /&gt;
&lt;br /&gt;
Once the system is up, we add tools to support development, testing, and usability.&lt;br /&gt;
&lt;br /&gt;
=== Suggested Additions ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Category !! Tools&lt;br /&gt;
|- &lt;br /&gt;
| Editors || nano, vim&lt;br /&gt;
|- &lt;br /&gt;
| Networking || curl, wget, ping, ssh&lt;br /&gt;
|- &lt;br /&gt;
| Debugging || gdb, strace, perf, valgrind&lt;br /&gt;
|- &lt;br /&gt;
| System info || htop, lshw, i2c-tools, lsusb&lt;br /&gt;
|- &lt;br /&gt;
| Disk tools || fdisk, parted, e2fsprogs, btrfs-progs&lt;br /&gt;
|- &lt;br /&gt;
| Package management || apt, dpkg, or apk (depending on base)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. Distro: Building Our Own PowerPC Linux Distribution ==&lt;br /&gt;
&lt;br /&gt;
Eventually, we want a user-facing Linux distribution specifically optimized for the PowerPC Notebook.&lt;br /&gt;
&lt;br /&gt;
=== Building Blocks ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Details&lt;br /&gt;
|- &lt;br /&gt;
| Base System || Debian PPC64, Gentoo, or Void PPC&lt;br /&gt;
|- &lt;br /&gt;
| Kernel || Custom-built with PowerPC Notebook config&lt;br /&gt;
|- &lt;br /&gt;
| Init system || systemd or OpenRC&lt;br /&gt;
|- &lt;br /&gt;
| Package management || apt (Debian), emerge (Gentoo), xbps (Void)&lt;br /&gt;
|- &lt;br /&gt;
| Desktop environment || XFCE, MATE, GNOME (PPC64 builds)&lt;br /&gt;
|- &lt;br /&gt;
| Installer || CLI or graphical installer image&lt;br /&gt;
|- &lt;br /&gt;
| Update system || apt repos or rsync-based delta updates&lt;br /&gt;
|- &lt;br /&gt;
| Branding || Custom themes, logos, powerpcnotebook.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Distro Build Systems to Consider ===&lt;br /&gt;
&lt;br /&gt;
* debootstrap / live-build (Debian-based builds)&lt;br /&gt;
* Buildroot (for minimal rootfs + kernel images)&lt;br /&gt;
* Yocto Project (flexible meta-distribution)&lt;br /&gt;
* Gentoo Catalyst (for full ISO or stage builds)&lt;br /&gt;
&lt;br /&gt;
== 5. CI/CD Pipelines and Build Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
To ensure maintainability, reproducibility, and collaboration, we aim to adopt continuous integration and modern DevOps practices.&lt;br /&gt;
&lt;br /&gt;
=== CI/CD Goals ===&lt;br /&gt;
&lt;br /&gt;
* Automatically build U-Boot, kernel, and rootfs images&lt;br /&gt;
* Run tests on emulated environments (QEMU PPC64)&lt;br /&gt;
* Deploy daily/weekly builds for community testing&lt;br /&gt;
* Detect regressions early and validate commits&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Use Case !! Toolchain&lt;br /&gt;
|- &lt;br /&gt;
| CI/CD pipelines || GitHub Actions, GitLab CI, Buildbot&lt;br /&gt;
|- &lt;br /&gt;
| Emulated testing || QEMU PowerPC64 + expect/serial scripts&lt;br /&gt;
|- &lt;br /&gt;
| Cross-builds || Docker + &amp;lt;code&amp;gt;powerpc64-linux-gnu-gcc&amp;lt;/code&amp;gt; toolchains&lt;br /&gt;
|- &lt;br /&gt;
| Image hosting || GitHub Pages, Netlify, custom CDN&lt;br /&gt;
|- &lt;br /&gt;
| Build orchestration || cbuild, Yocto Autobuilder, Jenkins&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example CI Flow ===&lt;br /&gt;
&lt;br /&gt;
# Push to &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; branch&lt;br /&gt;
# GitHub Actions builds U-Boot, kernel, and rootfs&lt;br /&gt;
# QEMU boots the image and verifies UART output&lt;br /&gt;
# Artifacts are uploaded to &amp;lt;code&amp;gt;artifacts.powerpcnotebook.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. Docker Images for Build and Dev Environments ==&lt;br /&gt;
&lt;br /&gt;
Pre-configured Docker images help developers build and test quickly across any host system.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases ===&lt;br /&gt;
&lt;br /&gt;
* Build U-Boot or Linux kernel from any host&lt;br /&gt;
* Package testing in isolated environments&lt;br /&gt;
* Running PPC-specific tools in reproducible containers&lt;br /&gt;
&lt;br /&gt;
=== Example Images ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Image Name !! Description&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-dev-env || Full dev env with toolchain and make&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-kernel-builder || Kernel-specific builder and configs&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-debian-chroot || Debootstrap PPC64 rootfs for package test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 7. Inspirations from Debian and Other Projects ==&lt;br /&gt;
&lt;br /&gt;
We aim to reuse and adapt ideas from existing projects to accelerate development.&lt;br /&gt;
&lt;br /&gt;
=== Relevant Debian Practices ===&lt;br /&gt;
&lt;br /&gt;
* Reproducible Builds&lt;br /&gt;
* Debian Ports infrastructure&lt;br /&gt;
* &amp;lt;code&amp;gt;live-build&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
* Debian Installer (&amp;lt;code&amp;gt;d-i&amp;lt;/code&amp;gt;)&lt;br /&gt;
* QA tools: lintian, piuparts, autopkgtest&lt;br /&gt;
&lt;br /&gt;
=== Related Projects to Watch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Open Source Distributions Supporting PowerPC&lt;br /&gt;
|-&lt;br /&gt;
! Distribution Name !! Based On !! Active Status !! Last Release !! Source Code Repository !! Endian Support !! Notes&lt;br /&gt;
|-&lt;br /&gt;
! Linux Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|-&lt;br /&gt;
| Debian || Debian || Active || May 17, 2025 (Debian 12.11) || https://salsa.debian.org/ || Big Endian (powerpc), Little Endian (ppc64el) || Mainstream, but including for completeness. Development for ppc64 (big-endian) is mostly stalled.&lt;br /&gt;
|-&lt;br /&gt;
| Fedora || Fedora || Active || April 15, 2025 (Fedora 42) || https://src.fedoraproject.org/ || Big Endian (ppc64), Little Endian (ppc64le) || Mainstream, but including for completeness. Dropped 32-bit PowerPC support after Fedora 22.&lt;br /&gt;
|-&lt;br /&gt;
| Gentoo Linux || Source-based || Active || Rolling || https://gitweb.gentoo.org/ || Both (ppc, ppc64) || Mainstream, but including for completeness. Requires compiling from source. ppc64 profile is bi-endian.&lt;br /&gt;
|-&lt;br /&gt;
| openSUSE || SUSE || Active || Rolling (Tumbleweed), Stable (Leap) || https://build.opensuse.org/ || Both || Mainstream, but including for completeness. Offers both stable and rolling releases.&lt;br /&gt;
|-&lt;br /&gt;
| Ubuntu || Debian || Active || Rolling || https://git.launchpad.net/ubuntu || Both || Mainstream, but including for completeness. Check specific release notes for architecture support.&lt;br /&gt;
|-&lt;br /&gt;
| Void Linux || Independent || Active (unofficial port) || Rolling || https://github.com/void-linux/void-packages || Both || Mainstream, but including for completeness. Community-led effort.&lt;br /&gt;
|-&lt;br /&gt;
| MintPPC || Linux Mint/Debian || Active || Rolling || https://github.com/MintPPC || Both || Mainstream, but including for completeness. Specifically designed for PowerPC (Old World and New World Macs).&lt;br /&gt;
|-&lt;br /&gt;
| Adélie Linux || Independent || Active || December 20, 2024 (1.0-BETA6) || https://git.adelielinux.org/ || Big Endian || Mainstream, but including for completeness. Supports G3, G4, and G5 PowerPC.&lt;br /&gt;
|-&lt;br /&gt;
| Fienix || Debian || Active || Rolling || https://gitlab.com/fienix || Both || Mainstream, but including for completeness. A derivative of Debian tailored for PowerPC.&lt;br /&gt;
|-&lt;br /&gt;
| Arch Linux || Independent || Active (unofficial port) || January 1, 2025 (2025.01.01) || https://gitlab.archlinux.org/archlinux || Big Endian || Mainstream, but including for completeness. Unofficial port.&lt;br /&gt;
|-&lt;br /&gt;
| Chimera Linux || Independent || Beta || April 20, 2025 (Rolling Release) || https://github.com/chimera-linux/ || Both (ppc, ppc64le) || Less mainstream, but active. Uses musl libc and FreeBSD userland.&lt;br /&gt;
|-&lt;br /&gt;
| **Yellow Dog Linux** || Red Hat/Fedora || Inactive || August 6, 2009 (6.2) || (Likely archived, e.g., via WayBack Machine) || Both || Historically significant for PlayStation 3 and PowerPC Macs. Development ceased.&lt;br /&gt;
|-&lt;br /&gt;
| **MkLinux** || Microkernel (Mach) / Linux || Inactive || 1998 || (Likely archived) || Big Endian || Early port of Linux to PowerPC Macintosh. Development ceased.&lt;br /&gt;
|-&lt;br /&gt;
| **OpenPPC** || Independent || Inactive || 2006 || (Likely archived) || Big Endian || Aimed to be a user-friendly PowerPC Linux distribution. Development ceased.&lt;br /&gt;
|-&lt;br /&gt;
| **CruxPPC** || CRUX || Inactive || Unknown || (Likely archived) || Big Endian || A port of the lightweight CRUX distribution to PowerPC. Status uncertain.&lt;br /&gt;
|-&lt;br /&gt;
! FreeBSD Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|-&lt;br /&gt;
| FreeBSD || BSD || Active || March 11, 2025 (13.5-RELEASE) || https://cgit.freebsd.org/src/ || Both || Mainstream, but including for completeness. Tier 2 support for 32-bit and 64-bit PowerPC. 32-bit support deprecated.&lt;br /&gt;
|-&lt;br /&gt;
| MidnightBSD || FreeBSD || Active || Rolling || https://github.com/midnightbsd || Both || Mainstream, but including for completeness. Aims to adapt FreeBSD for desktop usage.&lt;br /&gt;
|-&lt;br /&gt;
| NetBSD || BSD || Active || Rolling || https://github.com/netbsd/src || Both || Mainstream, but including for completeness. Known for portability. MacPPC is Tier II.&lt;br /&gt;
|-&lt;br /&gt;
| OpenBSD || BSD || Active || Rolling || https://github.com/openbsd/src || Big Endian || Mainstream, but including for completeness. Focuses on security and has official support for PowerPC, particularly Apple&#039;s Mac-based PowerPC hardware.&lt;br /&gt;
|-&lt;br /&gt;
! Other Open Source Distributions (Including Less Mainstream/Historical)&lt;br /&gt;
|-&lt;br /&gt;
| Haiku || Independent (BeOS inspired) || Beta || Rolling || https://github.com/haiku/haiku || Little Endian || Mainstream, but including for completeness. Has a PowerPC port, may require manual compilation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 8. Build Tooling (WIP/Placeholders) ==&lt;br /&gt;
&lt;br /&gt;
This section will document the exact steps, tools, and workflows needed to build every part of the software stack.&lt;br /&gt;
&lt;br /&gt;
=== Build Tooling Overview ===&lt;br /&gt;
&lt;br /&gt;
* Cross-toolchain setup (e.g. NXP SDK, crosstool-ng, LLVM)&lt;br /&gt;
* U-Boot build and customization&lt;br /&gt;
* Linux kernel configuration and build&lt;br /&gt;
* Root filesystem generation methods (debootstrap, Buildroot, Yocto)&lt;br /&gt;
* Build orchestration (Makefiles, shell scripts, CI runners)&lt;br /&gt;
* Packaging tools for our distro (dpkg, xbps, etc.)&lt;br /&gt;
* Secure image signing (U-Boot SPL, FIT images, secure boot)&lt;br /&gt;
* Emulator-based validation and test harnesses&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Details for each item will be populated progressively as we finalize architecture and test results.&lt;br /&gt;
&lt;br /&gt;
== 9. Other Links and Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Technical Resources ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.nxp.com/products/processors-and-microcontrollers/power-architecture/qoriq-platforms/t-series/qoriq-t2080-and-t2081-multicore-communications-processors:T2080 NXP T2080 Reference Manual]&lt;br /&gt;
* [https://source.denx.de/u-boot/u-boot Denx U-Boot Git]&lt;br /&gt;
* [https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/ Linux PowerPC Git]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC Debian PowerPC Wiki]&lt;br /&gt;
* [https://voidlinux-ppc.org/ Void PPC Project]&lt;br /&gt;
&lt;br /&gt;
=== Community and Support ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.powerprogress.org/ Power Progress Community]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC#Communication PowerPC IRC/Matrix]&lt;br /&gt;
* [https://openpowerfoundation.org/ OpenPOWER Foundation]&lt;/div&gt;</summary>
		<author><name>Hiiripollo</name></author>
	</entry>
	<entry>
		<id>http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=11</id>
		<title>Current Software Specifications</title>
		<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=11"/>
		<updated>2025-05-13T19:47:57Z</updated>

		<summary type="html">&lt;p&gt;Hiiripollo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Stack: From First Boot to Full Distribution =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: This is an initial draft of the software roadmap for the PowerPC Notebook project. At this stage, this is more of brain dump, rather than a polished roadmap. Contributions and comments are welcome.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target architecture: PPC64 Big Endian.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The software stack for the PowerPC Notebook is a critical enabler for the hardware. Our challenge is to bring up a modern, open-source Linux system on non-mainstream architecture (PowerPC), using a custom motherboard based on the NXP T2080 (?) SoC. That means:&lt;br /&gt;
&lt;br /&gt;
* Bootstrapping software from scratch, with limited upstream support&lt;br /&gt;
* Building and testing a minimal Linux system to prove hardware works&lt;br /&gt;
* Gradually evolving toward a user-friendly, maintainable Linux distribution&lt;br /&gt;
We outline a &#039;&#039;&#039;progressive roadmap&#039;&#039;&#039;: from booting the board to building our own distro, using modern infrastructure and tools wherever possible.&lt;br /&gt;
&lt;br /&gt;
== 1. Basic Plan: Booting the First Prototype ==&lt;br /&gt;
&lt;br /&gt;
The first goal is to ensure our hardware can boot into a minimal Linux environment.&lt;br /&gt;
&lt;br /&gt;
=== What Needs to Be Done ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Description&lt;br /&gt;
|- &lt;br /&gt;
| Set up cross toolchain || Use NXP’s PowerPC GCC SDK for T2080&lt;br /&gt;
|- &lt;br /&gt;
| Build U-Boot || Start from &amp;lt;code&amp;gt;T2080RDB_defconfig&amp;lt;/code&amp;gt;, customize for our board&lt;br /&gt;
|- &lt;br /&gt;
| Write Device Tree (DTS) || Tailor the .dts to our motherboard’s peripherals&lt;br /&gt;
|- &lt;br /&gt;
| Build kernel || Use NXP&#039;s patched or mainline kernel with minimal config&lt;br /&gt;
|- &lt;br /&gt;
| Load root filesystem || Use Initramfs, NFS, SD card or TFTP&lt;br /&gt;
|- &lt;br /&gt;
| Test via serial console || Use UART for logs and early debugging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Why ===&lt;br /&gt;
&lt;br /&gt;
* Validates CPU, memory, and power circuitry&lt;br /&gt;
* Enables testing and debugging of other peripherals&lt;br /&gt;
* Serves as foundation for OS bring-up and userland development&lt;br /&gt;
&lt;br /&gt;
== 2. Essentials: Proving the Prototype Works ==&lt;br /&gt;
&lt;br /&gt;
Once we can boot, we need a minimal userland to interact with the system.&lt;br /&gt;
&lt;br /&gt;
=== Components Required ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Functionality&lt;br /&gt;
|- &lt;br /&gt;
| U-Boot || Initialize CPU, memory, load kernel&lt;br /&gt;
|- &lt;br /&gt;
| Linux kernel || Hardware detection and device drivers&lt;br /&gt;
|- &lt;br /&gt;
| Root filesystem || BusyBox or minimal Debian NFS root&lt;br /&gt;
|- &lt;br /&gt;
| Serial console || Primary I/O for early interaction&lt;br /&gt;
|- &lt;br /&gt;
| Storage access || SD, SATA, or USB (at least one working path)&lt;br /&gt;
|- &lt;br /&gt;
| Device tree blob || Custom for motherboard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Goal ===&lt;br /&gt;
&lt;br /&gt;
* Boot into a shell prompt&lt;br /&gt;
* Validate basic system resources (&amp;lt;code&amp;gt;/proc/cpuinfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Confirm networking, storage, and peripheral availability&lt;br /&gt;
&lt;br /&gt;
== 3. Nice-to-Haves: Editors, Tools, and Utilities ==&lt;br /&gt;
&lt;br /&gt;
Once the system is up, we add tools to support development, testing, and usability.&lt;br /&gt;
&lt;br /&gt;
=== Suggested Additions ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Category !! Tools&lt;br /&gt;
|- &lt;br /&gt;
| Editors || nano, vim&lt;br /&gt;
|- &lt;br /&gt;
| Networking || curl, wget, ping, ssh&lt;br /&gt;
|- &lt;br /&gt;
| Debugging || gdb, strace, perf, valgrind&lt;br /&gt;
|- &lt;br /&gt;
| System info || htop, lshw, i2c-tools, lsusb&lt;br /&gt;
|- &lt;br /&gt;
| Disk tools || fdisk, parted, e2fsprogs, btrfs-progs&lt;br /&gt;
|- &lt;br /&gt;
| Package management || apt, dpkg, or apk (depending on base)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. Distro: Building Our Own PowerPC Linux Distribution ==&lt;br /&gt;
&lt;br /&gt;
Eventually, we want a user-facing Linux distribution specifically optimized for the PowerPC Notebook.&lt;br /&gt;
&lt;br /&gt;
=== Building Blocks ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Details&lt;br /&gt;
|- &lt;br /&gt;
| Base System || Debian PPC64, Gentoo, or Void PPC&lt;br /&gt;
|- &lt;br /&gt;
| Kernel || Custom-built with PowerPC Notebook config&lt;br /&gt;
|- &lt;br /&gt;
| Init system || systemd or OpenRC&lt;br /&gt;
|- &lt;br /&gt;
| Package management || apt (Debian), emerge (Gentoo), xbps (Void)&lt;br /&gt;
|- &lt;br /&gt;
| Desktop environment || XFCE, MATE, GNOME (PPC64 builds)&lt;br /&gt;
|- &lt;br /&gt;
| Installer || CLI or graphical installer image&lt;br /&gt;
|- &lt;br /&gt;
| Update system || apt repos or rsync-based delta updates&lt;br /&gt;
|- &lt;br /&gt;
| Branding || Custom themes, logos, powerpcnotebook.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Distro Build Systems to Consider ===&lt;br /&gt;
&lt;br /&gt;
* debootstrap / live-build (Debian-based builds)&lt;br /&gt;
* Buildroot (for minimal rootfs + kernel images)&lt;br /&gt;
* Yocto Project (flexible meta-distribution)&lt;br /&gt;
* Gentoo Catalyst (for full ISO or stage builds)&lt;br /&gt;
&lt;br /&gt;
== 5. CI/CD Pipelines and Build Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
To ensure maintainability, reproducibility, and collaboration, we aim to adopt continuous integration and modern DevOps practices.&lt;br /&gt;
&lt;br /&gt;
=== CI/CD Goals ===&lt;br /&gt;
&lt;br /&gt;
* Automatically build U-Boot, kernel, and rootfs images&lt;br /&gt;
* Run tests on emulated environments (QEMU PPC64)&lt;br /&gt;
* Deploy daily/weekly builds for community testing&lt;br /&gt;
* Detect regressions early and validate commits&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Use Case !! Toolchain&lt;br /&gt;
|- &lt;br /&gt;
| CI/CD pipelines || GitHub Actions, GitLab CI, Buildbot&lt;br /&gt;
|- &lt;br /&gt;
| Emulated testing || QEMU PowerPC64 + expect/serial scripts&lt;br /&gt;
|- &lt;br /&gt;
| Cross-builds || Docker + &amp;lt;code&amp;gt;powerpc64-linux-gnu-gcc&amp;lt;/code&amp;gt; toolchains&lt;br /&gt;
|- &lt;br /&gt;
| Image hosting || GitHub Pages, Netlify, custom CDN&lt;br /&gt;
|- &lt;br /&gt;
| Build orchestration || cbuild, Yocto Autobuilder, Jenkins&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example CI Flow ===&lt;br /&gt;
&lt;br /&gt;
# Push to &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; branch&lt;br /&gt;
# GitHub Actions builds U-Boot, kernel, and rootfs&lt;br /&gt;
# QEMU boots the image and verifies UART output&lt;br /&gt;
# Artifacts are uploaded to &amp;lt;code&amp;gt;artifacts.powerpcnotebook.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. Docker Images for Build and Dev Environments ==&lt;br /&gt;
&lt;br /&gt;
Pre-configured Docker images help developers build and test quickly across any host system.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases ===&lt;br /&gt;
&lt;br /&gt;
* Build U-Boot or Linux kernel from any host&lt;br /&gt;
* Package testing in isolated environments&lt;br /&gt;
* Running PPC-specific tools in reproducible containers&lt;br /&gt;
&lt;br /&gt;
=== Example Images ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Image Name !! Description&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-dev-env || Full dev env with toolchain and make&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-kernel-builder || Kernel-specific builder and configs&lt;br /&gt;
|- &lt;br /&gt;
| powerpc-debian-chroot || Debootstrap PPC64 rootfs for package test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 7. Inspirations from Debian and Other Projects ==&lt;br /&gt;
&lt;br /&gt;
We aim to reuse and adapt ideas from existing projects to accelerate development.&lt;br /&gt;
&lt;br /&gt;
=== Relevant Debian Practices ===&lt;br /&gt;
&lt;br /&gt;
* Reproducible Builds&lt;br /&gt;
* Debian Ports infrastructure&lt;br /&gt;
* &amp;lt;code&amp;gt;live-build&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
* Debian Installer (&amp;lt;code&amp;gt;d-i&amp;lt;/code&amp;gt;)&lt;br /&gt;
* QA tools: lintian, piuparts, autopkgtest&lt;br /&gt;
&lt;br /&gt;
=== Related Projects to Watch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Project !! Relevance&lt;br /&gt;
|- &lt;br /&gt;
| Debian PowerPC || Maintains PPC64 ports and packages&lt;br /&gt;
|- &lt;br /&gt;
| Void PPC || Maintains lightweight PPC builds&lt;br /&gt;
|- &lt;br /&gt;
| Gentoo PPC || Flexible, source-based PPC support&lt;br /&gt;
|- &lt;br /&gt;
| Yocto/OpenEmbedded || Board support packages and rootfs config&lt;br /&gt;
|- &lt;br /&gt;
| OpenPOWER Firmware || Future firmware replacement roadmap&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 8. Build Tooling (WIP/Placeholders) ==&lt;br /&gt;
&lt;br /&gt;
This section will document the exact steps, tools, and workflows needed to build every part of the software stack.&lt;br /&gt;
&lt;br /&gt;
=== Build Tooling Overview ===&lt;br /&gt;
&lt;br /&gt;
* Cross-toolchain setup (e.g. NXP SDK, crosstool-ng, LLVM)&lt;br /&gt;
* U-Boot build and customization&lt;br /&gt;
* Linux kernel configuration and build&lt;br /&gt;
* Root filesystem generation methods (debootstrap, Buildroot, Yocto)&lt;br /&gt;
* Build orchestration (Makefiles, shell scripts, CI runners)&lt;br /&gt;
* Packaging tools for our distro (dpkg, xbps, etc.)&lt;br /&gt;
* Secure image signing (U-Boot SPL, FIT images, secure boot)&lt;br /&gt;
* Emulator-based validation and test harnesses&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Details for each item will be populated progressively as we finalize architecture and test results.&lt;br /&gt;
&lt;br /&gt;
== 9. Other Links and Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Technical Resources ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.nxp.com/products/processors-and-microcontrollers/power-architecture/qoriq-platforms/t-series/qoriq-t2080-and-t2081-multicore-communications-processors:T2080 NXP T2080 Reference Manual]&lt;br /&gt;
* [https://source.denx.de/u-boot/u-boot Denx U-Boot Git]&lt;br /&gt;
* [https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/ Linux PowerPC Git]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC Debian PowerPC Wiki]&lt;br /&gt;
* [https://voidlinux-ppc.org/ Void PPC Project]&lt;br /&gt;
&lt;br /&gt;
=== Community and Support ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.powerprogress.org/ Power Progress Community]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC#Communication PowerPC IRC/Matrix]&lt;br /&gt;
* [https://openpowerfoundation.org/ OpenPOWER Foundation]&lt;/div&gt;</summary>
		<author><name>Hiiripollo</name></author>
	</entry>
	<entry>
		<id>http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=10</id>
		<title>Current Software Specifications</title>
		<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=10"/>
		<updated>2025-05-13T19:42:27Z</updated>

		<summary type="html">&lt;p&gt;Hiiripollo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Stack: From First Boot to Full Distribution =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: This is an initial draft of the software roadmap for the PowerPC Notebook project. Every step outlined here must be reviewed, tested, and validated by the community.&#039;&#039;&#039;  &lt;br /&gt;
&#039;&#039;&#039;Target architecture: We will support only PPC64 Big Endian for this project.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The software stack for the PowerPC Notebook is a critical enabler for the hardware. Our challenge is to bring up a modern, open-source Linux system on non-mainstream architecture (PowerPC), using a custom motherboard based on the NXP T2080 SoC. That means:&lt;br /&gt;
&lt;br /&gt;
* Bootstrapping software from scratch, with limited upstream support&lt;br /&gt;
* Building and testing a minimal Linux system to prove hardware works&lt;br /&gt;
* Gradually evolving toward a user-friendly, maintainable Linux distribution&lt;br /&gt;
&lt;br /&gt;
We outline a &#039;&#039;&#039;progressive roadmap&#039;&#039;&#039;: from booting the board to building our own distro, using modern infrastructure and tools wherever possible.&lt;br /&gt;
&lt;br /&gt;
== 1. Basic Plan: Booting the First Prototype ==&lt;br /&gt;
&lt;br /&gt;
The first goal is to ensure our hardware can boot into a minimal Linux environment.&lt;br /&gt;
&lt;br /&gt;
=== What Needs to Be Done ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Set up cross toolchain || Use NXP’s PowerPC GCC SDK for T2080&lt;br /&gt;
|-&lt;br /&gt;
| Build U-Boot || Start from &amp;lt;code&amp;gt;T2080RDB_defconfig&amp;lt;/code&amp;gt;, customize for our board&lt;br /&gt;
|-&lt;br /&gt;
| Write Device Tree (DTS) || Tailor the .dts to our motherboard’s peripherals&lt;br /&gt;
|-&lt;br /&gt;
| Build kernel || Use NXP&#039;s patched or mainline kernel with minimal config&lt;br /&gt;
|-&lt;br /&gt;
| Load root filesystem || Use Initramfs, NFS, SD card or TFTP&lt;br /&gt;
|-&lt;br /&gt;
| Test via serial console || Use UART for logs and early debugging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Why ===&lt;br /&gt;
&lt;br /&gt;
* Validates CPU, memory, and power circuitry  &lt;br /&gt;
* Enables testing and debugging of other peripherals  &lt;br /&gt;
* Serves as foundation for OS bring-up and userland development&lt;br /&gt;
&lt;br /&gt;
== 2. Essentials: Proving the Prototype Works ==&lt;br /&gt;
&lt;br /&gt;
Once we can boot, we need a minimal userland to interact with the system.&lt;br /&gt;
&lt;br /&gt;
=== Components Required ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Functionality&lt;br /&gt;
|-&lt;br /&gt;
| U-Boot || Initialize CPU, memory, load kernel&lt;br /&gt;
|-&lt;br /&gt;
| Linux kernel || Hardware detection and device drivers&lt;br /&gt;
|-&lt;br /&gt;
| Root filesystem || BusyBox or minimal Debian NFS root&lt;br /&gt;
|-&lt;br /&gt;
| Serial console || Primary I/O for early interaction&lt;br /&gt;
|-&lt;br /&gt;
| Storage access || SD, SATA, or USB (at least one working path)&lt;br /&gt;
|-&lt;br /&gt;
| Device tree blob || Custom for motherboard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Goal ===&lt;br /&gt;
&lt;br /&gt;
* Boot into a shell prompt  &lt;br /&gt;
* Validate basic system resources (&amp;lt;code&amp;gt;/proc/cpuinfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, etc.)  &lt;br /&gt;
* Confirm networking, storage, and peripheral availability  &lt;br /&gt;
&lt;br /&gt;
== 3. Nice-to-Haves: Editors, Tools, and Utilities ==&lt;br /&gt;
&lt;br /&gt;
Once the system is up, we add tools to support development, testing, and usability.&lt;br /&gt;
&lt;br /&gt;
=== Suggested Additions ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Category !! Tools&lt;br /&gt;
|-&lt;br /&gt;
| Editors || nano, vim&lt;br /&gt;
|-&lt;br /&gt;
| Networking || curl, wget, ping, ssh&lt;br /&gt;
|-&lt;br /&gt;
| Debugging || gdb, strace, perf, valgrind&lt;br /&gt;
|-&lt;br /&gt;
| System info || htop, lshw, i2c-tools, lsusb&lt;br /&gt;
|-&lt;br /&gt;
| Disk tools || fdisk, parted, e2fsprogs, btrfs-progs&lt;br /&gt;
|-&lt;br /&gt;
| Package management || apt, dpkg, or apk (depending on base)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. Distro: Building Our Own PowerPC Linux Distribution ==&lt;br /&gt;
&lt;br /&gt;
Eventually, we want a user-facing Linux distribution specifically optimized for the PowerPC Notebook.&lt;br /&gt;
&lt;br /&gt;
=== Building Blocks ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Details&lt;br /&gt;
|-&lt;br /&gt;
| Base System || Debian PPC64, Gentoo, or Void PPC&lt;br /&gt;
|-&lt;br /&gt;
| Kernel || Custom-built with PowerPC Notebook config&lt;br /&gt;
|-&lt;br /&gt;
| Init system || systemd or OpenRC&lt;br /&gt;
|-&lt;br /&gt;
| Package management || apt (Debian), emerge (Gentoo), xbps (Void)&lt;br /&gt;
|-&lt;br /&gt;
| Desktop environment || XFCE, MATE, GNOME (PPC64 builds)&lt;br /&gt;
|-&lt;br /&gt;
| Installer || CLI or graphical installer image&lt;br /&gt;
|-&lt;br /&gt;
| Update system || apt repos or rsync-based delta updates&lt;br /&gt;
|-&lt;br /&gt;
| Branding || Custom themes, logos, powerpcnotebook.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Distro Build Systems to Consider ===&lt;br /&gt;
&lt;br /&gt;
* debootstrap / live-build (Debian-based builds)  &lt;br /&gt;
* Buildroot (for minimal rootfs + kernel images)  &lt;br /&gt;
* Yocto Project (flexible meta-distribution)  &lt;br /&gt;
* Gentoo Catalyst (for full ISO or stage builds)  &lt;br /&gt;
&lt;br /&gt;
== 5. CI/CD Pipelines and Build Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
To ensure maintainability, reproducibility, and collaboration, we aim to adopt continuous integration and modern DevOps practices.&lt;br /&gt;
&lt;br /&gt;
=== CI/CD Goals ===&lt;br /&gt;
&lt;br /&gt;
* Automatically build U-Boot, kernel, and rootfs images  &lt;br /&gt;
* Run tests on emulated environments (QEMU PPC64)  &lt;br /&gt;
* Deploy daily/weekly builds for community testing  &lt;br /&gt;
* Detect regressions early and validate commits  &lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Use Case !! Toolchain&lt;br /&gt;
|-&lt;br /&gt;
| CI/CD pipelines || GitHub Actions, GitLab CI, Buildbot&lt;br /&gt;
|-&lt;br /&gt;
| Emulated testing || QEMU PowerPC64 + expect/serial scripts&lt;br /&gt;
|-&lt;br /&gt;
| Cross-builds || Docker + &amp;lt;code&amp;gt;powerpc64-linux-gnu-gcc&amp;lt;/code&amp;gt; toolchains&lt;br /&gt;
|-&lt;br /&gt;
| Image hosting || GitHub Pages, Netlify, custom CDN&lt;br /&gt;
|-&lt;br /&gt;
| Build orchestration || cbuild, Yocto Autobuilder, Jenkins&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example CI Flow ===&lt;br /&gt;
&lt;br /&gt;
# Push to &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; branch  &lt;br /&gt;
# GitHub Actions builds U-Boot, kernel, and rootfs  &lt;br /&gt;
# QEMU boots the image and verifies UART output  &lt;br /&gt;
# Artifacts are uploaded to &amp;lt;code&amp;gt;artifacts.powerpcnotebook.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. Docker Images for Build and Dev Environments ==&lt;br /&gt;
&lt;br /&gt;
Pre-configured Docker images help developers build and test quickly across any host system.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases ===&lt;br /&gt;
&lt;br /&gt;
* Build U-Boot or Linux kernel from any host  &lt;br /&gt;
* Package testing in isolated environments  &lt;br /&gt;
* Running PPC-specific tools in reproducible containers  &lt;br /&gt;
&lt;br /&gt;
=== Example Images ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Image Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| powerpc-dev-env || Full dev env with toolchain and make&lt;br /&gt;
|-&lt;br /&gt;
| powerpc-kernel-builder || Kernel-specific builder and configs&lt;br /&gt;
|-&lt;br /&gt;
| powerpc-debian-chroot || Debootstrap PPC64 rootfs for package test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 7. Inspirations from Debian and Other Projects ==&lt;br /&gt;
&lt;br /&gt;
We aim to reuse and adapt ideas from existing projects to accelerate development.&lt;br /&gt;
&lt;br /&gt;
=== Relevant Debian Practices ===&lt;br /&gt;
&lt;br /&gt;
* Reproducible Builds  &lt;br /&gt;
* Debian Ports infrastructure  &lt;br /&gt;
* &amp;lt;code&amp;gt;live-build&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debootstrap&amp;lt;/code&amp;gt;  &lt;br /&gt;
* Debian Installer (&amp;lt;code&amp;gt;d-i&amp;lt;/code&amp;gt;)  &lt;br /&gt;
* QA tools: lintian, piuparts, autopkgtest  &lt;br /&gt;
&lt;br /&gt;
=== Related Projects to Watch ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Project !! Relevance&lt;br /&gt;
|-&lt;br /&gt;
| Debian PowerPC || Maintains PPC64 ports and packages&lt;br /&gt;
|-&lt;br /&gt;
| Void PPC || Maintains lightweight PPC builds&lt;br /&gt;
|-&lt;br /&gt;
| Gentoo PPC || Flexible, source-based PPC support&lt;br /&gt;
|-&lt;br /&gt;
| Yocto/OpenEmbedded || Board support packages and rootfs config&lt;br /&gt;
|-&lt;br /&gt;
| OpenPOWER Firmware || Future firmware replacement roadmap&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 8. Build Tooling (WIP Placeholder Section) ==&lt;br /&gt;
&lt;br /&gt;
This section will document the exact steps, tools, and workflows needed to build every part of the software stack.&lt;br /&gt;
&lt;br /&gt;
=== Build Tooling Overview ===&lt;br /&gt;
&lt;br /&gt;
* Cross-toolchain setup (e.g. NXP SDK, crosstool-ng, LLVM)&lt;br /&gt;
* U-Boot build and customization&lt;br /&gt;
* Linux kernel configuration and build&lt;br /&gt;
* Root filesystem generation methods (debootstrap, Buildroot, Yocto)&lt;br /&gt;
* Build orchestration (Makefiles, shell scripts, CI runners)&lt;br /&gt;
* Packaging tools for our distro (dpkg, xbps, etc.)&lt;br /&gt;
* Secure image signing (U-Boot SPL, FIT images, secure boot)&lt;br /&gt;
* Emulator-based validation and test harnesses&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Details for each item will be populated progressively as we finalize architecture and test results.&lt;br /&gt;
&lt;br /&gt;
== 9. Other Links and Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Technical Resources ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.nxp.com/products/processors-and-microcontrollers/power-architecture/qoriq-platforms/t-series/qoriq-t2080-and-t2081-multicore-communications-processors:T2080 NXP T2080 Reference Manual]&lt;br /&gt;
* [https://source.denx.de/u-boot/u-boot Denx U-Boot Git]&lt;br /&gt;
* [https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/ Linux PowerPC Git]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC Debian PowerPC Wiki]&lt;br /&gt;
* [https://voidlinux-ppc.org/ Void PPC Project]&lt;br /&gt;
&lt;br /&gt;
=== Community and Support ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.powerprogress.org/ Power Progress Community]&lt;br /&gt;
* [https://wiki.debian.org/PowerPC#Communication PowerPC IRC/Matrix]&lt;br /&gt;
* [https://openpowerfoundation.org/ OpenPOWER Foundation]&lt;/div&gt;</summary>
		<author><name>Hiiripollo</name></author>
	</entry>
	<entry>
		<id>http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=9</id>
		<title>Current Software Specifications</title>
		<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=9"/>
		<updated>2025-05-13T19:41:49Z</updated>

		<summary type="html">&lt;p&gt;Hiiripollo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Stack: From First Boot to Full Distribution =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: This is an initial draft of the software roadmap for the PowerPC Notebook project. This should be treated as high level thinking for now to give us a starting point rather than as a finalized roadmap. Comments and contributions are welcome.&#039;&#039;&#039; &amp;amp;nbsp;&amp;lt;br&amp;gt;&#039;&#039;&#039;Target architecture: PPC64 Big Endian.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The software stack for the PowerPC Notebook is a critical enabler for the hardware. Our challenge is to bring up a modern, open-source Linux system on non-mainstream architecture (PowerPC), using a custom motherboard based on the NXP T2080 SoC (?). That means:&lt;br /&gt;
&lt;br /&gt;
* Bootstrapping software from scratch, with limited upstream support &amp;amp;nbsp;&amp;lt;br&amp;gt;* Building and testing a minimal Linux system to prove hardware works &amp;amp;nbsp;&amp;lt;br&amp;gt;* Gradually evolving toward a user-friendly, maintainable Linux distribution &amp;amp;nbsp;&lt;br /&gt;
We outline a &#039;&#039;&#039;progressive roadmap&#039;&#039;&#039;: from booting the board to building our own distro, using modern infrastructure and tools wherever possible.&lt;br /&gt;
&lt;br /&gt;
== 1. Basic Plan: Booting the First Prototype ==&lt;br /&gt;
&lt;br /&gt;
The first goal is to ensure our hardware can boot into a minimal Linux environment.&lt;br /&gt;
&lt;br /&gt;
=== What Needs to Be Done ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Task !! Description&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Set up cross toolchain || Use NXP’s PowerPC GCC SDK for T2080&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Build U-Boot || Start from &amp;amp;lt;code&amp;amp;gt;T2080RDB_defconfig&amp;amp;lt;/code&amp;amp;gt;, customize for our board&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Write Device Tree (DTS) || Tailor the .dts to our motherboard’s peripherals&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Build kernel || Use NXP&#039;s patched or mainline kernel with minimal config&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Load root filesystem || Use Initramfs, NFS, SD card or TFTP&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Test via serial console || Use UART for logs and early debugging&amp;lt;br&amp;gt;|}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Why ===&lt;br /&gt;
&lt;br /&gt;
* Validates CPU, memory, and power circuitry&lt;br /&gt;
* Enables testing and debugging of other peripherals&lt;br /&gt;
* Serves as foundation for OS bring-up and userland development&lt;br /&gt;
&lt;br /&gt;
== 2. Essentials: Proving the Prototype Works ==&lt;br /&gt;
&lt;br /&gt;
Once we can boot, we need a minimal userland to interact with the system.&lt;br /&gt;
&lt;br /&gt;
=== Components Required ===&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Component !! Functionality&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| U-Boot || Initialize CPU, memory, load kernel&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Linux kernel || Hardware detection and device drivers&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Root filesystem || BusyBox or minimal Debian NFS root&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Serial console || Primary I/O for early interaction&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Storage access || SD, SATA, or USB (at least one working path)&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Device tree blob || Custom for motherboard&amp;lt;br&amp;gt;|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Goal===&lt;br /&gt;
* Boot into a shell prompt&lt;br /&gt;
* Validate basic system resources (&amp;amp;lt;code&amp;amp;gt;/proc/cpuinfo&amp;amp;lt;/code&amp;amp;gt;, &amp;amp;lt;code&amp;amp;gt;dmesg&amp;amp;lt;/code&amp;amp;gt;, etc.)&lt;br /&gt;
* Confirm networking, storage, and peripheral availability &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== 3. Nice-to-Haves: Editors, Tools, and Utilities ==&lt;br /&gt;
&lt;br /&gt;
Once the system is up, we add tools to support development, testing, and usability.&lt;br /&gt;
&lt;br /&gt;
=== Suggested Additions ===&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Category !! Tools&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Editors || nano, vim&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Networking || curl, wget, ping, ssh&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Debugging || gdb, strace, perf, valgrind&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| System info || htop, lshw, i2c-tools, lsusb&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Disk tools || fdisk, parted, e2fsprogs, btrfs-progs&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Package management || apt, dpkg, or apk (depending on base)&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4. Distro: Building Our Own PowerPC Linux Distribution ==&lt;br /&gt;
&lt;br /&gt;
Eventually, we want a user-facing Linux distribution specifically optimized for the PowerPC Notebook.&lt;br /&gt;
&lt;br /&gt;
=== Building Blocks ===&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Component !! Details&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Base System || Debian PPC64, Gentoo, or Void PPC&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Kernel || Custom-built with PowerPC Notebook config&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Init system || systemd or OpenRC&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Package management || apt (Debian), emerge (Gentoo), xbps (Void)&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Desktop environment || XFCE, MATE, GNOME (PPC64 builds)&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Installer || CLI or graphical installer image&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Update system || apt repos or rsync-based delta updates&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Branding || Custom themes, logos, powerpcnotebook.org&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Distro Build Systems to Consider&lt;br /&gt;
* debootstrap / live-build (Debian-based builds)&lt;br /&gt;
* Buildroot (for minimal rootfs + kernel images)&lt;br /&gt;
* Yocto Project (flexible meta-distribution)&lt;br /&gt;
* Gentoo Catalyst (for full ISO or stage builds) &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== 5. Reusing and Cross-compiling from Existing Distros ==&lt;br /&gt;
&lt;br /&gt;
Before reinventing the wheel, we aim to reuse as much as possible from other PowerPC-supporting Linux distributions.&lt;br /&gt;
&lt;br /&gt;
=== Sources of Reusable Packages ===&amp;lt;br&amp;gt;* &#039;&#039;&#039;Debian Ports&#039;&#039;&#039;: Many packages already built for PPC64 (Big Endian) &amp;amp;nbsp;&amp;lt;br&amp;gt;* &#039;&#039;&#039;Gentoo PPC64&#039;&#039;&#039;: Source-based packages easily recompiled for our target &amp;amp;nbsp;&amp;lt;br&amp;gt;* &#039;&#039;&#039;Void Linux PPC&#039;&#039;&#039;: Lightweight, musl or glibc-based &amp;amp;nbsp;&amp;lt;br&amp;gt;* &#039;&#039;&#039;Buildroot&#039;&#039;&#039;: Embedded-focused, ideal for minimal images &amp;amp;nbsp;&amp;lt;br&amp;gt;* &#039;&#039;&#039;Yocto layers/meta-ppc&#039;&#039;&#039;: Helpful BSPs and tooling &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Cross-compiling Approach ===&lt;br /&gt;
&lt;br /&gt;
1. Use `powerpc64-linux-gnu-gcc` cross-toolchain &amp;amp;nbsp;&amp;lt;br&amp;gt;2. Cross-compile Debian source packages or Gentoo ebuilds &amp;amp;nbsp;&amp;lt;br&amp;gt;3. Create our own package repository (e.g., Debian-style repo or overlay FS) &amp;amp;nbsp;&amp;lt;br&amp;gt;4. Validate on QEMU before deploying to real hardware &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Tools and Infrastructure ===&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Purpose !! Tool&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Source retrieval || apt-src, emerge, xbps-src&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Compilation || cross-make, dpkg-buildpackage, Gentoo&#039;s crossdev&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Patching || quilt, debdiff, git am&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Staging and testing || chroot, Docker, QEMU&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal&#039;&#039;&#039;: Reduce duplication, benefit from upstream security updates, and create a lean maintainable software stack.&lt;br /&gt;
&lt;br /&gt;
== 6. CI/CD Pipelines and Build Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
To ensure maintainability, reproducibility, and collaboration, we aim to adopt continuous integration and modern DevOps practices.&lt;br /&gt;
&lt;br /&gt;
=== CI/CD Goals ===&lt;br /&gt;
&lt;br /&gt;
* Automatically build U-Boot, kernel, and rootfs images&lt;br /&gt;
* Run tests on emulated environments (QEMU PPC64)&lt;br /&gt;
* Deploy daily/weekly builds for community testing&lt;br /&gt;
* Detect regressions early and validate commits &amp;amp;nbsp;&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Use Case !! Toolchain&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| CI/CD pipelines || GitHub Actions, GitLab CI, Buildbot&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Emulated testing || QEMU PowerPC64 + expect/serial scripts&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Cross-builds || Docker + &amp;amp;lt;code&amp;amp;gt;powerpc64-linux-gnu-gcc&amp;amp;lt;/code&amp;amp;gt; toolchains&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Image hosting || GitHub Pages, Netlify, custom CDN&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Build orchestration || cbuild, Yocto Autobuilder, Jenkins&amp;lt;br&amp;gt;|}&lt;br /&gt;
== 7. Docker Images for Build and Dev Environments ==&lt;br /&gt;
&lt;br /&gt;
Pre-configured Docker images help developers build and test quickly across any host system.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases ===&lt;br /&gt;
&lt;br /&gt;
* Build U-Boot or Linux kernel from any host&lt;br /&gt;
* Package testing in isolated environments&lt;br /&gt;
* Running PPC-specific tools in reproducible containers &amp;amp;nbsp;&lt;br /&gt;
=== Example Images ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Image Name !! Description&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| powerpc-dev-env || Full dev env with toolchain and make&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| powerpc-kernel-builder || Kernel-specific builder and configs&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| powerpc-debian-chroot || Debootstrap PPC64 rootfs for package test&amp;lt;br&amp;gt;|}&lt;br /&gt;
== 8. Inspirations from Debian and Other Projects ==&lt;br /&gt;
&lt;br /&gt;
We aim to reuse and adapt ideas from existing projects to accelerate development.&lt;br /&gt;
&lt;br /&gt;
=== Relevant Debian Practices ===&lt;br /&gt;
&lt;br /&gt;
* Reproducible Builds&lt;br /&gt;
* Debian Ports infrastructure&lt;br /&gt;
* &amp;amp;lt;code&amp;amp;gt;live-build&amp;amp;lt;/code&amp;amp;gt; and &amp;amp;lt;code&amp;amp;gt;debootstrap&amp;amp;lt;/code&amp;amp;gt; &amp;amp;nbsp;&lt;br /&gt;
* Debian Installer (&amp;amp;lt;code&amp;amp;gt;d-i&amp;amp;lt;/code&amp;amp;gt;) &amp;amp;nbsp;&lt;br /&gt;
* QA tools: lintian, piuparts, autopkgtest &amp;amp;nbsp;&lt;br /&gt;
=== Related Projects to Watch ===&amp;lt;br&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Project !! Relevance&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Debian PowerPC || Maintains PPC64 ports and packages&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Void PPC || Maintains lightweight PPC builds&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Gentoo PPC || Flexible, source-based PPC support&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Yocto/OpenEmbedded || Board support packages and rootfs config&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| OpenPOWER Firmware || Future firmware replacement roadmap&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
== 9. Build Tooling (WIP/Placeholders) ==&lt;br /&gt;
&lt;br /&gt;
This section will document the exact steps, tools, and workflows needed to build every part of the software stack.&lt;br /&gt;
&lt;br /&gt;
=== Build Tooling Overview ===&lt;br /&gt;
&lt;br /&gt;
* Cross-toolchain setup (e.g. NXP SDK, crosstool-ng, LLVM)&lt;br /&gt;
* U-Boot build and customization&lt;br /&gt;
* Linux kernel configuration and build&lt;br /&gt;
* Root filesystem generation methods (debootstrap, Buildroot, Yocto)&lt;br /&gt;
* Build orchestration (Makefiles, shell scripts, CI runners)&lt;br /&gt;
* Packaging tools for our distro (dpkg, xbps, etc.)&lt;br /&gt;
* Secure image signing (U-Boot SPL, FIT images, secure boot)&lt;br /&gt;
* Emulator-based validation and test harnesses&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Details for each item will be populated progressively as we finalize architecture and test results.&lt;br /&gt;
&lt;br /&gt;
== 10. Other Links and Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Technical Resources ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.nxp.com/products/processors-and-microcontrollers/power-architecture/qoriq-platforms/t-series/qoriq-t2080-and-t2081-multicore-communications-processors:T2080 NXP T2080 Reference Manual] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://source.denx.de/u-boot/u-boot Denx U-Boot Git] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/ Linux PowerPC Git] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://wiki.debian.org/PowerPC Debian PowerPC Wiki] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://voidlinux-ppc.org/ Void PPC Project] &amp;amp;nbsp;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Community and Support ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;* [https://www.powerprogress.org/ Power Progress Community] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://wiki.debian.org/PowerPC#Communication PowerPC IRC/Matrix] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://openpowerfoundation.org/ OpenPOWER Foundation] &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot; br=&amp;quot;&amp;quot;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hiiripollo</name></author>
	</entry>
	<entry>
		<id>http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=8</id>
		<title>Current Software Specifications</title>
		<link rel="alternate" type="text/html" href="http://wiki.powerpc-notebook.org/index.php?title=Current_Software_Specifications&amp;diff=8"/>
		<updated>2025-05-13T19:31:09Z</updated>

		<summary type="html">&lt;p&gt;Hiiripollo: Created page with &amp;quot;= Software Stack: From First Boot to Full Distribution =  &amp;#039;&amp;#039;&amp;#039;Note: This is an initial draft of the software roadmap for the PowerPC Notebook project. This should be treated as high level thinking for now to give us a starting point rather than as a finalized roadmap. Comments and contributions are welcome.&amp;#039;&amp;#039;&amp;#039; &amp;amp;nbsp;&amp;lt;br&amp;gt;&amp;#039;&amp;#039;&amp;#039;Target architecture: PPC64 Big Endian.&amp;#039;&amp;#039;&amp;#039;  == Introduction ==  The software stack for the PowerPC Notebook is a critical enabler for the hardware. Our...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Stack: From First Boot to Full Distribution =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: This is an initial draft of the software roadmap for the PowerPC Notebook project. This should be treated as high level thinking for now to give us a starting point rather than as a finalized roadmap. Comments and contributions are welcome.&#039;&#039;&#039; &amp;amp;nbsp;&amp;lt;br&amp;gt;&#039;&#039;&#039;Target architecture: PPC64 Big Endian.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The software stack for the PowerPC Notebook is a critical enabler for the hardware. Our challenge is to bring up a modern, open-source Linux system on non-mainstream architecture (PowerPC), using a custom motherboard based on the NXP T2080 SoC (?). That means:&lt;br /&gt;
&lt;br /&gt;
* Bootstrapping software from scratch, with limited upstream support &amp;amp;nbsp;&amp;lt;br&amp;gt;* Building and testing a minimal Linux system to prove hardware works &amp;amp;nbsp;&amp;lt;br&amp;gt;* Gradually evolving toward a user-friendly, maintainable Linux distribution &amp;amp;nbsp;&lt;br /&gt;
We outline a &#039;&#039;&#039;progressive roadmap&#039;&#039;&#039;: from booting the board to building our own distro, using modern infrastructure and tools wherever possible.&lt;br /&gt;
&lt;br /&gt;
== 1. Basic Plan: Booting the First Prototype ==&lt;br /&gt;
&lt;br /&gt;
The first goal is to ensure our hardware can boot into a minimal Linux environment.&lt;br /&gt;
&lt;br /&gt;
=== What Needs to Be Done ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&amp;lt;br&amp;gt;! Task !! Description&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Set up cross toolchain || Use NXP’s PowerPC GCC SDK for T2080&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Build U-Boot || Start from &amp;amp;lt;code&amp;amp;gt;T2080RDB_defconfig&amp;amp;lt;/code&amp;amp;gt;, customize for our board&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Write Device Tree (DTS) || Tailor the .dts to our motherboard’s peripherals&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Build kernel || Use NXP&#039;s patched or mainline kernel with minimal config&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Load root filesystem || Use Initramfs, NFS, SD card or TFTP&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Test via serial console || Use UART for logs and early debugging&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
=== Why ===&lt;br /&gt;
&lt;br /&gt;
* Validates CPU, memory, and power circuitry &amp;amp;nbsp;&amp;lt;br&amp;gt;* Enables testing and debugging of other peripherals &amp;amp;nbsp;&amp;lt;br&amp;gt;* Serves as foundation for OS bring-up and userland development&lt;br /&gt;
&lt;br /&gt;
== 2. Essentials: Proving the Prototype Works ==&lt;br /&gt;
&lt;br /&gt;
Once we can boot, we need a minimal userland to interact with the system.&lt;br /&gt;
&lt;br /&gt;
=== Components Required ===&amp;lt;br&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Component !! Functionality&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| U-Boot || Initialize CPU, memory, load kernel&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Linux kernel || Hardware detection and device drivers&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Root filesystem || BusyBox or minimal Debian NFS root&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Serial console || Primary I/O for early interaction&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Storage access || SD, SATA, or USB (at least one working path)&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Device tree blob || Custom for motherboard&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
=== Goal ===&lt;br /&gt;
&lt;br /&gt;
* Boot into a shell prompt &amp;amp;nbsp;&amp;lt;br&amp;gt;* Validate basic system resources (&amp;amp;lt;code&amp;amp;gt;/proc/cpuinfo&amp;amp;lt;/code&amp;amp;gt;, &amp;amp;lt;code&amp;amp;gt;dmesg&amp;amp;lt;/code&amp;amp;gt;, etc.) &amp;amp;nbsp;&amp;lt;br&amp;gt;* Confirm networking, storage, and peripheral availability &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== 3. Nice-to-Haves: Editors, Tools, and Utilities ==&lt;br /&gt;
&lt;br /&gt;
Once the system is up, we add tools to support development, testing, and usability.&lt;br /&gt;
&lt;br /&gt;
=== Suggested Additions ===&amp;lt;br&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Category !! Tools&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Editors || nano, vim&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Networking || curl, wget, ping, ssh&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Debugging || gdb, strace, perf, valgrind&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| System info || htop, lshw, i2c-tools, lsusb&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Disk tools || fdisk, parted, e2fsprogs, btrfs-progs&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Package management || apt, dpkg, or apk (depending on base)&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
== 4. Distro: Building Our Own PowerPC Linux Distribution ==&lt;br /&gt;
&lt;br /&gt;
Eventually, we want a user-facing Linux distribution specifically optimized for the PowerPC Notebook.&lt;br /&gt;
&lt;br /&gt;
=== Building Blocks ===&amp;lt;br&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Component !! Details&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Base System || Debian PPC64, Gentoo, or Void PPC&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Kernel || Custom-built with PowerPC Notebook config&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Init system || systemd or OpenRC&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Package management || apt (Debian), emerge (Gentoo), xbps (Void)&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Desktop environment || XFCE, MATE, GNOME (PPC64 builds)&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Installer || CLI or graphical installer image&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Update system || apt repos or rsync-based delta updates&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Branding || Custom themes, logos, powerpcnotebook.org&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
=== Distro Build Systems to Consider ===&lt;br /&gt;
&lt;br /&gt;
* debootstrap / live-build (Debian-based builds) &amp;amp;nbsp;&amp;lt;br&amp;gt;* Buildroot (for minimal rootfs + kernel images) &amp;amp;nbsp;&amp;lt;br&amp;gt;* Yocto Project (flexible meta-distribution) &amp;amp;nbsp;&amp;lt;br&amp;gt;* Gentoo Catalyst (for full ISO or stage builds) &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== 5. Reusing and Cross-compiling from Existing Distros ==&lt;br /&gt;
&lt;br /&gt;
Before reinventing the wheel, we aim to reuse as much as possible from other PowerPC-supporting Linux distributions.&lt;br /&gt;
&lt;br /&gt;
=== Sources of Reusable Packages ===&amp;lt;br&amp;gt;* &#039;&#039;&#039;Debian Ports&#039;&#039;&#039;: Many packages already built for PPC64 (Big Endian) &amp;amp;nbsp;&amp;lt;br&amp;gt;* &#039;&#039;&#039;Gentoo PPC64&#039;&#039;&#039;: Source-based packages easily recompiled for our target &amp;amp;nbsp;&amp;lt;br&amp;gt;* &#039;&#039;&#039;Void Linux PPC&#039;&#039;&#039;: Lightweight, musl or glibc-based &amp;amp;nbsp;&amp;lt;br&amp;gt;* &#039;&#039;&#039;Buildroot&#039;&#039;&#039;: Embedded-focused, ideal for minimal images &amp;amp;nbsp;&amp;lt;br&amp;gt;* &#039;&#039;&#039;Yocto layers/meta-ppc&#039;&#039;&#039;: Helpful BSPs and tooling &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Cross-compiling Approach ===&lt;br /&gt;
&lt;br /&gt;
1. Use `powerpc64-linux-gnu-gcc` cross-toolchain &amp;amp;nbsp;&amp;lt;br&amp;gt;2. Cross-compile Debian source packages or Gentoo ebuilds &amp;amp;nbsp;&amp;lt;br&amp;gt;3. Create our own package repository (e.g., Debian-style repo or overlay FS) &amp;amp;nbsp;&amp;lt;br&amp;gt;4. Validate on QEMU before deploying to real hardware &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Tools and Infrastructure ===&amp;lt;br&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Purpose !! Tool&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Source retrieval || apt-src, emerge, xbps-src&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Compilation || cross-make, dpkg-buildpackage, Gentoo&#039;s crossdev&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Patching || quilt, debdiff, git am&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Staging and testing || chroot, Docker, QEMU&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal&#039;&#039;&#039;: Reduce duplication, benefit from upstream security updates, and create a lean maintainable software stack.&lt;br /&gt;
&lt;br /&gt;
== 6. CI/CD Pipelines and Build Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
To ensure maintainability, reproducibility, and collaboration, we aim to adopt continuous integration and modern DevOps practices.&lt;br /&gt;
&lt;br /&gt;
=== CI/CD Goals ===&lt;br /&gt;
&lt;br /&gt;
* Automatically build U-Boot, kernel, and rootfs images &amp;amp;nbsp;&amp;lt;br&amp;gt;* Run tests on emulated environments (QEMU PPC64) &amp;amp;nbsp;&amp;lt;br&amp;gt;* Deploy daily/weekly builds for community testing &amp;amp;nbsp;&amp;lt;br&amp;gt;* Detect regressions early and validate commits &amp;amp;nbsp;&lt;br /&gt;
=== Tools ===&amp;lt;br&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Use Case !! Toolchain&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| CI/CD pipelines || GitHub Actions, GitLab CI, Buildbot&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Emulated testing || QEMU PowerPC64 + expect/serial scripts&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Cross-builds || Docker + &amp;amp;lt;code&amp;amp;gt;powerpc64-linux-gnu-gcc&amp;amp;lt;/code&amp;amp;gt; toolchains&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Image hosting || GitHub Pages, Netlify, custom CDN&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Build orchestration || cbuild, Yocto Autobuilder, Jenkins&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
== 7. Docker Images for Build and Dev Environments ==&lt;br /&gt;
&lt;br /&gt;
Pre-configured Docker images help developers build and test quickly across any host system.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases ===&lt;br /&gt;
&lt;br /&gt;
* Build U-Boot or Linux kernel from any host &amp;amp;nbsp;&amp;lt;br&amp;gt;* Package testing in isolated environments &amp;amp;nbsp;&amp;lt;br&amp;gt;* Running PPC-specific tools in reproducible containers &amp;amp;nbsp;&lt;br /&gt;
=== Example Images ===&amp;lt;br&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Image Name !! Description&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| powerpc-dev-env || Full dev env with toolchain and make&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| powerpc-kernel-builder || Kernel-specific builder and configs&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| powerpc-debian-chroot || Debootstrap PPC64 rootfs for package test&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
== 8. Inspirations from Debian and Other Projects ==&lt;br /&gt;
&lt;br /&gt;
We aim to reuse and adapt ideas from existing projects to accelerate development.&lt;br /&gt;
&lt;br /&gt;
=== Relevant Debian Practices ===&lt;br /&gt;
&lt;br /&gt;
* Reproducible Builds &amp;amp;nbsp;&amp;lt;br&amp;gt;* Debian Ports infrastructure &amp;amp;nbsp;&amp;lt;br&amp;gt;* &amp;amp;lt;code&amp;amp;gt;live-build&amp;amp;lt;/code&amp;amp;gt; and &amp;amp;lt;code&amp;amp;gt;debootstrap&amp;amp;lt;/code&amp;amp;gt; &amp;amp;nbsp;&amp;lt;br&amp;gt;* Debian Installer (&amp;amp;lt;code&amp;amp;gt;d-i&amp;amp;lt;/code&amp;amp;gt;) &amp;amp;nbsp;&amp;lt;br&amp;gt;* QA tools: lintian, piuparts, autopkgtest &amp;amp;nbsp;&lt;br /&gt;
=== Related Projects to Watch ===&amp;lt;br&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&amp;lt;br&amp;gt;! Project !! Relevance&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Debian PowerPC || Maintains PPC64 ports and packages&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Void PPC || Maintains lightweight PPC builds&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Gentoo PPC || Flexible, source-based PPC support&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| Yocto/OpenEmbedded || Board support packages and rootfs config&amp;lt;br&amp;gt;|-&amp;lt;br&amp;gt;| OpenPOWER Firmware || Future firmware replacement roadmap&amp;lt;br&amp;gt;|}&lt;br /&gt;
&lt;br /&gt;
== 9. Build Tooling (WIP Placeholder Section) ==&lt;br /&gt;
&lt;br /&gt;
This section will document the exact steps, tools, and workflows needed to build every part of the software stack.&lt;br /&gt;
&lt;br /&gt;
=== Build Tooling Overview ===&lt;br /&gt;
&lt;br /&gt;
* Cross-toolchain setup (e.g. NXP SDK, crosstool-ng, LLVM)&amp;lt;br&amp;gt;* U-Boot build and customization&amp;lt;br&amp;gt;* Linux kernel configuration and build&amp;lt;br&amp;gt;* Root filesystem generation methods (debootstrap, Buildroot, Yocto)&amp;lt;br&amp;gt;* Build orchestration (Makefiles, shell scripts, CI runners)&amp;lt;br&amp;gt;* Packaging tools for our distro (dpkg, xbps, etc.)&amp;lt;br&amp;gt;* Secure image signing (U-Boot SPL, FIT images, secure boot)&amp;lt;br&amp;gt;* Emulator-based validation and test harnesses&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Details for each item will be populated progressively as we finalize architecture and test results.&lt;br /&gt;
&lt;br /&gt;
== 10. Other Links and Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Technical Resources ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.nxp.com/products/processors-and-microcontrollers/power-architecture/qoriq-platforms/t-series/qoriq-t2080-and-t2081-multicore-communications-processors:T2080 NXP T2080 Reference Manual] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://source.denx.de/u-boot/u-boot Denx U-Boot Git] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/ Linux PowerPC Git] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://wiki.debian.org/PowerPC Debian PowerPC Wiki] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://voidlinux-ppc.org/ Void PPC Project] &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Community and Support ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.powerprogress.org/ Power Progress Community] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://wiki.debian.org/PowerPC#Communication PowerPC IRC/Matrix] &amp;amp;nbsp;&amp;lt;br&amp;gt;* [https://openpowerfoundation.org/ OpenPOWER Foundation] &amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hiiripollo</name></author>
	</entry>
</feed>