Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save ntamvl/77a6126027ae161aed22f80b029598b9 to your computer and use it in GitHub Desktop.

Select an option

Save ntamvl/77a6126027ae161aed22f80b029598b9 to your computer and use it in GitHub Desktop.
Parallels Tools fix for Ubuntu 18.04 and other Linux distributions with Kernel version >= 4.15
# Preparation
- In open Ubuntu 18.04 machine click Parallels Actions -> "Install Parallels Tools"
- A "Parallels Tools" CD will popup on your Ubuntu desktop.
- Open it by double mouse click, copy all the content to a new, empty directory on a desktop, let's name it "parallels_fixed"
- Open terminal, change directory to parallels_fixed (cd ~/Desktop/parallels_fixed)
- Make command line installer executable (chmod +x install)
- Change directory to "installer" now (cd installer)
- Run this command to make few scripts executable: "chmod +x installer.* *.sh prl_*"
# We have to modifiy some files, let's prepare:
- Go to kmods directory (cd ~/Desktop/parallels_fixed/kmods) and extract the files (tar -xzf prl_mod.tar.gz)
- Remove prl_mod.tar.gz file from that directory.
# Changing file 1/3
- Go to "prl_eth/pvmnet/" (cd ~/Desktop/parallels_fixed/kmods/prl_eth/pvmnet) directory
- Open "pvmnet.c" file in a text editor
- Edit line 438:
```
MODULE_LICENSE("Parallels");
```
to
`MODULE_LICENSE("GPL");`
- Save
# Changing file 2/3
- Go to "prl_tg/Toolgate/Guest/Linux/prl_tg/" (cd ~/Desktop/parallels_fixed/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg) directory
- Open "prltg.c" file in a text editor
- Edit line 1535:
`MODULE_LICENSE("Parallels");`
to
`MODULE_LICENSE("GPL");`
- Save
# Changing file 3/3
- Go to "prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/" (cd ~/Desktop/parallels_fixed/kmods/prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze)
- Open "prl_fs_freeze.c" file in a text editor
- in line 212 you will find a function "thaw_timer_fn":
`
void thaw_timer_fn(unsigned long data)
{
struct work_struct *work = (struct work_struct *)data;
schedule_work(work);
}
`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment