Esxi之kvm安装黑苹果
环境
•debian server(无桌面)•kvm虚拟机
安装
安装黑苹果
•安装依赖
sudo apt-get install qemu-system qemu-utils python3 python3-pip
•下载git仓库macOS-Simple-KVM
git clone https://github.com/foxlet/macOS-Simple-KVM.git
•初始化镜像和初始化kvm硬盘(建议至少120G以上)
cd macOS-Simple-KVM
#可能会失败,重复到成功
./jumpstart.sh
qemu-img create -f qcow2 MyDisk.qcow2 120G
•启动黑苹果
HEADLESS=1 MEM=8G CPUS=4 SYSTEM_DISK=MyDisk.qcow2 ./headless.sh
•使用VNC软件连接debian服务器•安装黑苹果
先初始化硬盘,后安装镜像,初始化安装可能会失败,重复到可以为止
桥接网络
•安装依赖
apt install bridge-utils
apt install uml-utilities
apt install net-tools
•编辑启动脚本macos.sh
#启动桥接网卡,ens192为物理网卡,请自行修改
brctl addbr br0
ip addr flush dev ens192
brctl addif br0 ens192
tunctl -t tap0 -u root
brctl addif br0 tap0
ifconfig ens192 up
ifconfig tap0 up
ifconfig br0 up
#dhclient -v br0
ifconfig br0 192.168.3.28 netmask 255.255.255.0
route add default gw 192.168.3.1
#启动黑苹果
cd /root/macOS-Simple-KVM
sh startmacos.sh
•复制headless.sh
文件为startmacos.sh
,并修改相关参数,以下为个人修改参考
#!/bin/bash
OSK="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VMDIR=$PWD
OVMF=$VMDIR/firmware
qemu-system-x86_64 \
-enable-kvm \
-m 12G \
-machine q35,accel=kvm \
-smp 4,cores=4 \
-cpu Penryn,vendor=GenuineIntel,kvm=on,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc \
-device isa-applesmc,osk="$OSK" \
-smbios type=2 \
-drive if=pflash,format=raw,readonly,file="$OVMF/OVMF_CODE.fd" \
-drive if=pflash,format=raw,file="$OVMF/OVMF_VARS-1024x768.fd" \
-vga qxl \
-usb -device usb-kbd -device usb-tablet \
-netdev tap,id=net0,ifname=tap0,script=no,downscript=no \
-device vmxnet3,netdev=net0,id=net0,mac=52:54:00:0e:0d:20 \
-device ich9-ahci,id=sata \
-drive id=ESP,if=none,format=qcow2,file=ESP.qcow2 \
-device ide-hd,bus=sata.2,drive=ESP \
-drive id=InstallMedia,format=raw,if=none,file=BaseSystem.img \
-device ide-hd,bus=sata.3,drive=InstallMedia \
-drive id=SystemDisk,if=none,file=MyDisk.qcow2 \
-device ide-hd,bus=sata.4,drive=SystemDisk \
-nographic -vnc :0 -k en-us
开机启动
•创建服务,创建文件/lib/systemd/system/macos.service
[Unit]
Description=macos
[Service]
Type=simple
ExecStart=/usr/bin/sh /root/macos.sh
User=root
[Install]
WantedBy=multi-user.target
•开机启动
systemctl enable macos
参考文献
•macOS-Simple-KVM[1]•qemu-networking[2]
引用链接
[1]
macOS-Simple-KVM: https://github.com/foxlet/macOS-Simple-KVM[2]
qemu-networking: https://gist.github.com/extremecoders-re/e8fd8a67a515fee0c873dcafc81d811c