XcodeBuild Centos+virtualbox+Mac OSX

laofo · 2017年04月10日 · 最后由 laofo521@gmail.com 回复于 2017年04月10日 · 16 次阅读

Mac OSX 虚拟化,在 virtualbox 上安装 Mac OSX 10.11

安装 vitualbox

安装扩展包

创建一台名字为 mac 的虚拟机并启动

  • VM='mac'
  • vboxmanage createvm --name $VM --ostype MacOS1011_64 --register
  • VBoxManage modifyvm $VM --cpus 4
  • vboxmanage modifyvm $VM --memory 4096 --vram 128 # Memory 4G, Video Memory 128MB
  • vboxmanage modifyvm $VM --chipset ich9 --rtcuseutc on
  • vboxmanage modifyvm $VM --firmware efi
  • vboxmanage modifyvm $VM --largepages on
  • vboxmanage modifyvm $VM --vrde on --vrdeport 3389
  • vboxmanage modifyvm $VM --usb on --mouse usbtablet --keyboard usb
  • vboxmanage modifyvm $VM --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbff
  • vboxmanage setextradata $VM "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro11,3"
  • vboxmanage setextradata $VM "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
  • vboxmanage setextradata $VM "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
  • VBoxManage setextradata $VM "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c) AppleComputerInc"
  • VBoxManage setextradata $VM "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

  • vboxmanage storagectl $VM --name "SATA Controller" --add sata --controller IntelAHCI

  • vboxmanage storageattach $VM --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium $VM.vdi

  • vboxheadless --startvm $VM

设置 mac 虚拟机 22 端口转发

  • VBoxManage controlvm mac natpf1 rule1,tcp,,8888,,22
  • 这样从外部直接 ssh 物理机主机 8888 端口就可以 ssh 到 mac 虚拟机 22 端口
  • ssh mac@192.168.1.100 -p 8888

开启 rdp 验证(设置用户为 mac 的 rdp 登录密码为 mac)

  • VBoxManage setproperty vrdeauthlibrary "VBoxAuthSimple"
  • VBoxManage modifyvm "mac" --vrdeauthtype external
  • VBoxManage internalcommands passwordhash "mac"
  • Password hash: d83e891453611dac3aa96dc1fe1c4b36
  • VBoxManage setextradata "mac" "VBoxAuthSimple/users/mac" d83e891453611dac3aa96dc1fe1c4b36

本来的目的是想在 centos+kvm 上虚拟出多个 mac osx 环境,但是由于网卡驱动的问题,最新的 kvm 不支持最新版本的 mac osx 10.11,可以启动,但是找不到 ip。所以改用在 centos+virtualbox 上虚拟出 mac osx 环境。

具体的做法是在 mac+virtualbox 虚拟出 mac osx,然后把 osx 的镜像直接 copy 到 centos 上,导入到 virtualbox 里,启动。目前遗留的问题有

  1. 现在采用端口映射的方式访问,后面可以改成独立 ip
  2. centos+virtualbox 上的 mac OSX 因为服务器硬盘速度限制,比 ssd 要差
  3. 一台服务器可虚拟出几台 mac osx,这个性价比是否值得,需要商榷
需要 登录 后方可回复。