Linux Images
Prebuilt Linux kernels and root filesystems for PowerPC systems.
Kernel Images
Microwatt Kernel (v6.1)
Specifications:
- Architecture: PowerPC 64-bit big-endian
- Config:
microwatt_defconfig - Size: ~2.3MB compressed
- Features: Serial console, initramfs, networking
Download:
wget https://powercommons.org/downloads/zImage-microwatt-6.1
wget https://powercommons.org/downloads/microwatt.dtb
Boot:
litex_term --kernel=zImage-microwatt-6.1 --kernel-adr=0x00000000 /dev/ttyUSB1
Root Filesystems
Minimal Busybox (8MB)
Contents:
- Busybox userspace
- Basic utilities (ls, cat, vi)
- Network tools (ping, wget)
- No package manager
Download:
wget https://powercommons.org/downloads/rootfs-minimal.cpio.gz
Use:
# Embed in kernel
mkimage -A powerpc -O linux -T ramdisk -C gzip -d rootfs-minimal.cpio.gz rootfs.uImage
Debian Minimal (256MB)
Contents:
- Debian base system
- apt package manager
- GCC compiler
- Python 3
Download:
wget https://powercommons.org/downloads/rootfs-debian-base.tar.gz
Mount:
# Extract to SD card or network boot
tar -xzf rootfs-debian-base.tar.gz -C /mnt/sdcard
Device Trees
VCU-118 Device Tree
wget https://powercommons.org/downloads/vcu118-microwatt.dtb
Source (for customization):
wget https://powercommons.org/downloads/vcu118-microwatt.dts
# Edit and recompile
dtc -I dts -O dtb -o custom.dtb vcu118-microwatt.dts
Build Your Own
Kernel
See PowerPC Toolchain guide.
git clone --depth 1 -b v6.1 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
cd linux
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux-gnu- microwatt_defconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux-gnu- -j$(nproc)
Output: arch/powerpc/boot/zImage
Root Filesystem with Buildroot
git clone https://git.buildroot.net/buildroot
cd buildroot
make qemu_ppc64_pseries_defconfig
make menuconfig # Customize
make -j$(nproc)
Output: output/images/rootfs.cpio.gz
Boot Examples
Serial Boot (RAM)
Load kernel via serial:
litex_term --kernel=zImage-microwatt-6.1 /dev/ttyUSB1
Network Boot (TFTP)
Configure U-Boot:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.10
tftpboot 0x01000000 zImage-microwatt-6.1
bootm 0x01000000
SD Card Boot
Write kernel to SD:
dd if=zImage-microwatt-6.1 of=/dev/sdX bs=1M
Verification
Check kernel version:
# After boot
uname -a
Expected:
Linux microwatt 6.1.0 #1 SMP powerpc64 GNU/Linux
Customization
Add Packages to Debian Root
# Mount rootfs
mkdir /tmp/rootfs
sudo tar -xzf rootfs-debian-base.tar.gz -C /tmp/rootfs
# Chroot (requires qemu-user-static)
sudo chroot /tmp/rootfs /bin/bash
apt update
apt install -y python3 git vim
# Repackage
sudo tar -czf rootfs-debian-custom.tar.gz -C /tmp/rootfs .
Performance
Boot time on VCU-118 @ 100MHz:
- Kernel decompression: 15s
- Kernel init: 20s
- Userspace init: 10s
- Total to prompt: ~45 seconds
License
- Kernel: GPL-2.0
- Debian packages: Various (mostly GPL/LGPL)
- Buildroot rootfs: GPL-2.0+
See individual package licenses.
Issues
Boot problems? See: