使用 QEMU 在 x86 上运行 AIX 7.2 | Run AIX 7.2 on x86 with QEMU


镜像我只 在这里 看到了,其他地方都没看到

introduce

AIX 是 IBM 的 UNIX 专有操作系统 (OS),除非您能够访问 IBM 昂贵的机器(Power Series),否则您将没有机会使用或试用 IBM 强大的操作系统。
如今,我们将个人机器或笔记本电脑上的几乎所有内容虚拟化或容器化。但是,仅当主机(您的 PC)和来宾(虚拟机或 VM)的处理器体系结构相同时,虚拟化才有可能。
AIX是专门用于PPC(PowerPC)体系结构的操作系统。因此,我从一开始就知道不会有任何虚拟化解决方案,但理论上可以通过仿真来实现我的目标。
我决定用模拟器试试看:QEMU(国杰出的黑客Fabrice Bellard,他构建了这个开源工具,它实际上是瑞士仿真的军刀)


全程耐心等待!!
以下过程可能需要几分钟或几小时,并且您可能会多次重新开始,因此这里的关键词是:耐心。


rambo@debian:~$ cat /etc/issue
Debian GNU/Linux 12 \n \l

rambo@debian:~$ cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
4
rambo@debian:~$ cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores	: 2

rambo@debian:~$ free -h
               total        used        free      shared  buff/cache   available
Mem:            15Gi       924Mi        10Gi       4.7Mi       4.9Gi        14Gi
Swap:          975Mi          0B       975Mi



rambo@debian4:~$ df -Th | grep "^/dev"
/dev/sda5      ext4      115G  6.1G  103G   6% /
/dev/sda1      ext4      920M   75M  782M   9% /boot




rambo@debian4:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:94:94:50 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 172.16.186.94/24 brd 172.16.186.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::2b7a:d0af:61fe:2c6/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever



install Qemu

不管用apt方式还是源码方式都需要具备科xue上wang的环境

apt install qemu

rambo@debian:~$ cat /etc/apt/sources.list
注:注释掉从cdrom找源
#deb cdrom:[Debian GNU/Linux 12.1.0 _Bookworm_ - Official amd64 DVD Binary-1 with firmware 20230722-10:49]/ bookworm main non-free-firmware
# 官方源
deb http://deb.debian.org/debian/ bookworm main non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main non-free-firmware
deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-updates main non-free-firmware
# 阿里源
deb https://mirrors.aliyun.com/debian/  bookworm main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware contrib
deb https://mirrors.aliyun.com/debian-security/ bookworm-security main
deb-src https://mirrors.aliyun.com/debian-security/ bookworm-security main
deb https://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb https://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware contrib
# 清华大学源
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware


rambo@debian:~$ ls -alh aix_7200-04-02-2027_1of2_072020.iso 
-rwxr-xr-x 1 rambo rambo 3.6G Sep 17 00:12 aix_7200-04-02-2027_1of2_072020.iso



# 如安装包错则需要多装几次
rambo@debian:~$ sudo apt -y update
rambo@debian:~$ sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils qemu-system-ppc64 vim
rambo@debian:~$ qemu-system-x86_64 --version
QEMU emulator version 7.2.4 (Debian 1:7.2+dfsg-7+deb12u1)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers



# Uninstall Qemu on Ubuntu 22.04
sudo apt remove -y qemu

source code install qemu(该文档使用该方式安装qemu)

sudo apt update
sudo apt install -y ninja-build pkg-config libglib2.0-dev meson libpixman* flex bison curl vim wget
wget https://download.qemu.org/qemu-8.0.2.tar.xz            # 有可能需要具备科xue上wang的环境
tar xvJf qemu-8.0.2.tar.xz
cd qemu-8.0.2
sudo ./configure --build=x86_64 --host=x86_64  --target=x86_64
sudo make -j8 && sudo make install

Creation of the hard drive of our VM

rambo@debian:~$ mkdir qemu-disk
rambo@debian:~$ qemu-img create -f  qcow2  qemu-disk/hdisk0.qcow2  80G

Creation of the AIX VM (Boot from cdrom)

rambo@debian:~$ qemu-system-ppc64 -cpu POWER8 \
-machine pseries -m 4096 -serial stdio \
-drive file=/home/rambo/qemu-disk/hdisk0.qcow2,if=none,id=drive-virtio-disk0 \
-device virtio-scsi-pci,id=scsi \
-device scsi-hd,drive=drive-virtio-disk0 \
-cdrom  /home/rambo/aix_7200-04-02-2027_1of2_072020.iso \
-prom-env "boot-command=boot cdrom:" \
-prom-env "input-device=/vdevice/vty@71000000" \
-prom-env "output-device=/vdevice/vty@71000000"

注:-prom-env "boot-command=boot cdrom:" 是从cdrom启启动,所以执行后该命令后会无限重启

截止到这里会进入一个无限循环启动的过程,所以这里需要ctrl + c结束掉,重新从disk中启动

rambo@debian:~$ qemu-system-ppc64 -cpu POWER8 \
-machine pseries -m 4096 -serial stdio \
-drive file=/home/rambo/qemu-disk/hdisk0.qcow2,if=none,id=drive-virtio-disk0 \
-device virtio-scsi-pci,id=scsi \
-device scsi-hd,drive=drive-virtio-disk0 \
-cdrom /home/rambo/aix_7200-04-02-2027_1of2_072020.iso \
-prom-env "boot-command=boot disk:" \
-prom-env "input-device=/vdevice/vty@71000000" \
-prom-env "output-device=/vdevice/vty@71000000"

AIX Version 7
Copyright IBM Corporation, 1982, 2020.
Console login: root
*******************************************************************************
*                                                                             *
*                                                                             *
*  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.                                  *
*                                                                             *
*                                                                             *
*******************************************************************************

# id
uid=0(root) gid=0(system) groups=2(bin),3(sys),7(security),8(cron),10(audit),11(lp)

# set -o vi         # 重要的设置

# uname     
AIX
# uname -a      
AIX localhost 2 7 000000000000

关机
# shutdown -F /Fr           # 这一条是命令,往下都是回显
SHUTDOWN PROGRAM
Sun Sep 17 07:03:13 CDT 2023
Running /etc/rc.d/rc2.d/Ksshd stop
0513-044 The sshd Subsystem was requested to stop.
Running /etc/rc.d/rc2.d/Kwpars stop
Running /etc/rc.d/rc3.d/Ksoed stop

Wait for '....Halt completed....' before stopping. 
Error reporting has stopped.
Advanced Accounting has stopped...
Process accounting has stopped.
nfs_clean: Stopping NFS/NIS Daemons
0513-004 The Subsystem or Group, nfsd, is currently inoperative.
0513-044 The biod Subsystem was requested to stop.
0513-044 The rpc.lockd Subsystem was requested to stop.
0513-004 The Subsystem or Group, rpc.statd, is currently inoperative.
0513-004 The Subsystem or Group, gssd, is currently inoperative.
0513-004 The Subsystem or Group, nfsrgyd, is currently inoperative.
0513-004 The Subsystem or Group, rpc.mountd, is currently inoperative.
0513-004 The Subsystem or Group, ypserv, is currently inoperative.
0513-004 The Subsystem or Group, ypbind, is currently inoperative.
0513-004 The Subsystem or Group, yppasswdd, is currently inoperative.
0513-004 The Subsystem or Group, ypupdated, is currently inoperative.
Stopping TCP/IP daemons: ndpd-host lpd routed gated sendmail inetd named timed rwhod iptrace dpid2 snmpd rshd rlogind telnetd syslogd
Removing TCP/IP lock files
0513-044 The hostmibd Subsystem was requested to stop.
0513-044 The snmpmibd Subsystem was requested to stop.
0513-044 The aixmibd Subsystem was requested to stop.
0513-044 The clcomd Subsystem was requested to stop.
0513-044 The qdaemon Subsystem was requested to stop.
0513-044 The writesrv Subsystem was requested to stop.
0513-044 The pfcdaemon Subsystem was requested to stop.
0513-044 The lldpd Subsystem was requested to stop.
0513-044 The ecpvdpd Subsystem was requested to stop.
0513-044 The ctrmc Subsystem was requested to stop.
0513-044 The pmperfrec Subsystem was requested to stop.
0513-044 The IBM.HostRM Subsystem was requested to stop.
0513-044 The IBM.ConfigRM Subsystem was requested to stop.
0513-044 The IBM.DRM Subsystem was requested to stop.
0513-044 The IBM.MgmtDomainRM Subsystem was requested to stop.
0513-044 The IBM.ServiceRM Subsystem was requested to stop.
All processes currently running will now be killed...
Unmounting the file systems...
Unmounting the file systems...

Bringing down network interfaces: lo0

Sep 17 07:03:55 portmap: terminating on signal.
....Halt completed....
rambo@debian:~$ 

防走丢

老司机QQ群:905201396
新手QQ群:756805267
Debian适应QQ群:912567610

.
.
.
.
参考1
参考2
参考3

posted @ 2023-09-17 19:45  Linux大魔王  阅读(2038)  评论(0编辑  收藏  举报