Parallels Tools fix for Ubuntu 18.04 and other Linux distributions with Kernel version >= 4.15
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, name it for e.g. "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" (cd installer
)
Make few other scripts executable: chmod +x installer.* *.sh prl_*
cd ~/Desktop/parallels_fixed/kmods
) and extract the files (tar -xzf prl_mod.tar.gz
)rm prl_mod.tar.gz
)cd ~/Desktop/parallels_fixed/kmods/prl_eth/pvmnet
) directoryMODULE_LICENSE("Parallels");
to
MODULE_LICENSE("GPL");
cd ~/Desktop/parallels_fixed/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg
) directoryMODULE_LICENSE("Parallels");
to
MODULE_LICENSE("GPL");
cd ~/Desktop/parallels_fixed/kmods/prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze
)void thaw_timer_fn(unsigned long data)
{
struct work_struct *work = (struct work_struct *)data;
schedule_work(work);
}
Change it to:
void thaw_timer_fn(unsigned long data)
{
struct work_struct *work = (struct work_struct *)data;
schedule_work(work);
}
void thaw_timer_fn_new_kernel(struct timer_list *data)
{
struct work_struct *work = data->expires;
schedule_work(work);
}
Then change a line 220 from:
DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));
to
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
DEFINE_TIMER(thaw_timer, thaw_timer_fn_new_kernel);
#else
DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));
#endif
cd ~/Desktop/parallels_fixed/kmods
) and zip:
tar -zcvf prl_mod.tar.gz . dkms.conf Makefile.kmods
cd ../
or cd ~/Desktop/parallels_fixed
) and install it by running sudo ./install
First two changes are hacks, changing licensing type and i cannot post complete, built package. Third file change was needed as backward incompatible changes were released in version 4.15 of the Linux kernel, on November 2017 by Linus. https://github.com/torvalds/linux/blob/master/include/linux/time.h