Tools Patch Procedure

Discussion in 'Linux Guest OS Discussion' started by Mark Fine, Nov 28, 2020.

  1. Mark Fine

    Mark Fine Kilo Poster

    Messages:
    264
    Since people keep asking...

    This post contains detailed, step-by-step instructions to apply any Parallels Tools patch provided in this forum.

    NOTE: Please know and understand that this process is not for the meek and expects the user to have a fairly good level of Linux administrative skills. It helps if you know what you're doing and what the implications are by performing each step. By following the instructions below, the reader/user accepts any and all risks, which include the possibility of rendering their version of Linux completely inoperable. By accepting these risks, neither the author of this post nor Parallels can be held responsible for any negative outcome, legally or otherwise.

    1. Boot into Linux.
    2. Ensure the Tools virtual CD is selected by Parallels by selecting it Devices -> CD/DVD -> prl-tools-lin.iso.
    3. Become root user.
    > su
    > <enter superuser password>
    4. Mount the Tools virtual CD in your Linux VM.
    # mount /dev/cdrom /mnt
    5. Copy the full CD to a local directory, and rename it something like *tools_cd* then enter it.
    # cp -R /mnt .
    # mv mnt tools_cd
    # cd tools_cd
    6. Navigate to the source code tarball
    # cd kmods
    7. Untar the source code.
    # tar xvpf prl_mod.tar.gz
    Can optionally change ownership:
    # chown -R <owner>:<group> ../kmods
    8. Move the current tar.gz out of the source tree to protect it in case of an error.
    # mv prl_mod.tar.gz ../../
    9. Apply the patch to the source code or edit the appropriate files manually.
    To apply the patch:
    # patch -p1 <patch filename>
    Optionally, you can edit the individual files manually (what I prefer to do) using the stated file paths and line numbers in the diff as a guide.
    Lines to remove are prefaced with a '-'.
    Lines to add are prefaced with a '+'.
    10. Re-tar/gzip the source tree.
    # tar cvpf prl_mod.tar .
    # gzip prl_mod.tar
    11. If you are not in the new kernel, reboot into it.
    # reboot
    12. Once in the new kernel, become root user.
    > su
    > <superuser password>
    13. Change to the directory where you copied the Tools CD.
    # cd tools_cd
    14. Run the installer and follow all installer directions to perform an *Upgrade* to continue.
    # ./install
    15. The installer will take a while to complete.
    16. If the install is successful it will ask you to reboot. If it failed, it's likely that something in Step 9 was done incorrectly. Simply restart from Step 9, ensuring the changes to each file were made correctly. Worst case scenario, copy the saved copy of prl_mod.tar.gz back into tools_cd/kmods and restart from Step 7.

    Note: In the event you upgrade your kernel you may fully rebuild Parallels Tools by simply starting from Step 12. There is something about the scripts that do not fully rebuild/install Tools whenever a kernel is updated via dnf.

    Restarting from Step 12 can be done repeatedly until which time that Parallels (and hence, Tools) is ever updated again from Parallels. It assumed that Parallels-provided version of Tools will continue to work for a while. However, eventually it will break, in that case you must restart the entire process and apply a whole new patch once those fixes are determined.
     
    YuryZ, AidenJ, RonnyR and 1 other person like this.
  2. BehozanL

    BehozanL Bit Poster

    Messages:
    15
    That's great but how do I get that patch file into Linux if I have no Parallels Tools and I can only operate inside recovery mode?
     
  3. Mark Fine

    Mark Fine Kilo Poster

    Messages:
    264
    Lol. How did you think this was going to work?
    If you have no way to bring the file into the current Linux environment, nor can boot into a previous kernel that works with the current version of Tools, then you have no other choice than to print the patch file using another macOS desktop, then manually edit the version in the Linux desktop the hard way.
    If you also tell me you don't know how to use a Linux-based text editor to do the manual method (gedit, nano, vi, emacs, etc.), I think this is going to be a bridge too far for you.
     
  4. Mark Fine

    Mark Fine Kilo Poster

    Messages:
    264
    Do you know how to get to a non-graphical login screen from the boot sequence?
    If the boot sequence hangs because Tools is incompatible, press Control-Option-F2 and it will take you to a text screen that you can log in as root.
     
  5. BehozanL

    BehozanL Bit Poster

    Messages:
    15
    I only am able to get to a non-graphical login screen wherefrom I log in as root whereupon I only can operate from a command line environment.
     
  6. BehozanL

    BehozanL Bit Poster

    Messages:
    15
  7. Mark Fine

    Mark Fine Kilo Poster

    Messages:
    264
  8. BehozanL

    BehozanL Bit Poster

    Messages:
    15
    You could've at least tried...
     
  9. Mark Fine

    Mark Fine Kilo Poster

    Messages:
    264
    I could have tried? Really?

    I went out of my way to write up a detailed procedure. I gave you a solution to getting the patch installed. I even got you to a command prompt... all this after pointing out you might not have the requisite skills to do this, and I still held your hand through this.

    And now you're unhappy because I can't make it work to your liking? I have no clue what computer/macOS you're running it on, what Parallels settings you are using, if you've even typed the modifications in correctly, anything about what version and distribution of Linux you're trying to install, or a host of other things that could be causing the problem the least of which could actually be Kali itself...

    Like I said, it's beyond the scope of this thread. Start a new thread concisely stating the problem and maybe someone that is more familiar with your particular issue will/can help. I would highly recommend you refrain from giving them the same entitled attitude you just gave me if you want someone to respond.
     
  10. BehozanL

    BehozanL Bit Poster

    Messages:
    15
    I am terribly sorry to have hurt your feelings. I have heeded your advice and have started a new thread concisely stating my problem hoping someone more familiar with my particular issue will/can help.
    I would appreciate if you should contribute thereto, here. By the by, I gave you a credit ;-)
     
  11. Mark Fine

    Mark Fine Kilo Poster

    Messages:
    264
    You didn't hurt my feelings, but your response was inappropriate.
     
  12. BehozanL

    BehozanL Bit Poster

    Messages:
    15
    Oh, I'm sorry then to have darken your day.
     
  13. JavierB2

    JavierB2 Bit Poster

    Messages:
    7
    Thank you, thank you, thank you, got parallels tools working at last, Great write up.
     
    Mark Fine likes this.
  14. ChristianL3

    ChristianL3 Bit Poster

    Messages:
    3
    One way is to check the IP address inside of the linux VM and the IP address of the Mac host and then simply use "scp" to copy the file. It can be done in either direction and you only need the address of the remote end (I ended copying from the Mac to the VM since I had a keyboard issue where the "@" was missing).
    To get this to work might depend on the specifics of the type of networking that the VM is using and how the network is set up in the VM, though I would expect that for most people it will just work.
     
    Mark Fine likes this.
  15. Mark Fine

    Mark Fine Kilo Poster

    Messages:
    264
    Neat idea that I hadn't thought of.
    It would be interesting to see how/if this works given the particular setting the VM is in (shared, bridged, etc.) and how that part works without Tools. That said, I have other VMs (e.g., Android) that don't use Tools and the internet interface works just fine. If shared uses the same IP as the host that could present a problem, though.
     
  16. EdwinB3

    EdwinB3 Bit Poster

    Messages:
    1
    I am in the middle of doing this, still figuring out how to apply the patch, but I installed openssh-server, then enabled the service, and then started the service; then from my Mac I did use scp to copy the file via ssh.

    maybe this can help you: https://linuxconfig.org/how-to-install-start-and-connect-to-ssh-server-on-fedora-linux
     
  17. Mark Fine

    Mark Fine Kilo Poster

    Messages:
    264
    Worthwhile to point out that in the procedure, above, I recommended a manual rebuild of Tools after subsequent kernel updates. I may have inadvertently found out why that's necessary. It's possible that dnf kernel upgrades that automatically trigger a Tools rebuild may be using the wrong code if there are old versions of parallels-tools-* left in /usr/src/.

    I recently went in and blew away unnecessary (read: other than the last 3 installs) kernel versions under /usr/lib/modules/ and /usr/src/kernels/ (as one normally does during clean-up). This time I deleted all irrelevant installs of parallels-tools (read: all old Parallels versions) under /usr/src/ as well. Ever since I've done this I've not needed to manually rebuild Tools at all. I guess it always pays to remember to clean up the battlefield every once in a while, as the saying goes.

    Note to Parallels' Linux developers: That said, this does seem to illuminate a potential code flaw in the rebuild script that occurs after dnf cleanup phase. It should know what the current version of Parallels is, and therefore, which code directory to use for the correct version of Tools, not (what I assume) is just picking the first directory that matches paralells-tools*. That should only be the case if the Parallels version update is automatically deleting those old directories, which apparently it is not.
     
  18. AidenJ

    AidenJ Bit Poster

    Messages:
    9
    Thanks for the information,
    But, I have an Query? How do I get that patch file into Linux if I have no Parallels Tools and I can only operate inside recovery mode?
     
  19. Mark Fine

    Mark Fine Kilo Poster

    Messages:
    264
    Step 9 says: "Optionally, you can edit the individual files manually (what I prefer to do) using the stated file paths and line numbers in the diff as a guide."

    Presumes you've either opened the patch file in TextEdit in another desktop or printed it. Also presumes you know how to use a Linux-style editor. Pretty sure vi and nano are available in Linux recovery mode.
     
    AidenJ likes this.
  20. AidenJ

    AidenJ Bit Poster

    Messages:
    9
    It works for me, thanks!
     
    Mark Fine likes this.

Share This Page