OpenSUSE will not install on Parallels 20 on Mac Studio

Discussion in 'Parallels Desktop on a Mac with Apple silicon' started by James Rome, Sep 11, 2024.

  1. James Rome

    James Rome Hunter

    Messages:
    148
    Leap 15.6 installed just fine on Parallels 19, but the parallel tools install died. I was hoping that Parallels 20 would fix this.
    But downloading and trying to install the UEFI-ARM64 openSUSE-Leap-15.6-DVD-aarch64-Build710.3-Media.iso failed. It said it was the wrong kind of ISO.
    How to fix this?
     
    MatteoCorti likes this.
  2. James Rome

    James Rome Hunter

    Messages:
    148
    Where is some response from Parallels?
     
  3. James Rome

    James Rome Hunter

    Messages:
    148
    Hello Parallels
     
  4. MatteoCorti

    MatteoCorti Junior Member

    Messages:
    14
    Seems to work from the command line

    prlctl create openSUSE --ostype linux
    prlctl set openSUSE -device-set cdrom0 --image ~/Downloads/openSUSE-Leap-15.6-NET-aarch64-Build710.3-Media.iso
    prlctl start openSUSE​

    Then attach the DVD and set the boot device in the BIOS. The installer will then start.
     
  5. MatteoCorti

    MatteoCorti Junior Member

    Messages:
    14
    No error about the wrong image. The installer works but stops at
    upload_2024-10-1_22-21-15.png
     
  6. MatteoCorti

    MatteoCorti Junior Member

    Messages:
    14
    Got it working with the full offline installer (DVD) instead of the network installer image.
     
  7. MatteoCorti

    MatteoCorti Junior Member

    Messages:
    14
    The installation of Parallels tools fails because of a bug in pm.sh:
    $ ./pm.sh -c gtools
    o net-tools
    $ sudo ./pm.sh -i gtools
    Loading repository data...
    Reading installed packages...
    'net-tools' is already installed.
    Resolving package dependencies...
    Nothing to do.​
    and net-tools is indeed installed.
     
  8. MatteoCorti

    MatteoCorti Junior Member

    Messages:
    14
    Ok, copying the installer to the local disk, removing the net-tools check from pm.sh makes the compilation start. But
    Start compile prl_tg...
    make -C /lib/modules/6.4.0-150600.23.22-default/build M=/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg SRCROOT=/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Lin
    ux/prl_tg CC=cc modules
    make[2]: Entering directory '/usr/src/linux-6.4.0-150600.23.22-obj/arm64/default'
    warning: the compiler differs from the one used to build the kernel
    The kernel was built by: gcc (SUSE Linux) 7.5.0
    You are using: cc (SUSE Linux) 7.5.0
    1: /lib/modules/6.4.0-150600.23.22-default/build
    2: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg
    3: 20241002
    4: 1.10.2
    CC [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o
    CC [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.o
    In file included from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_common.h:25:0,
    from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c:13:
    /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c: In function 'tg_req_map_user_pages':
    /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h:66:3: error: too many arguments to function 'get_user_pages'
    get_user_pages(_1, _2, (_3) ? FOLL_WRITE : 0, _4, NULL)
    ^
    /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c:128:8: note: in expansion of macro 'prl_get_user_pages'
    got = prl_get_user_pages(
    ^~~~~~~~~~~~~~~~~~
    In file included from /usr/src/linux-6.4.0-150600.23.22/include/linux/scatterlist.h:8:0,
    from /usr/src/linux-6.4.0-150600.23.22/include/linux/dma-mapping.h:10,
    from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c:8:
    /usr/src/linux-6.4.0-150600.23.22/include/linux/mm.h:2457:6: note: declared here
    long get_user_pages(unsigned long start, unsigned long nr_pages,
    ^~~~~~~~~~~~~~​
     
  9. VadymK

    VadymK Bit poster

    Messages:
    3
    I've successfully installed Parallels Tools doing the following:
    1. Copy the Parallels Tools from the mounted cd image to a local directory, e.g. ~/Parallels Tools
    2. Extract ~/Parallels Tools/kmods/prl_mod.tar.gz to some other folder and apply the following diff:
    --- prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h.base 2024-11-21 12:17:24.000000000 +0000
    +++ prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h 2024-11-21 12:17:58.000000000 +0000
    @@ -58,7 +58,7 @@
    #define OPENSUSE_4_4_76
    #endif
    -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0)
    -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0)
    +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)
    #define prl_get_user_pages(_1, _2, _3, _4) \
    get_user_pages(_1, _2, (_3) ? FOLL_WRITE : 0, _4)
    #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) || defined(OPENSUSE_4_4_76)
    3. After that re-create ~/Parallels Tools/kmods/prl_mod.tar.gz with the patched prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h file.
    4. Now Parallel Tools will be able to build the kernel module successfully and install successfully.
     
  10. VadymK

    VadymK Bit poster

    Messages:
    3
    Apologies, cut and paste error in the diff:

    --- prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h.base 2024-11-21 12:17:24.000000000 +0000
    +++ prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h 2024-11-21 12:17:58.000000000 +0000
    @@ -58,7 +58,7 @@
    #define OPENSUSE_4_4_76
    #endif

    -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0)
    +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)
    #define prl_get_user_pages(_1, _2, _3, _4) \
    get_user_pages(_1, _2, (_3) ? FOLL_WRITE : 0, _4)
    #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) || defined(OPENSUSE_4_4_76)

     
    FrankH30 likes this.
  11. MatteoCorti

    MatteoCorti Junior Member

    Messages:
    14
    It works thanks!
     
  12. PSR0437

    PSR0437 Bit poster

    Messages:
    9
    Hi, I'm running into the same problem. However, as inexperienced as I am, I also have trouble applying the patch to the file after pasting and copying the lines above into a patch.txt file and playing it to the code in the directory. I get the error
    patch: **** malformed patch at line 4: #define OPENSUSE_4_4_76
    Any suggestions or would it be possible to get the patch file for download?
     
  13. PSR0437

    PSR0437 Bit poster

    Messages:
    9
    Sorry, I now patched by hand, which was as simple as exchanging in the term "KERNEL_VERSION(6, 5, 0)" the 5 by a 4. Now, it compiles fine. Many thanks!!
     
    FrankH30 likes this.
  14. FrankH30

    FrankH30 Bit poster

    Messages:
    4
    Many thanks as well. Patching is as easy as PSR0437 described.
    The annoying thing is, that I already had opened a service ticket at Parallels and they are simply telling that openSUSE on aarch64 (MacBook Pro M1 in my case) i generally not suported (since Parallels 20). I just experimented a little and found that even openSUSE 15.5 (ISO image) is marked as not installable/supported. The funny thing is that I started with openSUSE aarch64 on Parallels 18 and upgraded upto 15.5 wich worked without any problems and even does with Parallels 20 but the upgrade to 15.6 failed with the here solved issue.
    Any idea what the policy at Parallels is regarding openSUSE? I didn't get any answer, neither in my ticket nor form the service directly...
    Regards Frank
     
  15. PSR0437

    PSR0437 Bit poster

    Messages:
    9
    Hi Frank,

    I contacted Parallels support at the end of October, asking them how to install Suse Linux on aarch64, which is not officially on the list of supported operating systems. The very friendly support then sent me step-by-step instructions on how to install OpenSuse Leap 15.6, which worked fine for me. I past-and-copy it here what he wrote for your reference. Perhaps you will manage too to get it working on your system...

    Since it is not officially part of the supported OS list, it might be causing an issue.
    But we have done some testing on our side and were able to start the installation of OpenSUSE 15.6, please find the steps below:

    1) Go to Control Center > Click on the '+' > Select "Install from image file" > Next
    2) At the bottom, select choose manually > On the bottom left, select continue without a source.
    3) In the prompt where it asks to choose operating system, choose Other Linux > OK
    4) On the Name and Location window, at the bottom, check the Customize settings before installation > Create
    5) This will prompt you with the configuration settings, go to Hardware > CD/DVD > Change the source and select the OpenSUSE ISO image (After the installation, change source back to Disconnected)
    6) From the configuration settings, go to Hardware > Boot Order > Move CD/DVD to the first spot (after the installation, move hard drive back to first position)
    7) Close the Configuration window and select continue, this will start the virtual machine shell and allow you to proceed with the installation of OpenSUSE.
     
  16. FrankH30

    FrankH30 Bit poster

    Messages:
    4
    Hi,
    many thank for the information. That is nearly the way, I succeeded to set uo a new 15.6 VM. I started with the CLI -- manually creating an empty VM and then attaching the ISO image from the Control Center and configuring the boot order.
    In that new and fresh VM I then could install the Paralles Tools from the here decribed and patched local copy.
    But additionally and more important for me, I could then also upgrade my 15.5 to 15.6 and re-install the Parallels Tools with the same method.
    Have a good day and let's cross fingers that Paralles will again take OpenSUSE on their list of supported OSes.
    Regards
    Frank
     
  17. FrankH30

    FrankH30 Bit poster

    Messages:
    4
    Hi,
    I have some news regarding the recent update of Parallels-Desktop to Version 20.2.0 (55872).
    After update, in the OpenSUSE 15.6 VM the Parallels Guest Tools Installer looped to pop up at every login independent of the user to log in.
    Of course, with the hint to reboot after finalisation of the installation and again... The new thing was, that there was no error message in the GUI-installer that popped up again and again, but the same error as before stopped the installation in the command line installer.
    Same procedure as here described (local copy, patching/modifying the same entry in prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h) helps again.
     
  18. PSR0437

    PSR0437 Bit poster

    Messages:
    9
    Yes, I've had the same experience in Version 20.1.3 (55743). Interestingly enough, as Parallels Tools did not change, so I simply used the same patched files and local copy of the tools and mounted them also in the newest version to get the tools installed in the update. The same was true already in the previous update. I really wonder WHY the Parallels people are not able to get those simple changes applied to correct this error.
     
  19. Tres Finocchiaro

    Tres Finocchiaro Member

    Messages:
    31
    I was very happy to see openSUSE provides aarch64/ARM64 ISOs for download.

    To workaround this, I simply created the VM manually (Chose manually --> Continue without a source) and then customized the settings to select the openSUSE Tumbleweed ISO that I had downloaded in the "Hardware CD/DVD" section of the configuration.

    Hopefully Parallels updates the product to properly detect this ISO as being for ARM64.
     

    Attached Files:

  20. Tres Finocchiaro

    Tres Finocchiaro Member

    Messages:
    31
    I re-checked and it appears Parallels 20.2 fixes this bug, openSUSE Tumbleweed aarch64 be installable now.
     

Share This Page