Mac os x on linux kvm

Как получить быструю виртуальную macOS Ventura в линуксе

Ничего сильно нового или необычного в процессе нет, тема старая и рабочая. Руководств, наборов скриптов и всяких гайдов в интернете также уже куча, я остановился вот на этом. Все манипуляции производились на ноутбуке Dell G3,с 32Гб памяти и SSD.

Настоятельно рекомендую также использовать что-то производительное, поскольку macOS (тем более последняя) чрезвычайно прожорливая.

Еще вам будет нужно ~50Гб свободного места на диске. Я использовал Mageia Linux, официальный гайд от авторов руководства — для Ubuntu. Но коль уж вы залезли так далеко, что собираетесь разворачивать виртуальный мак на линуксе — полагаю вам уже глубоко похер на дистрибутив.

Подготовка

Устанавливаем вот этот параметр:

echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs 

В репозитории проекта есть готовая настройка modprobe для постоянной настройки:

sudo cp kvm.conf /etc/modprobe.d/kvm.conf # for intel boxes only, after cloning the repo below 

Устанавливаем пакеты. Для убунты:

sudo apt-get install qemu uml-utilities virt-manager git \ wget libguestfs-tools p7zip-full make dmg2img -y 
urpmi qemu git wget virt-manager libguestfs-tools libgu p7zip make dmg2img 

Добавляем своего пользователя в группы, для использования KVM:

sudo usermod -aG kvm $(whoami) sudo usermod -aG libvirt $(whoami) sudo usermod -aG input $(whoami) 

Нужно будет выйти из сессии для применения этих изменений. Клонируем репозиторий со скриптами:

git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git cd OSX-KVM 

Тут будет текстовое меню выбора версии:

1. High Sierra (10.13) 2. Mojave (10.14) 3. Catalina (10.15) 4. Big Sur (11.7) - RECOMMENDED 5. Monterey (12.6) 6. Ventura (13) Choose a product to download (1-6): 4 

Нужно будет выбрать Ventura.

Конвертируем в RAW-образ, который может читать Qemu:

dmg2img -i BaseSystem.dmg BaseSystem.img 

Создаем виртуальный диск, на который виртуальная MacOS будет установлена:

qemu-img create -f qcow2 mac_hdd_ng.img 128G 

Установка

Дальше запускается уже графический инсталлятор, пошаговые картинки из которого есть в оригинальной статье. Тут привожу лишь текстовое описание.

Выбираем иконку с диском и нажимаем «Enter». Выбираем «Disk Utility».

Выбираем созданный выше образ диска и форматируем.

Поскольку MacOS поставляется с оборудованием Apple, чистой пользовательской установки не существует, поэтому в меню оно называется «Reinstall», т. е. «Переустановка».

Соглашаемся и клянемся соблюдать лицензионное соглашение, во славу Луны .

Читайте также:  Mounting ntfs partitions in linux

Выбираем отформатированный диск.

Пропускаем Apple ID, его можно установить позже.

Настройка сети

Вот таким скриптом создается виртуальный адаптер:

#!/usr/bin/env bash sudo ip tuntap add dev tap0 mode tap sudo ip link set tap0 up promisc on sudo ip link set dev virbr0 up sudo ip link set dev tap0 master virbr0 

Который подцепляется Qemu при запуске.

Для Ventura будет необходимо модифицировать скрипты запуска OpenCore-Boot* :

 # -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 -netdev user,id=net0 -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 

Там же я добавил пару параметров для решения проблем с размером экрана:

 -monitor stdio -device VGA,vgamem_mb=128 

Только в следующий раз обрати внимание, что теги разделяются запятыми. Если поставить пробелы, движок ЛОРа попытается эту конструкцию воспринять как один тег (разумеется, несуществующий).

Ок, я буду тогда текстовые версии выкладывать дальше, как в свежем скрине про сборку дотнета.

Ничего про проброс видео( Баловство.

sudo cp kvm.conf /etc/modprobe.d/kvm.conf # for intel boxes only, after cloning the repo below

А есть инструкция для AMD? Или если у тебя AMD ты просто не запускаешь эту инструкцию?

Unixson ★ ( 22.03.23 14:13:47 MSK )
Последнее исправление: Unixson 22.03.23 14:14:11 MSK (всего исправлений: 1)

эмм, такой вопрос.
то что скачивается BaseSystem.dmg ~650mb это нормально?
просто со времен пика популярности hackintosh»ей, ванильная весила как минимум ~5гб, а уж всякие iAtkos’ы и того более.
вероятно, оно в процессе докачает что необходимо?-.-

Да, это настройка специфичная для процессоров Intel.

то что скачивается BaseSystem.dmg ~650mb это нормально?

Да, после конвертации dmg2img будет больше.

оно в процессе докачает что необходимо?

За наводку спасибо, но оно внутри на том же самом OSX-KVM:

quickemu will automatically download the required OpenCore bootloader and OVMF firmware from OSX-KVM.

Optimised by default, but no GPU acceleration is available. Host CPU vendor is detected and guest CPU is optimised >accordingly. VirtIO Block Media is used for the system disk where supported. VirtIO usb-tablet is used for the mouse. VirtIO Network (virtio-net) is supported and enabled on macOS >Big Sur and newer but previous releases use vmxnet3. VirtIO Memory Ballooning is supported and enabled on macOS Big >Sur and newer but disabled for other support macOS releases. USB host and SPICE pass-through is: UHCI (USB 2.0) on macOS Catalina and earlier. XHCI (USB 3.0) on macOS Big Sur and newer. Display resolution can only be changed via macOS System >Preferences. Full Duplex audio requires VoodooHDA OC or pass-through a USB >audio-device to the macOS guest VM. NOTE! Gatekeeper and System Integrity Protection (SIP) need to be disabled to install VoodooHDA OC File sharing between guest and host is available via virtio-9p >and SPICE webdavd. Copy/paste via SPICE agent is not available on macOS.

If you see «Your device or computer could not be verified» when you try to login to the App Store, make sure that your wired ethernet device is en0. Use ifconfig in a terminal to verify this.

Читайте также:  Настройка apache kali linux

If the wired ethernet device is not en0, then then go to System Preferences -> Network, delete all the network devices and apply the changes. Next, open a terminal and run the following:

sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist Now reboot, and the App Store should work.

Про аппстор видимо надо добавить в статью.

Источник

Mac os x on linux kvm

This shows you all the steps to install a MacOS VM in Linux QEMU using Virtual Machine Manager or virt-manager.

Requirements

  • A modern Linux distribution. E.g. Ubuntu 20.04 LTS 64-bit or later.
  • QEMU >= 4.2.0
  • A CPU with Intel VT-x / AMD SVM support is required ( grep -e vmx -e svm /proc/cpuinfo )

Installation Preparation

Install QEMU and modify your user using https://christitus.com/vm-setup-in-linux Guide.

Clone this repository on your QEMU system. Files from this repository are used in the following steps.

cd ~ git clone --depth 1 --recursive https://github.com/foxlet/macOS-Simple-KVM cd macOS-Simple-KVM 

Installation Media

This downloads our installation media and I’d recommend using Catalina for compatibility and performance.

Note: Modern NVIDIA GPUs are supported on HighSierra but not on later versions of macOS. Recommended PCI Passthrough GPU is 5700XT as this works on Catalina and above. If you go with a 6000 Series Card only certain ones will work on Big Sur and Monterey, but not earlier releases.

Virtual Machine Setup

I recommend using Virtual Machine Manager (virt-manager) as it has a fantastic interface and Simple-KVM does a great job with their setup script. Simply type the following to get the macOS VM setup:

VM Modification

Before we can start out VM we have to have a hard drive to load it. You have two options: physical hard drive passthrough or qcow2 file.

Obviously, the physical drive is considerably faster, but not possible in some instances such as laptops or if you can’t afford a secondary drive.

Читайте также:  Alt linux cryptopro 5

Physical Hard Drive Passthrough

This is pretty simple as you just click Add Hardware -> Storage and then specify your hard drive.

hdd

Note: while you can use drive short names /dev/sda I’d recommend using /dev/disk/by-id/HARDDRIVESERIAL as this doesn’t ever change.

QCOW2 File for Hard Drive

This is even simpler as you just click Add Hardware -> Storage and create new file. Just make sure you put it on at least a SSD or a nvme drive as it will be super slow if you don’t.

Install Process

Boot your machine and select the OS Install Partition on startup.

Use the Disk Utility tool within the macOS installer to partition, and format the virtual disk attached to the macOS VM.

TIP: Using a non-APFS filesystem is recommended.

Go ahead, and install macOS

Post-Installation

Bridge Networking

First find your card interface name

Example: (Interface name is enp7s0)

1: lo: 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  valid_lft forever preferred_lft forever 2: enp7s0: mtu 1500 qdisc fq_codel state DOWN group default qlen 1000  link/ether 24:bb:ee:55:22:33 brd ff:ff:ff:ff:ff:ff  inet 10.0.0.99/24 brd 10.0.0.255 scope global  valid_lft forever preferred_lft forever  inet6 ::1/128 scope host  valid_lft forever preferred_lft forever 

Second Update /etc/network/interfaces

source /etc/network/interfaces.d/*  # The loopback network interface auto lo iface lo inet loopback  # The primary network interface - old entry # allow-hotplug enp7s0 # iface enp7s0 inet dhcp  # The primary network interface - new entry # DEVICENAME = enp7so for this pc and MYUSERNAME need to be $(whoami) auto br0 iface br0 inet dhcp  bridge_ports DEVICENAME tap0  auto tap0 iface tap0 inet dhcp  pre-up tunctl -u MYUSERNAME -t tap0 

Lastly Restart the networking service or reboot computer. Then change your VM NIC (Network Hardware) to br0 interface.

sudo systemctl restart networking 

Other Considerations

  • GPU Passthrough (Requires two Graphics Cards) — https://github.com/foxlet/macOS-Simple-KVM/blob/master/docs/guide-passthrough.md
  • Changing Screen Resolution — https://github.com/foxlet/macOS-Simple-KVM/blob/master/docs/guide-screen-resolution.md
  • Optimizing System Performance — https://github.com/sickcodes/osx-optimizer
  • Sound — Two methods, Pass the audio through HDMI if using GPU Passthrough OR Pass through a USB sound card that is macOS compatible
    • Note: There is a way to use Voodoo kext or AppleALC, but it will crackle and sound terrible

    Walkthrough Video

    Источник

Оцените статью
Adblock
detector