top of page
Recent Posts

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.

qemu or git

# 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;