Create an AIX 7.2 VM on QEMU
Reference: QEMU - AIX on x86
Installing Qemu on Ubuntu.
sudo apt-get install qemu-system
Create a disk file.
qemu-img create -f qcow2 /mnt/e/Qemu/AIX_v7.2/hdisk0.qcow2 20G
Create an AIX VM.
qemu-system-ppc64 -cpu POWER8 -machine pseries,accel=tcg -m 4096 -serial stdio \ -drive file=/mnt/e/Qemu/AIX_v7.2/hdisk0.qcow2,if =none,id =drive-virtio-disk0 \ -device virtio-scsi-pci,id =scsi \ -device scsi-hd,drive=drive-virtio-disk0 \ -cdrom /mnt/e/Downloads/AIX_v7.2_Install_7200-03-03-1913_DVD_1_of_2_052019.iso \ -prom-env "boot-command=boot cdrom:"
Fix fsck64 issue in Maintenance mode.
fsck fails during boot and boot will hang. A workaround to this issue is to overwrite fsck64 file with exit 0. Boot the new AIX to maintenance mode:
When the "Welcome to Base Operating System" menu appears: choose 3 (Start Maintenance Mode) --> 1 (Access a Root VG) --> 0 Continue --> 1 (VG on hdisk0) --> 1 (Access this VG and start a shell).
cat <<EOF >/sbin/helpers/jfs2/fsck64 #!/bin/ksh exit 0 EOF sync halt
Boot from disk.
qemu-system-ppc64 -cpu POWER8 -machine pseries,accel=tcg -m 4096 -serial stdio \ -drive file=/mnt/e/Qemu/AIX_v7.2/hdisk0.qcow2,if =none,id =drive-virtio-disk0 \ -device virtio-scsi-pci,id =scsi \ -device scsi-hd,drive=drive-virtio-disk0 \ -cdrom /mnt/e/Downloads/AIX_v7.2_Install_7200-03-03-1913_DVD_1_of_2_052019.iso \ -prom-env "boot-command=boot disk:"
This boot will take much longer (about 5-10 minutes) as some daemons will fail and it will hang at NFS part until timeout, but we will get a prompt. After that some services will be disabled (so next boots will be faster) and installed ssh from DVD.
Disabling services in inittab.
rmitab rcnfs rmitab cron rmitab piobe rmitab qdaemon rmitab writesrv rmitab naudio2 rmitab naudio rmitab aso rmitab clcomd chrctcp -S -d tftpd
Install ssh and change root password.
chfs -a size=+200M /home mount -v cdrfs -o ro /dev/cd0 /mnt mkdir /home/ssh; cd /mnt/installp/ppc; cp openssh.base openssh.license openssh.man.en_US openssh.msg.en_US /home/ssh; umount /mnt cd /home/ssh; installp -acXY -d . all passwd root halt
Local Network setup.
sudo ip tuntap add tap0 mode tapsudo ip link set tap0 upsudo brctl addbr br0sudo brctl setfd br0 0sudo ifconfig br0 10.0.0.2 netmask 255.255.255.0 broadcast 10.0.0.255 upsudo brctl addif br0 tap0sudo ifconfig tap0 0.0.0.0sudo sysctl net.ipv4.ip_forward=1
Boot up AIX using tap0 device:
qemu-system-ppc64 -cpu POWER8 -machine pseries -m 4096 -serial stdio \ -drive file=/mnt/e/Qemu/AIX_v7.2/hdisk0.qcow2,if =none,id =drive-virtio-disk0 \ -device virtio-scsi-pci,id =scsi \ -device scsi-hd,drive=drive-virtio-disk0 \ -cdrom /mnt/e/Downloads/AIX_v7.2_Install_7200-03-03-1913_DVD_1_of_2_052019.iso \ -prom-env "boot-command=boot disk:" \ -net nic -net tap,script=no,ifname=tap0
Setup network in AIX.
chdev -l en0 -a netaddr=10.0.0.100 -a netmask=255.255.255.0 -a state=up route add 0 10.0.0.2 ifconfig -a netstat -nr
Boot in the background without a console.
qemu-system-ppc64 -cpu POWER8 -machine pseries -m 4096 \ -drive file=/mnt/e/Qemu/AIX_v7.2/hdisk0.qcow2,if =none,id =drive-virtio-disk0 \ -device virtio-scsi-pci,id =scsi \ -device scsi-hd,drive=drive-virtio-disk0 \ -cdrom /mnt/e/Downloads/AIX_v7.2_Install_7200-03-03-1913_DVD_1_of_2_052019.iso \ -prom-env "boot-command=boot disk:" \ -net nic -net tap,script=no,ifname=tap0 -daemonize
Errors
qemu-system-x86_64: failed to initialize kvm: Permission denied
The default permission is 660.
sakura@sakurayumeno:~$ ls -l /dev/kvm crw-rw---- 1 root kvm 10, 232 Jun 27 17:14 /dev/kvm
Workaround:
Change permission to 666, or use sudo to elevate permissions.
sakura@sakurayumeno:~$ sudo chmod 666 /dev/kvm [sudo ] password for sakura: sakura@sakurayumeno:~$ !ls ls -l /dev/kvmcrw-rw-rw- 1 root kvm 10, 232 Jun 27 17:14 /dev/kvm sakura@sakurayumeno:~$ sudo qemu-system-x86_64 -m 4G -smp 4 -cpu host \ -usb \ -device usb-tablet \ -boot d \ -enable-kvm \ -drive file=/mnt/e/blog/source/assets/software/iso/Win10PE_20240519.iso,media=cdrom \ -device virtio-gpu-pci