How To Install IBM-AIX in Your Laptop
Updated: Oct 3, 2021
Alhamdulillah, Finally I have successfully installed the IBM AIX Operation System in My Laptop. And my laptop running with Red Hat Enterprise Linux 7.8.
Here are two document links for your reference, if you want to know more or any troubleshooting required based on your scenario.
http://gibsonnet.net/blog/cgaix/resource/AIX_QEMU_blog.pdf
https://developer.ibm.com/articles/enhancing-qemu-virtio-scsi-with-block-limits-vpd-emulation/
Let's start.
Install QEMU:
Step:1 First we need to download qemu software, and it can be download from two different source. as below.
# cd /usr/local
# git clone git://git.qemu.org/qemu.git
Cloning into 'qemu'...
remote: Counting objects: 504156, done.
remote: Compressing objects: 100% (87992/87992), done.
remote: Total 504156 (delta 414857), reused 504059 (delta 414800)
Receiving objects: 100% (504156/504156), 177.24 MiB | 289.00 KiB/s, done.
Resolving deltas: 100% (414857/414857), done.
You can also download the tar format using "wget https://download.qemu.org/qemu-5.1.0-rc3.tar.xz" command and untar it using "tar xvJf qemu-5.1.0-rc3.tar.xz" command under the /usr/local directory.
Step:2 To install prerequisite rpm's from the RHEL OS DVD to build and compile the downloaded qemu source code.
# yum install pixman-devel gcc make -y
# rpm -qa|egrep "pixman-devel|gcc-|make-"
libgcc-4.8.5-39.el7.i686
automake-1.13.4-3.el7.noarch
pixman-devel-0.34.0-1.el7.x86_64
gcc-4.8.5-39.el7.x86_64
make-3.82-24.el7.x86_64
libgcc-4.8.5-39.el7.x86_64
Note: in your scenario, the prerequisite rpm's may be more or less.
Step:3 Build and compile the downloaded qemu source code to install.
# cd qemu
# mkdir build; cd build
# ../configure --target-list='ppc64-softmmu ppc-softmmu'
No C++ compiler available; disabling C++ specific optional code
Install prefix /usr/local
BIOS directory /usr/local/share/qemu
firmware path /usr/local/share/qemu-firmware
binary directory /usr/local/bin
library directory /usr/local/lib
module directory /usr/local/lib/qemu
libexec directory /usr/local/libexec
include directory /usr/local/include
config directory /usr/local/etc
local state directory /usr/local/var
Manual directory /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Build directory /usr/local/qemu/build
Source path /usr/local/qemu
GIT binary git
GIT submodules ui/keycodemapdb tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc capstone slirp
C compiler cc
Host C compiler cc
C++ compiler
Objective-C compiler cc
ARFLAGS rv
CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g
QEMU_CFLAGS -I/usr/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -Werror -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -std=gnu99 -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wno-missing-include-dirs -Wno-psabi -fstack-protector-strong -Wno-missing-braces -I$(SRC_PATH)/capstone/include
QEMU_LDFLAGS -L$(BUILD_DIR)/dtc/libfdt -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -fstack-protector-strong
make make
install install
python /bin/python3 -B (3.6.8)
genisoimage /bin/genisoimage
efi_aarch64 /usr/local/qemu/build/pc-bios/edk2-aarch64-code.fd
python_yaml no
slirp support git
smbd /usr/sbin/smbd
module support no
alt path mod load no
host CPU x86_64
host big endian no
target list ppc64-softmmu ppc-softmmu
::::::::::::: CUT SOME OUTPUT :::::::::::::
fuzzing support no
gdb /bin/gdb
rng-none no
Linux keyring yes
cross containers podman
# make
GEN ppc64-softmmu/config-devices.mak.tmp
GEN ppc64-softmmu/config-devices.mak
GEN ppc-softmmu/config-devices.mak.tmp
GEN ppc-softmmu/config-devices.mak
GEN config-all-devices.mak
GEN config-host.h
::::::::::::: CUT SOME OUTPUT :::::::::::::
BUILD pc-bios/optionrom/pvh.img
BUILD pc-bios/optionrom/pvh.raw
SIGN pc-bios/optionrom/pvh.bin
CC contrib/vhost-user-input/main.o
CC contrib/libvhost-user/libvhost-user.o
CC contrib/libvhost-user/libvhost-user-glib.o
AR libvhost-user.a
LINK vhost-user-input
# make install
make[1]: Entering directory `/usr/local/qemu/slirp'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/local/qemu/slirp'
install -d -m 0755 "/usr/local/share/qemu"
install -d -m 0755 "/usr/local/var"/run
install -d -m 0755 "/usr/local/include"
BUNZIP2 pc-bios/edk2-i386-secure-code.fd.bz2
BUNZIP2 pc-bios/edk2-arm-code.fd.bz2
BUNZIP2 pc-bios/edk2-i386-vars.fd.bz2
BUNZIP2 pc-bios/edk2-i386-code.fd.bz2
BUNZIP2 pc-bios/edk2-arm-vars.fd.bz2
BUNZIP2 pc-bios/edk2-aarch64-code.fd.bz2
BUNZIP2 pc-bios/edk2-x86_64-code.fd.bz2
BUNZIP2 pc-bios/edk2-x86_64-secure-code.fd.bz2
::::::::::::: CUT SOME OUTPUT :::::::::::::
mkdir -p "/usr/local/share/icons/hicolor/32x32/apps"; \
install -c -m 0644 /usr/local/qemu/ui/icons/qemu_32x32.bmp \
"/usr/local/share/icons/hicolor/32x32/apps/qemu.bmp"; \
mkdir -p "/usr/local/share/icons/hicolor/scalable/apps"; \
install -c -m 0644 /usr/local/qemu/ui/icons/qemu.svg \
"/usr/local/share/icons/hicolor/scalable/apps/qemu.svg"
mkdir -p "/usr/local/share/applications"
install -c -m 0644 /usr/local/qemu/ui/qemu.desktop \
"/usr/local/share/applications/qemu.desktop"
install -d -m 0755 "/usr/local/share/qemu/keymaps"
set -e;