- Mac OS X в эмуляторе QEMU под Linux
- 🍏 Как запускать приложения Mac на Linux
- Запустите виртуальную машину MacOS (все приложения)
- Использование Darling Translation Layer (только CLI)
- Сборка и установка дорогой Darling
- Как установить macOS на виртуальной машине в Linux с помощью Sosumi
- Как установить macOS на виртуальную машину (QEMU) в Linux с помощью пакета Sosumi snap
- 1. Установка snap пакета Sosumi:
- 2. Запустите Sosumi, набрав sosumi в терминале
- 3. После установки виртуальной машины и её запуска нажмите Enter для начала процесса установки macOS
- 4. Форматирование жесткого диска виртуальной машины с macOS
- 5. Установка macOS на виртуальную машину
- 6. Запуск операционной системы macOS
- Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
- Re: Запуск Mac OS X софта в linux
Mac OS X в эмуляторе QEMU под Linux
Здравствуйте хабровчане. Недавно понадобилось писать на Objective C под Mac OS X. Железо у меня не самое подходящее для всяких сборок, да и сидеть полностью в этой ОС религия не позволяет. Решил поставить Mac OS X в на виртуальную машину Qemu в Linux.
Вот список всего, что я использовал:
—Gentoo Linux 64 bit
—Qemu 0.10.5
—KVM (Kernel-based Virtual Machine) 88-r1
—Поддержка KVM в ядре Linux
—Процессор с поддержкой Intel Virtualization Technology (в моем случае это Core2Duo E6400)
—Linux kernel>=2.6.20
-Сборка Mac OS X iATKOS v7 (Leopard 10.5.7)
Переходим к настройке, в ядре необходимо добавить KVM. Качаем исходники, распаковываем, запускаем make menuconfig:
Processor type and features->Paravirtualized guest support
Отмечаем:
—KVM paravirtualized clock
—KVM Guest support
—Paravirtualization layer for spinlocks
Далее в корне настройки ядра появляется новая опция Virtualization
Переходим туда и отмечаем:
—Kernel-based Virtual Machine (KVM) support
—KVM for Intel processors support
—KVM trace support
—PCI driver for virtio devices
—Virtio balloon driver
Собираем, устанавливаем, и перезагружаемся с новым ядром.
Теперь устанавливаем Qemu с поддержкой KVM, и сам KVM
USE=«kvm» emerge qemu
emerge kvm
Теперь переходим к шаманствам с виртуальной машиной.
Создаем виртуальный жесткий диск:
qemu-img create -f raw macos.disk 30G
Если собираемся запускать Qemu не от рута, необходимо дать прав другим пользователям на чтение/запись на устройство /dev/kvm:
chmod 0666 /dev/kvm
Запускаем:
kvm -boot d -hda macos.disk -m 900 -net nic,model=rtl8139 -net tap -usb -no-reboot -no-shutdown -vga std -cpu core2duo -cdrom 10.5.7.iso
-hda путь к нашему виртуальному жесткому диску
-cdrom пусть к образу
-no-shutdown -no-reboot необходимы для того чтобы в случае ошибки окно эмулятора «замораживалось» и можно было прочитать ошибку
-net nic,model=rtl8139 эмулируем сетевую карту Realtek 8139
-net tap чтобы гостевая система видела по сети хостящую необходим TAP девайс
-m 900 количество памяти отдаваемое гостевой системе
-boot d грузимся с сидирома
-usb поддержка USB
-cpu core2duo эмуляция процессора Core2Duo
Грузим диск. Размечаем жесктий диск при помощи Disk Utility (выбираем из меню сверху).
Настройка драйверов.
Перед тем как нажать кнопку Install обратите вниманине на кнопку Customize
Вещи которые нам необходимо выбрать:
x86 ACPI
Disabler
OHR
Remove TyMCE
CardBus
USB
Intel SATA/IDE
Kernels
Apple PS/2
Можно устанавливать. Ждем примерно 30 минут.
Mac OS X установлена, настраиваем.
Теперь в строке для запуска меняем -boot d на -boot c чтобы грузится с жесткого диска.
Загружаемся. Теперь надо придумать чтонибудь с сетью.
Ищем в интернете PCGenRTL8139Ethernet.kext, устанавливаем его, очень легко установить с помощью программы kextinstaller. Пока нету сети необходимые файлы передавать в систему можно через флешку например, добавляем -hdb /dev/sdb (путь к устройству флешки)
Перезагржаем гостевую ОС.
Теперь чтобы сеть в Mac OS X заработала необходимо зайти в управление сетью, выбрать Ethernet девайс, выключить его (Off), а затем включить и настроить нужный IP (например 192.168.1.1), а в хостящей системе настроить девайс tap0:
ifconfig tap0 192.168.1.2
Вот вообщем то и все.
UPD. Автор поста появился на хабре vinnishtein
Источник
🍏 Как запускать приложения Mac на Linux
macOS и Linux имеют общее наследие.
К сожалению, это не означает, что приложения могут плавно переходить между операционными системами.
Для запуска приложений Mac в Linux вам понадобится виртуальная машина или слой перехода.
Запустите виртуальную машину MacOS (все приложения)
Самый надежный способ запуска приложений Mac в Linux – через виртуальную машину.
С помощью бесплатного гипервизора с открытым исходным кодом, такого как VirtualBox, вы можете запускать macOS на виртуальном устройстве на вашем компьютере с Linux.
Правильно установленная виртуализированная среда MacOS без проблем запустит все приложения MacOS.
Подобная виртуализация рабочего стола требует значительного объема оперативной памяти, поэтому она может работать некорректно на устройствах с ограниченными ресурсами.
Для машин с техническими характеристиками наилучшим вариантом является виртуализация операционных систем через виртуальную машину VirtualBox.
Использование Darling Translation Layer (только CLI)
Вы также можете запустить слой перехода под названием Darling.
Он работает как WINE, которая создает среду перевода с Windows на Linux, которая позволяет вам запускать некоторые приложения Windows в системах Linux.
Darling пытается достичь той же цели между macOS и Linux.
Поскольку macOS и Linux совместно используют одну и ту же базу в стиле UNIX, Darling менее ресурсоемок, чем WINE, и в большинстве случаев дает лучшие результаты.
В настоящее время Darling может работать только с очень простыми приложениями с графическим интерфейсом и несколькими приложениями командной строки.
Хотя поддержка приложений с графическим интерфейсом является целью проекта, эта функция еще не реализована.
По сути, вы можете надежно запускать оболочку macOS в Терминале и, возможно, не сможете эффективно запускать другие приложения.
Он также содержит огромное количество кода, требующего около 12 гигабайт дискового пространства после сборки.
По сути, это дублирует функциональность операционной системы MacOS.
Поэтому, если вы беспокоитесь о том, что удаленные исполняемые файлы могут повредить вашу систему, вы можете избегать пакетов такого размера.
Сборка и установка дорогой Darling
1. Следуйте инструкциям по установке, чтобы загрузить правильные зависимости для вашего дистрибутива Linux со страницы установки Darling.
В зависимости от вашего дистрибутива вам может потребоваться выполнить длинную команду.
Например, для Ubuntu выполните следующую команду терминала, чтобы загрузить зависимости Darling:
Источник
Как установить macOS на виртуальной машине в Linux с помощью Sosumi
Sosumi – snap пакет, основанный на проекте macOS-Simple-KVM, который позволяет легко загрузить и установить операционную систему macOS на виртуальной машине (поставляется в комплекте с qemu-virgil, virtio-vga, паравиртуальным драйвером 3D-графики). Образ операционной системы macOS не входит в комплект, но будет загружен во время установки. Будет загружена и установлена версия – macOS Catalina.
После использования Sosumi в течение нескольких часов на ноутбуке с операционной системой Ubuntu 20.04 я могу сказать, что установка занимает много времени (почти два часа в моем случае), и работа системы macOS была немного медленной, но достаточной для использования. Таким образом проект может не подойти для тяжелых задач, но идеально подойдет для тестирования.
Snap пакет Sosumi, созданный Аланом Поупом из Canonical / Ubuntu, упрощает установку и запуск macOS на виртуальной машине в Debian / Ubuntu, Fedora и других дистрибутивах Linux (при установленном snapd – api для работы snap пакетов), поставляя практически все инструменты, которые необходимы. Исходный код пакета Sosumi доступен на GitHub . Если вы не хотите использовать snap пакет, то у вас есть альтернатива – macOS-Simple-KVM, набор инструментов для настройки виртуальной машины MacOS в QEMU (KVM).
Перед началом установки стоит отметить несколько важных вещей:
- После установки macOS на виртуальную машину общий размер папки Sosumi (
/snap/sosumi) в моей системе составляет около 31,5 ГБ, но она может увеличиться при установке дополнительных приложений на виртуальной машине macOS.
Как установить macOS на виртуальную машину (QEMU) в Linux с помощью пакета Sosumi snap
Чтобы установить Sosumi, операционная система должна иметь возможность устанавливать пакеты Snap. Snapd по умолчанию доступен в Ubuntu, а для других дистрибутивов Linux следуйте инструкциии из документации Snapcraft.
1. Установка snap пакета Sosumi:
2. Запустите Sosumi, набрав sosumi в терминале
Запуск из терминала требуется только один раз; затем будет создан ярлык приложения.
Если вы столкнулись с ошибкой, в которой сообщается, что не удалось запустить Sosumi / qemu, поскольку невозможно запустить X11, то для решения проблемы нужно добавить пользователя в группу kvm:
3. После установки виртуальной машины и её запуска нажмите Enter для начала процесса установки macOS
Освободить фокус мыши можно с помощью комбинации клавиш CTRL+Alt+G.
4. Форматирование жесткого диска виртуальной машины с macOS
Дальше в ходе запуска виртуальной машины, откроется окно macOS Utilities, в котором доступны различные инструменты.
Открываем инструмент Disk Utility.
В диалоговом окне «Disk Utility» на панели с левой стороны, выберите жесткий диск Apple Inc. Virtio (тот, что имеет емкость 68,72 ГБ), затем нажмите Erase, введите имя для жесткого диска (например, macOS) и оставьте остальные параметры без изменений.
Теперь нажмите кнопку Erase, чтобы отформатировать раздел.
5. Установка macOS на виртуальную машину
После того как вы закроете инструмент Disk Utility, вы снова попадете в диалоговое окно macOS Utility. В окне из списка инструментов выберите Reinstall macOS. Нажмите Continue несколько раз, и далее отобразится окно, на котором вы должны выбрать жесткий диск, отформатированный в предыдущем шаге.
Выберите жесткий диск и нажмите на Install.
Во время установки виртуальная машина автоматически несколько перезагрузится.
6. Запуск операционной системы macOS
После завершения установки виртуальная машина macOS перезагрузится, в меню загрузки Clover вы увидите несколько дополнительных параметров. Используйте клавиши со стрелками влево / вправо для выбора опции Boot macOS from. например, так ( Boot macOS from macOS , где второе название macOS это имя жесткого диска, настроенного на 4 шаге).
Для каждого запуска операционной системы macOS нужно выбирать данную опцию для загрузки.При первой загрузке в macOS вам необходимо выполнить первоначальную настройку, выбрать свое местоположение, предпочитаемый язык, при желании войти в систему с помощью Apple ID, принять условия и т. д., а также создать учетную запись компьютера (имя пользователя и пароль).
Так как у меня отсутствует Apple ID, то я выбрал – Set Up Later.
По окончанию настройки загрузится рабочий стол macOS Catalina.
Видимо во время настройки допустил ошибку и не выбрал русский язык в качестве основного. Поэтому система установилась на английском языке.
Для установки русского языка в macOS Catalina нужно открыть настройки System Preferences – Language & Region и перетянуть (либо сначала добавить нажав на плюсик и выбрав язык из выпадающего меню) выше английского языка. При выходе из настроек появится диалоговое окно с предложением перезагрузить систему для применения настроек.
Источник
Запуск Mac OS X софта в linux
сабж. есть аналог wine для запуска под linux софта написанного под макось?
Re: Запуск Mac OS X софта в linux
Re: Запуск Mac OS X софта в linux
Re: Запуск Mac OS X софта в linux
Обсуждалось не так давно..
Вроде бы, нашли всего штук пять программ, которые есть ТОЛЬКО под Мак. Все остальные — и под Винду имеются.
Re: Запуск Mac OS X софта в linux
хочу посмотреть несколько программ
Re: Запуск Mac OS X софта в linux
нет конечно. Есть проект GNUStep, который реализовует Cocoa под линукс, но оно такое старое шописец.
Re: Запуск Mac OS X софта в linux
просто мак в этом смысле еще хуже винды.
там вроде бы три полноценных независимых API
эта игра не стоит свеч
Re: Запуск Mac OS X софта в linux
Не такие они и независимые (X-ы не считаем, они на маке не используются по факту). Cocoa — это суть очень навороченная обертка вокруг Carbon, так что если на ляликсе проэмулировать Carbon, то Cocoa заведется сама. Но «ничего у вас не выйдет», Apple-овские фреймворки изобилуют недокументированными API, которые очевидно тем-же Cocoa используются, а что они из себя должны представлять — никто кроме Apple не знает достоверно.
Re: Запуск Mac OS X софта в linux
>Cocoa — это суть очень навороченная обертка вокруг Carbon
Re: Запуск Mac OS X софта в linux
Вообще там QT(QuickTime)+Quartz+Cocoa. Эмуляции это пока не поддается.
Re: Запуск Mac OS X софта в linux
> Cocoa — это суть очень навороченная обертка вокруг Carbon
Откуда дровишки? А то очень похоже на 4.2.
Re: Запуск Mac OS X софта в linux
cocoa и carbon это разные оперы 🙂
Re: Запуск Mac OS X софта в linux
Re: Запуск Mac OS X софта в linux
А как насчет хакинтоша в vmware?
Re: Запуск Mac OS X софта в linux
>если Cocoa не обертка вокруг Carbon
>Так что не знаючи, не суйтесь рыльцем
Сам бы не совался.
Cocoa — тулкит от OSX, а карбон — это обертка для совместимости и запуска старых os9 тулз.
Re: Запуск Mac OS X софта в linux
Точнее проги на classic пойдут на os9
проги на cocoa osX only
проги на carbon — os(9,X)
Re: Запуск Mac OS X софта в linux
Вообще говоря, по слухам в 10.6 уже Carbon не будет — равно как и поддержки PPC: http://www.appleinsider.com/articles/08/06/04/apples_mac_os_x_10_6_code_named.
Adobe еще должны свой софт переделать — и в путь. Но, я думаю, это еще не меньше года.
> И спрашивается, если Cocoa не обертка вокруг Carbon, то какого тогда [NSApplication run] спускается в чисто карбоновский CFRunLoopRun* ?
Если глянуть на http://developer.apple.com/documentation/CoreFoundation/Reference/CFRunLoopRe. видно, что CFRunLoopRun — это Core Foundation (на что как бы намекает префикс CF 😉 ), а вовсе не Carbon.
Слышали, что с окончательным переходом Apple с Carbon на Cocoa, компания Corbina переименуется в Cocoina? 😉
Re: Запуск Mac OS X софта в linux
> Cocoa — тулкит от OSX, а карбон — это обертка для совместимости и запуска старых os9 тулз.
Еще раз повторюсь: не зная, не суйте свое рыло, ыы в том числе.
Вокруг чего простите Carbon обертка, вокруг Mach и BSD API? Carbon это нижний уровень архитектуры OS X, и все вышележащее его использует.
А то, что «а карбон — это обертка для совместимости и запуска старых os9 тулз.» — это да, Apple такими красивыми словами пишет в документации по Cocoa для чайником, дабы расхвалить последнюю. Однако по факту Cocoa целиком и полностью базируется на карбоне, и карбон является такой-же неотемлемой частью OS X, как WinAPI уровень в винде (имеются в виду XP / 2k, про свисту я ничего не знаю): какие-то библиотеки возможно и используют NT Native API, но большая часть всего базируется на WinAPI, при этом можно сколько угодно обзывать WinAPI устаревшим фреймворком, оставленным только для совместимости, умалчивая тот факт что 99% кода системного используют WinAPI. Так и Carbon можно обозвать устаревшим фреймворком, но для этого надо сначала переписать весь код Cocoa, так что-бы Cocoa напрямую использовала BSD и Mach интерфейсы, а до тех пор, пока Cocoa будет использовать Carbon, ни о какой «обертки для совместимости и запуска старых os 9 тулз» речи быть не может.
Если вам мои слова не кажутся убедительными, присмотритесь еще раз к backtrace, вас он не убеждает? Ну тогда вы полный ФГМ, что с вами спорить.
Кстати говоря, чтоб вы знали, Carbon не позволяет напрямую запускать OS 9 тулзы, он лишь облегчает перенос этих приложений на OS X, на уровне исходных кодов. А для запуска OS 9 приложений на PowerPC маках был эмулятор классики, который, что-бы знали, упразднили в Intel версии OS X, так что на новых маках запускать OS 9 тулзы уже никак не получится.
Ну и последний гвоздь в твой гроб: вот у меня стоит iPhone SDK beta5, я иду в каталог /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/System/Li brary
Захожу в каталог Frameworks, и вижу:
Carbon.framework отсутствует, вы могли бы радоватся, однако другие составляющие карбона: CoreFoundation, CoreGraphics, CFNetwork — все это и тут есть, ну и для проверки сделаем:
$ grep -r CFRunLoopRun * 2>/dev/null
Binary file AudioToolbox.framework/AudioCodecs matches
Binary file AudioToolbox.framework/AudioToolbox matches
Спрашивается, зачем на iPhone элементы Carbon-а, что-бы запускать старые OS 9 приложения?
Источник