Run macOS Catalina on Linux the easy way

macos catalina

The new operating system of Apple, macOS Catalina, is the one that will be used for the latest products of the Cupertino firm. This is version 10.15, and takes its name from Santa Catalina Island in southern California. As you know, it is a proprietary code system, for Intel EM64T platforms and with a hybrid kernel known as XNU. Surely you also know, I comment for those who do not know, that this kernel is based on Mach and * BSD code, especially FreeBSD, therefore it is a Unix.

So far the presentation. But, if you want to run macOS Catalina or any other previous version, you can do so as long as you have a compatible Macintosh in your possession, such as MacBook, iMac, Mac Pro, etc. If you don't have an Apple product, you also have other options to try it (virtual machines, hackintosh). In this article we will focus on virtualization so that you can easily try macOS Catalina on your favorite GNU / Linux distro.

There is a very interesting project on GitHub. You may access it from this link and it brings you The necessary tools to set up a very fast macOS virtual machine in QEMU using KVM acceleration. In this way, everything will be much easier and more automated than doing it manually to be able to run the macOS VM on your own. In addition, the novelty is that you can also already have the latest Catalina version. AND NO MAC REQUIRED! Which is the best, since getting the operating system if you don't have an Apple team seemed complicated, unless it was a pirate ...

The steps to follow to do it they are very simple (select the command you need for your distro):

sudo apt-get install qemu-system qemu-utils python3 python3-pip  #Para Debian/Ubuntu y derivados
sudo pacman -S qemu python python-pip            #Para Arch Linux
sudo zypper in qemu-tools qemu-kvm qemu-x86 qemu-audio-pa python3-pip  #Para SUSE/openSUSE
sudo dnf install qemu qemu-img python3 python3-pip #Para Fedora/CentOS/RHEL

Now you have installed the latest version of the QEMU emulator (3.1 or higher), the necessary utilities and Python 3, along with pip. The following will be download the project packages from the GitHub link that I have left before, and inside there is a script that you must execute in this way (if you do not use any option, Catalina is installed by default, but you can specify the version of macOS you want, choose the one you want):

./jumpstart.sh --mojave
./jumpstart.sh --high-sierra
./jumpstart.sh --catalina

By the way, you can choose only between these three versions at the moment. It is a pity that you cannot choose between all the existing ones, but at least the latest ones are available, which are the most demanded. If you need Lion, Maverick, Tiger, or any other, you will have to do it by hand ... Remember also that with qemu you can emulate any platform, also PPC to run MacOS X pre-x86-64 versions.

To execute the previous step you need to have an active Internet connection. In fact, if you already have a macOS system image .img or .dmg (in this case it converts to .img with dmg2img), you can skip the previous step and go directly to the next one, since what it does is get macOS. Now you must create a virtual hard drive where macOS will run in QEMU (you can replace disk_name with the name you want and instead of 64 GB of space, put the one you need for your MV, with about 20GB you would have):

qemu-img create -f qcow2 nombre_disco.qcow2 64G

Now, among the files downloaded from GitHub you will find a basic.h, you have to add these lines at the end of him with an editor:

    -drive id=SystemDisk,if=none,file=nombre_disco.qcow2 \
    -device ide-hd,bus=sata.4,drive=SystemDisk \

Y run said script To boot the machine, partition, and begin the macOS installation:

./basic.sh

You could also do it with Virtual Machine Manager or Virt-Manager instead of qemu ... And also a headless / cloud-based.

Y It is doneYou should now have your macOS machine in the chosen version available to work with. As you can see, these tools and scripts provided by this project make your work much easier, especially since you don't need to look for a macOS image, but it already provides it to you.

Thanks to those who have contributed to this project, you can run a macOS machine with the version you need very easily.


33 comments, leave yours

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   Jesus said

    Hey, when installing, it installs me on a 2gb partition and not on the 64gb one that I have previously created, as I choose the partition because it won't let me.

    1.    Paco said

      before you have to go to disk utilities and format the 64g partition, when you have done it choose that when you give the option to install.

      1.    Chris said

        For some reason the command
        qemu-img create -f qcow2 disk_name.qcow2 64G

        just create a virtual disk of
        197632 Nov 18:01 macHD.qcow2

        Why?

    2.    Erik said

      You must format the disk you created, inside the installation screen before doing the recovery, first use the last option and when you do the recovery, the disk that you have created will appear.

      1.    Mark said

        No no, the disk we created cannot be formatted as you say, because there is no such disk in the installation. That's the problem.

    3.    Uzziel said

      Like me, when installing the MacOS system, it only shows me a 2gb partition and says that it is locked and I cannot select it.

  2.   David said

    Can be with amd processors

    1.    Paco said

      before you have to go to disk utilities and format the 64g partition, when you have done it choose that when you give the option to install.

  3.   Fernando said

    I believed that 20GB was enough ... hahahaha it doesn't allow a minimum of 24GB to be installed ... how do I remove the disk?

  4.   Michael EG said

    This would be very interesting to me if the OS could be used at 100% but being an emulated installation it will probably only render at 50-60%. I have to ask:
    Does all the hardware of the equipment work, for example the thunderbolt 3 ports?
    To work with audio, could you install the drivers for eg. an apollo UAD and work with low latencies? UA Apollo twin X (Thunderbolt 3)
    Can the virtual disk space be increased for per instance? install software like pro tools, cubase, etc.?

    Because if all this could be possible and the system was stable ... cloth: D

  5.   Gonzalo said

    When I run basic.sh, it reports an error:

    Could not access KVM kernel module: No such file or directory
    qemu-system-x86_64: failed to initialize KVM: No such file or directory

  6.   karle said

    after sudo apt-get install qemu-system qemu-utils python3 python3-pip. download the project packages from the GitHub link ???? sorry i am very new to linux. what is the step / command.

    1.    karle said

      I go to this step but it tells me that it cannot find it

      sudo ./jumpstart.sh --catalina
      sudo: ./jumpstart.sh: command not found

      1.    gcjuan said

        It is not a single script but a double one before catalina. Anyway, as it says in the project's repository on GitHub, you don't have to put the version you want to install if you want to install Catalina because it is the default option.

  7.   Miguel said

    Hello,
    Can someone help me? I get this error.

    ./basic.sh
    Could not access KVM kernel module: No such file or directory
    qemu-system-x86_64: failed to initialize KVM: No such file or directory

    1.    gcjuan said

      Does the file on the hard drive that you created have the same name as the file that you added in the lines to basic.sh?

      You should have added the following to the end of basic.sh:

      -drive id = SystemDisk, if = none, file = disk_name.qcow2 \
      -device ide-hd, bus = sata.4, drive = SystemDisk \

      and the name of the virtual hard disk you created should therefore be called disk_name.qcow2 in this case.

      It seems silly but many times that type of errors come from the name of the files and more when the error is saying "No such file or directory".

      Make sure to also run the basic.sh script as an administrator, that is:

      sudo ./basic.sh

      1.    Mark said

        I have done that and the disk does not appear in the installation, perhaps apart from in ./basic.sh it is also necessary to change the name in some other place before launching sudo ./basic.sh?

        1.    Mark said

          I have created the disk again with this command and now if it appears:
          qemu-img create -f qcow2 disk_name.qcow2 32G

    2.    Percy said

      Can someone help me so that qemu recognizes the usb device

  8.   Christian said

    Someone has tried to connect an iPhone and be able to use it, that is, xCode roll or music synchronization

  9.   Juanlu said

    I get a very low resolution, does anyone know if there is a way to change the resolution?

    1.    Mark said

      In the basic.sh file there is a line that says:
      -vga qxl\
      There is the option to change it for this other:
      -vga std\

      On the other hand, if you enter the virtual machine of mac in settings of the mac itself and entering screens there you can change the settings.

      Another thing, it is not the same at the resolution level to run the virtual machine in window mode or in full screen, to go to full screen in qemu you have to use the key combination: ctrl + alt + F

  10.   Mark said

    Does anyone know how to make the usb work on this virtual machine? The qemu does not even recognize them.

  11.   leonardo ramirez said

    Greetings. I was able to perfectly install the machine with Mac OS Mojave.
    Question: How can I increase the RAM of the machine?
    I stay at 2GB and I want to put 4GB on it.

    1.    JJ Biosca said

      Very good The same thing happens to you, I have 8GB of memory but with macOS Catalina I only get 2GB. Have you been able to solve it?
      Thank you

    2.    JJ Biosca said

      Already solved. In the basic.sh file you have a line that marks your memory. By default it is 2GB. Put the real memory that you have and save. The line is this:

      -m 2G \

  12.   Oscar said

    How can I increase the capacity of the graphics card?
    It is only 3 MB and I would like to add to it.

  13.   dgalvarez99 said

    Can you help me please? When I am doing the installation and I am going to select the disk where it will be installed, it appears that the disk is locked

  14.   Night Not said

    Hello:
    Following the instructions, I have Mac OS Catalina, running Qemu and Linux Mint 20.
    Please, can someone detail me, how to enable, for any Linux user, to be able to run the virtual machine.
    Either detailing the permissions that I have to give to access my / home, or indicating how to relocate the machine in another folder for access to all users.
    I create it with my username, but my daughter wants to use it and cannot from hers.
    Thank you very much.

  15.   Edgar Quiroz said

    It works very well and very fluid since in VirtualBox with Windows it is mega slow

  16.   Alexander Pallares said

    I could not finish successfully, it gave me {o the following messages:
    Fetching BaseSystem / BaseSystem.dmg… [################################## -] Fetching BaseSystem / BaseSystem. dmg… [################################### -] Fetching BaseSystem / BaseSystem.dmg… [## ###################################] 100%
    ./jumpstart.sh: line 39: / home / alex / Downloads / tools / dmg2img: cannot execute binary file: Wrong executable format
    alex @ alex-Macmini: ~ / Downloads $ qemu-img create -f qcow2 alex_mac.qcow2 24G
    Formatting 'alex_mac.qcow2', fmt = qcow2 size = 25769803776 cluster_size = 65536 lazy_refcounts = off refcount_bits = 16
    alex @ alex-Macmini: ~ / Downloads $ ./basic.sh
    Could not access KVM kernel module: Permission denied
    qemu-system-x86_64: failed to initialize KVM: Permission denied
    ./basic.sh: line 30: -device: command not found

    I will appreciate your support

  17.   Xavier D said

    hello, i don't know if this is the right place but i need help, in my linux elementary distro for a few months i have been installing ClamTK from the elementary official store it has caused me interference, it cannot be uninstalled and when installing different programs like the one from QUEMU or any other output the following:
    dpkg: fatal unrecoverable error, aborting:
    reading the list of files for package 'libclamav9: amd64': Input / output error
    E: Sub-process / usr / bin / dpkg Returned an error code (2)
    Please help this error does not let me update the OS files either manually or automatically, it does not let me install new programs

    1.    Isaac said

      Hi, try this:

      cd / var / lib / dpkg

      Ls -l

      Look for a file called status

      sudo cp status status.bak

      sudo nano status

      Look inside this file for the package 'libclamav9: amd64'
      Once you find where it is, delete all the text referring to it, from "Package" to "Original-Maintainer"
      Save with Ctrl + O and exit the editor

      sudo apt upgrade

      sudo apt --fix-broken install

      sudo rm status.bak

      That should work.
      A greeting!