Pages

Install QEMU PPC64 on Ubuntu 24.04.4 & Deploy IBM AIX 7.2 TL04 SP02

This document provides a step-by-step guide for installing QEMU (PPC64) on an Ubuntu Server virtual machine and deploying IBM AIX 7.2 TL04 SP02 (7200-04-02) using software-based POWER8 emulation.
  • Build a functional AIX lab environment on standard x86 hardware
  • Test AIX installations and configurations safely
  • Practice system administration tasks
  • Experiment with OpenSSH, networking, and storage configuration
  • Perform development and compatibility testing
Since POWER architecture emulation is performed using QEMU’s Tiny Code Generator (TCG), performance will be lower than native IBM Power Systems hardware. However, this setup is ideal for lab, learning, and proof-of-concept environments.

The following sections detail system requirements, virtualization configuration, QEMU installation, AIX deployment, and post-installation considerations.

1. Prerequisites
1.1 Hardware Requirements
  • CPU with Intel VT-x/EPT or AMD-V/RVI
  • Minimum 16 GB RAM recommended
  • At least 60 GB disk space
  • VMware Workstation Pro or Player
AIX under QEMU uses TCG (software emulation) for POWER architecture.
VT-x/AMD-V is required for the Linux VM performance, not for POWER acceleration.

2. Create Ubuntu Server VM in VMware Workstation
2.1 Create Virtual Machine

Open VMware Workstation
Create New Virtual Machine
Select:
Guest OS: Linux
Version: Ubuntu 64-bit
Load iso Image: ubuntu-24.04.4-live-server-amd64
Assign:
8–16 GB RAM
4+ CPU cores
100 GB disk (recommended)
Network:
Bridged or NAT (Bridged preferred if using TAP networking)
2.2 Enable CPU Virtualization
VM →
VM Settings → Processors → Enable:
Virtualize Intel VT-x/EPT or AMD-V/RVI
Virtualize CPU performance counters (optional)
Also verify BIOS virtualization is enabled on host machine.

3. Install Ubuntu Server
Download Ubuntu Server ISO from: https://ubuntu.com/download/server
ubuntu-24.04.4-live-server-amd64.iso
Install ubuntu-24.04.4 server in VMware Workstation 
  • Power on VM 
  • Try or Install Ubuntu server 
  • Select English --> Ubuntu Server --> Configure Network --> Configure Storage (LVM) ---> Setup User ID & Password --> Install OpenSSH Server --Installation In-Progress...... take sometime to install ubuntu server 
After installation complete:
Install normally and update system:
$ sudo apt update
$ sudo apt upgrade -y

4. Install QEMU for POWER (PPC64)
$ sudo apt update
$ sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils dnsmasq-base
$ sudo systemctl enable --now libvirtd
$ sudo virsh net-autostart default
$ sudo apt install qemu-system-ppc -y

Verify installation:
$ qemu-system-ppc64 --version
QEMU emulator version 8.2.2 (Debian 1:8.2.2+ds-0ubuntu1.12)
Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers

5. Prepare AIX Installation Media
Required:
IBM AIX 7.2 TL04 SP02 ISO images
Disk 1 ISO
Disk 2 ISO

Example:
aix_7200-04-02-2027_1of2_072020.iso
aix_7200-04-02-2027_2of2_072020.iso
Create directory:
$ sudo mkdir -p /aix/image
Copy:
AIX ISOs
Create qcow2 disk image:
# qemu-img create -f qcow2 /aix/image/aix_7200-04.qcow2 30G

6. Configure TAP Networking
Install bridge utilities:
$ sudo apt install bridge-utils -y
Create TAP interface:
sudo ip tuntap add dev tap1 mode tap
$ sudo ip link set tap1 up
If using bridge:
sudo brctl addbr br0
$ sudo brctl addif br0 tap1
$ sudo ip link set br0 up

7. Start AIX Installation via QEMU
Run:
# qemu-system-ppc64 \
-name indaixtst01 \
-cpu POWER8 -smp 4,threads=1 \
-machine pseries,cap-cfpc=broken,cap-ibs=broken,cap-ccf-assist=off \
-m 8G \
-serial stdio \
-display none \
-device spapr-vscsi,id=scsi0 \
-drive file=/aix/image/aix_7200-04.qcow2,if=none,id=drive1,format=qcow2,cache=none \
-device scsi-hd,drive=drive1,bus=scsi0.0,scsi-id=0 \
-drive file=/aix/image/aix_7200-04-02-2027_1of2_072020.iso,if=none,id=cd1,format=raw,media=cdrom \
-device scsi-cd,drive=cd1,bus=scsi0.0,scsi-id=3,bootindex=1 \
-drive file=/aix/image/aix_7200-04-02-2027_2of2_072020.iso,if=none,id=cd2,format=raw,media=cdrom \
-device scsi-cd,drive=cd2,bus=scsi0.0,scsi-id=4 \
-netdev tap,id=net1,ifname=tap1,script=no,downscript=no \
-device spapr-vlan,netdev=net1,mac=52:54:00:11:00:12 \
-prom-env "input-device=vty" \
-prom-env "output-device=vty"

SLOF **********************************************************************
QEMU Starting
 Build Date = Dec 15 2025 12:33:49
 FW Version = release 20230918
 Press "s" to enter Open Firmware.

Populating /vdevice methods
Populating /vdevice/vty@71000000
Populating /vdevice/nvram@71000001
Populating /vdevice/v-scsi@71000002
       SCSI: Looking for devices
          8000000000000000 DISK     : "QEMU     QEMU HARDDISK    2.5+"
          8300000000000000 CD-ROM   : "QEMU     QEMU CD-ROM      2.5+"
          8400000000000000 CD-ROM   : "QEMU     QEMU CD-ROM      2.5+"
Populating /vdevice/l-lan@71000003
Populating /pci@800000020000000
                     00 0000 (D) : 1234 1111    qemu vga
                     00 0800 (D) : 1033 0194    serial bus [ usb-xhci ]
Installing QEMU fb

Scanning USB
  XHCI: Initializing
    USB Keyboard
    USB mouse
No console specified using screen & keyboard
User selected input-device console: vty
User selected output-device console: vty

  Welcome to Open Firmware
  Copyright (c) 2004, 2017 IBM Corporation All rights reserved.
  This program and the accompanying materials are made available
  under the terms of the BSD License available at
  http://www.opensource.org/licenses/bsd-license.php

Trying to load:  from: /vdevice/v-scsi@71000002/disk@8300000000000000 ...   Successfully loaded

get-property for ibm,hypertas-functions on zero phandle
AIX
Star
0539
0539
0c42
 ******* Please define the System Console. *******
Type a 1 and press Enter to use this terminal as the
  system console.
Pour definir ce terminal comme console systeme, appuyez
  sur 1 puis sur Entree.
Taste 1 und anschliessend die Eingabetaste druecken, um
  diese Datenstation als Systemkonsole zu verwenden.
Premere il tasto 1 ed Invio per usare questo terminal
  come console.
Escriba 1 y pulse Intro para utilizar esta terminal como
  consola del sistema.
Escriviu 1 1 i premeu Intro per utilitzar aquest
  terminal com a consola del sistema.
Digite um 1 e pressione Enter para utilizar este terminal
  como console do sistema.

0c31 
Type 1

 HARDWARE SYSTEM MICROCODE
 Licensed Internal Code - Property of IBM
 (C) Copyright IBM Corp. 1990, 1994.
 All rights reserved.

 US Government Users Restricted Rights -
 Use, duplication or disclosure restricted
 by GSA ADP Schedule Contract with IBM Corp.

0c33\
0c44-
0c46-
0c48

>>>  1 Type 1 and press Enter to have English during install.
     2 Entreu 2 i premeu Intro per veure la installaci en catal.
     3 Entrez 3 pour effectuer l'installation en franais.
     4 For Installation in deutscher Sprache 4 eingeben
        und die Eingabetaste drcken.
     5 Immettere 5 e premere Invio per l'installazione in Italiano.
     6 Digite 6 e pressione Enter para usar Portugus na instalao.
     7 Escriba 7 y pulse Intro para la instalacin en espaol.

    88  Help ?

>>> Choice [1]: 1

                      Welcome to Base Operating System
                      Installation and Maintenance

Type the number of your choice and press Enter.  Choice is indicated by >>>.

>>> 1 Start Install Now with Default Settings
    2 Change/Show Installation Settings and Install
    3 Start Maintenance Mode for System Recovery
    4 Make Additional Disks Available
    5 Select Storage Adapters

    88  Help ?
    99  Previous Menu
>>> Choice [1]: 2

                          Installation and Settings
Either type 0 and press Enter to install with current settings, or type the
number of the setting you want to change and press Enter.
    1  System Settings:
         Method of Installation.............New and Complete Overwrite
         Disk Where You Want to Install.....hdisk0
    2  Primary Language Environment Settings (AFTER Install):
         Cultural Convention................English (United States)
         Language ..........................English (United States)
         Keyboard ..........................English (United States)
         Keyboard Type......................Default
    3  Security Model.......................Default
    4  More Options  (Software install options)
    5  Select Edition.......................standard
>>> 0  Install with the current settings listed above.
                       +-----------------------------------------------------
    88  Help ?         |    WARNING: Base Operating System Installation will
    99  Previous Menu  |    destroy or impair recovery of ALL data on the
                       |    destination disk hdisk0.
>>> Choice [0]: 4

                            Install Options
 1.  Graphics Software................................................ Yes
 2.  System Management Client Software................................ Yes
 3.  OpenSSH Client Software.......................................... No
 4.  OpenSSH Server Software.......................................... No
 5.  Enable System Backups to install any system...................... Yes
     (Installs all devices)

>>> 6.  Install More Software
    0  Install with the current settings listed above.
    88  Help ?
    99  Previous Menu
>>> Choice [6]: 3

                             Install Options

 1.  Graphics Software................................................ Yes
 2.  System Management Client Software................................ Yes
 3.  OpenSSH Client Software.......................................... Yes
 4.  OpenSSH Server Software.......................................... No
 5.  Enable System Backups to install any system...................... Yes
     (Installs all devices)
>>> 6.  Install More Software
    0  Install with the current settings listed above.
    88  Help ?
    99  Previous Menu

>>> Choice [6]: 4
                            Install Options

 1.  Graphics Software................................................ Yes
 2.  System Management Client Software................................ Yes
 3.  OpenSSH Client Software.......................................... Yes
 4.  OpenSSH Server Software.......................................... Yes
 5.  Enable System Backups to install any system...................... Yes
     (Installs all devices)

>>> 6.  Install More Software
    0  Install with the current settings listed above.
    88  Help ?
    99  Previous Menu
>>> Choice [6]: 99

                          Installation and Settings

Either type 0 and press Enter to install with current settings, or type the
number of the setting you want to change and press Enter.
    1  System Settings:
         Method of Installation.............New and Complete Overwrite
         Disk Where You Want to Install.....hdisk0
    2  Primary Language Environment Settings (AFTER Install):
         Cultural Convention................English (United States)
         Language ..........................English (United States)
         Keyboard ..........................English (United States)
         Keyboard Type......................Default
    3  Security Model.......................Default
    4  More Options  (Software install options)
    5  Select Edition.......................standard
>>> 0  Install with the current settings listed above.
                       +-----------------------------------------------------
    88  Help ?         |    WARNING: Base Operating System Installation will
    99  Previous Menu  |    destroy or impair recovery of ALL data on the
                       |    destination disk hdisk0.
>>> Choice [0]: 1

                 Change Disk(s) Where You Want to Install
Type one or more numbers for the disk(s) to be used for installation and press
Enter. To cancel a choice, type the corresponding number and Press Enter.
At least one bootable disk must be selected. The current choice is indicated
by >>>.
        Name      Location Code   Size(MB)  VG Status   Bootable
>>>  1  hdisk0    none             30720   none            Yes    No


>>>  0   Continue with choices indicated above
    55  More Disk Options
    66  Disks not known to Base Operating System Installation
    77  Display More Disk Information
    88  Help ?
    99  Previous Menu
>>> Choice [0]: 0

                          Installation and Settings

Either type 0 and press Enter to install with current settings, or type the
number of the setting you want to change and press Enter.
    1  System Settings:
         Method of Installation.............New and Complete Overwrite
         Disk Where You Want to Install.....hdisk0
    2  Primary Language Environment Settings (AFTER Install):
         Cultural Convention................English (United States)
         Language ..........................English (United States)
         Keyboard ..........................English (United States)
         Keyboard Type......................Default
    3  Security Model.......................Default
    4  More Options  (Software install options)
    5  Select Edition.......................standard
>>> 0  Install with the current settings listed above.
                       +-----------------------------------------------------
    88  Help ?         |    WARNING: Base Operating System Installation will
    99  Previous Menu  |    destroy or impair recovery of ALL data on the
                       |    destination disk hdisk0.
>>> Choice [0]: 0
                            Overwrite Installation Summary
Disks:  hdisk0
Cultural Convention:  en_US
Language:  en_US
Keyboard:  en_US
Graphics Software:  Yes
System Management Client Software:  Yes
OpenSSH Client Software:  Yes
OpenSSH Server Software:  Yes
Enable System Backups to install any system:  Yes
Selected Edition:  standard
Optional Software being installed:

>>> 1   Continue with Install
                       +-----------------------------------------------------
    88  Help ?         |    WARNING: Base Operating System Installation will
    99  Previous Menu  |    destroy or impair recovery of ALL data on the
                       |    destination disk hdisk0.
>>> Choice [1]: 1
                        Installing Base Operating System
        Please wait...
        Approximate     Elapsed time
     % tasks complete   (in minutes)
              1                0
0c46          3                1      Making logical volumes.
0c54          7                2      Restoring base operating system
0c52          13               3      Over mounting /.
0c46          16               4      Copying Cu* to disk.
              18               7      Installing additional software.


Set_Bootlist: Could not set the bootlist to:
hdisk0    .
The boot device must be set in the host KVM.
Press 1 to continue: 1
          96               125      Creating boot image.

Installation takes 20–60 minutes depending on CPU performance.

9. First Boot After Installation
After install completes:
Remove ISO from QEMU command
Add additional disk 
# qemu-img create -f qcow2 /aix/disk/indaixtst01-hdisk2.qcow2 30G
# qemu-img create -f qcow2 /aix/disk/indaixtst01-hdisk3.qcow2 30G
Generate a Random MAC
$ printf '52:54:00:%02x:%02x:%02x\n' $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256))
Put the mac address vm start command 
Boot from qcow2 disk only
Modified start command:
# /usr/bin/qemu-system-ppc64 \
  -name indaixtst01 \
  -cpu POWER8 \
  -uuid 550e8400-e29b-41d4-a716-446655440001 \
  -machine pseries,cap-cfpc=broken,cap-ibs=broken,cap-ccf-assist=off,cap-sbbc=broken \
  -m 4G \
  -smp 2,threads=1 \
  -serial telnet:127.0.0.1:9001,server,nowait \
  -display none \
  -device virtio-scsi-pci,id=scsi1 \
  -drive file=/aix/disk/indaixtst01-hdisk1.qcow2,if=none,id=drive1,format=qcow2,cache=none,aio=threads \
  -drive file=/aix/disk/indaixtst01-hdisk2.qcow2,if=none,id=drive2,format=qcow2,cache=none,aio=threads \
  -drive file=/aix/disk/indaixtst01-hdisk3.qcow2,if=none,id=drive3,format=qcow2,cache=none,aio=threads \
  -device scsi-hd,drive=drive1,bus=scsi1.0,scsi-id=1,bootindex=0,serial=BOOTDISK1 \
  -device scsi-hd,drive=drive2,bus=scsi1.0,scsi-id=2,bootindex=1,serial=BOOTDISK2 \
  -device scsi-hd,drive=drive3,bus=scsi1.0,scsi-id=3,serial=DATADISK1 \
  -netdev tap,id=net1,ifname=tap1,script=no,downscript=no \
  -device spapr-vlan,netdev=net1,mac=51:61:00:11:81:91 \
  -prom-env "boot-command=boot disk: -o" \
  -prom-env "input-device=vty" \
  -prom-env "output-device=vty" \
  -prom-env "term-type=vt100" \
  -prom-env "use-nvramrc?=true"

Login qemu console:
# telnet 127.0.0.1:9001 or telnet localhost 9001


                            Set Terminal Type
The terminal is not properly initialized.  Please enter a terminal type
and press Enter.  Some terminal types are not supported in
non-English languages.

     ibm3101          tvi912          vt330          aixterm
     ibm3151          tvi920          vt340          dtterm
     ibm3161          tvi925          wyse30         xterm
     ibm3162          tvi950          wyse50         lft
     ibm3163          vs100           wyse60         sun
     ibm3164          vt100           wyse100
     ibmpc            vt320           wyse350

                      +-----------------------Messages------------------------
                      | If the next screen is unreadable, press Break (Ctrl-c)
    88  Help ?        | to return to this screen.
                      |
>>> Choice []: vt100
                        Accept License Agreements

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                                        [Entry Fields]
  ACCEPT Installed License Agreements                 yes                    +

                Accept Software Maintenance Terms and Conditions
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                                        [Entry Fields]
  ACCEPT Software Maintenance Agreements?             yes                    +


                             Installation Assistant

Move cursor to desired item and press Enter.

  Set Date and Time
  Set root Password
  Configure Network Communications
  Install Software Applications
  System Workload Partition Software Maintenance
  Using SMIT (information only)
  Tasks Completed - Exit to Login

AIX Version 7
Copyright IBM Corporation, 1982, 2020.
Console login: root  ----> No Password 
*******************************************************************************
*                                                                             *
*                                                                             *
*  Welcome to AIX Version 7.2!                                                *
*                                                                             *
*                                                                             *
*  Please see the README file in /usr/lpp/bos for information pertinent to    *
*  this release of the AIX Operating System.                                  *
*                                                                             *
*                                                                             *
*******************************************************************************
# password root   ---> Set root password 

13. Post-Installation Configuration (IBM AIX 7.2)
After completing the installation of IBM AIX 7.2 TL04 SP02, perform the following configuration steps to enable console login, correct terminal behavior, customize the shell prompt, and configure basic networking.

13.1 Enable Console Login
Enable login on the virtual terminal:
# chdev -l vty0 -a login=enable
13.2 Fix Terminal Settings (QEMU vty Console)
Set default terminal type:
# echo "TERM=vt100" >> /etc/environment
Configure root profile for proper terminal behavior:
# echo "export TERM=vt100" >> /.profile
# echo "stty erase ^H" >> /.profile
# echo "stty erase ^?" >> /.profile

Add a custom shell prompt:
# cat << 'EFO' >> ~/.profile
HOST=$(uname -n)
PS1="[$HOST] \$PWD # "
export PS1
EFO
Apply changes:
. ~/.profile
13.3 Configure Hostname
Set system hostname:
# chdev -l inet0 -a hostname=indaixtst01
Verify:
# hostname
# uname -n
13.4 Configure Network Interface
Configure IP address and bring interface up:
# chdev -l en1 -a netaddr=192.168.122.15 -a netmask=255.255.255.0 -a state=up
Verify interface status:
# ifconfig en1
13.5 Update Hosts File
Add hostname resolution entry:
# echo "192.168.122.15    indaixtst01.ppc.com indaixtst01" >> /etc/hosts

11.AIX 7.2 VM Deployment on QEMU (Auto-Start via systemd)
This document explains how to:
  • Convert a QCOW2 disk image
  • Configure an AIX VM using QEMU
  • Create a systemd service for automatic startup
  • Access the AIX server via SSH
  • The VM runs AIX 7.2 TL4 on QEMU using qemu-system-ppc64 with POWER8 emulation.
Convert QCOW2 Disk Image:
If needed, convert or optimize the disk image:
# qemu-img convert -p -f qcow2 -O qcow2 \
/aix/image/aix_7200-04.qcow2 \
/aix/disk/indaixtst01-hdisk1.qcow2

Option Explanation:
Option Description
convert Converts disk image format
-p Shows progress
-f qcow2 Source format
-O qcow2 Output format
/aix/image/... Source image
/aix/disk/... Destination image
Since both formats are qcow2, this rewrites/optimizes the image.

Create systemd Service for Auto Boot
To automatically start the AIX VM when Ubuntu boots, create a systemd service.
Create Service File
# vi /etc/systemd/system/aix1.service
Service Configuration:
[Unit]
Description=AIX VM 01 - indaixtst01
After=network.target

[Service]
Type=simple
User=root

# --- Networking Setup for tap1 ---
ExecStartPre=/usr/bin/bash -c "ip link show virbr0 || (virsh net-start default && sleep 2)"
ExecStartPre=-/usr/sbin/ip link delete tap1
ExecStartPre=/usr/sbin/ip tuntap add mode tap tap1
ExecStartPre=/usr/sbin/ip link set tap1 up
ExecStartPre=/usr/sbin/ip link set tap1 master virbr0

# --- Main QEMU Command ---
ExecStart=/usr/bin/qemu-system-ppc64 \
  -name indaixtst01 \
  -cpu POWER8 \
  -uuid 550e8400-e29b-41d4-a716-446655440001 \
  -machine pseries,cap-cfpc=broken,cap-ibs=broken,cap-ccf-assist=off,cap-sbbc=broken \
  -m 4G \
  -smp 2,threads=1 \
  -serial telnet:127.0.0.1:9001,server,nowait \
  -display none \
  -device virtio-scsi-pci,id=scsi1 \
  -drive file=/aix/disk/indaixtst01-hdisk1.qcow2,if=none,id=drive1,format=qcow2,cache=none,aio=threads \
  -drive file=/aix/disk/indaixtst01-hdisk2.qcow2,if=none,id=drive2,format=qcow2,cache=none,aio=threads \
  -drive file=/aix/disk/indaixtst01-hdisk3.qcow2,if=none,id=drive3,format=qcow2,cache=none,aio=threads \
  -device scsi-hd,drive=drive1,bus=scsi1.0,scsi-id=1,bootindex=0,serial=BOOTDISK1 \
  -device scsi-hd,drive=drive2,bus=scsi1.0,scsi-id=2,bootindex=1,serial=BOOTDISK2 \
  -device scsi-hd,drive=drive3,bus=scsi1.0,scsi-id=3,serial=DATADISK1 \
  -netdev tap,id=net1,ifname=tap1,script=no,downscript=no \
  -device spapr-vlan,netdev=net1,mac=51:61:00:11:81:91 \
  -prom-env "boot-command=boot disk: -o" \
  -prom-env "input-device=vty" \
  -prom-env "output-device=vty" \
  -prom-env "term-type=vt100" \
  -prom-env "use-nvramrc?=true"

# --- Post-start Fix for AIX Checksum issues ---
ExecStartPost=/usr/sbin/ethtool -K tap1 tx off

# --- Cleanup and Restart ---
ExecStop=/usr/bin/kill -INT $MAINPID
ExecStopPost=-/usr/sbin/ip link delete tap1
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Reload and Enable Service
# sudo systemctl daemon-reload
# sudo systemctl enable --now aix1.service
This will:
  • Enable service at boot
  • Start the VM immediately
  • Automatically restart on failure
VM Boot Process
After the Ubuntu server boots:
The aix1.service starts automatically
Network bridge virbr0 is validated
TAP interface tap1 is created
AIX VM starts
TX checksum offloading is disabled (fixes AIX networking issue)
Boot time: ~5 minutes

Access AIX via SSH
Once the VM is fully booted:
# ssh root@192.168.122.15

12. Performance Notes
  • QEMU PPC64 uses TCG (Tiny Code Generator)
  • No KVM acceleration for POWER on x86
  • Expect slower performance vs native POWER hardware
  • For production-level AIX performance, consider:
  • IBM Power Systems hardware
  • PowerVM
  • IBM PowerVS (cloud)


No comments:

Post a Comment