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.

Revisions

  1. @rudolfratusinski rudolfratusinski revised this gist May 24, 2018. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions parallels_tools_ubuntu_new_kernel_fix.md
    Original file line number Diff line number Diff line change
    @@ -96,6 +96,8 @@ DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));

    - Go one level up (`cd ../` or `cd ~/Desktop/parallels_fixed`) and install it by running `sudo ./install`

    In case of problems with Sharing Folder try to `sudo chmod +x /usr/bin/prlfsmountd`. (Suggested by @macdoor - Thanks!)


    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.
  2. @rudolfratusinski rudolfratusinski revised this gist May 16, 2018. No changes.
  3. @rudolfratusinski rudolfratusinski revised this gist May 15, 2018. 1 changed file with 12 additions and 7 deletions.
    19 changes: 12 additions & 7 deletions parallels_tools_ubuntu_new_kernel_fix.md
    Original file line number Diff line number Diff line change
    @@ -1,16 +1,16 @@
    # 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 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" now (`cd installer`)
    - Run this command to make few scripts executable: `chmod +x installer.* *.sh prl_*`
    - Change directory to "installer" (`cd installer`)
    - Make few other scripts executable: `chmod +x installer.* *.sh prl_*`

    # We have to modify some files, let's prepare:
    # We have to modify some files:

    - Go to kmods directory (`cd ~/Desktop/parallels_fixed/kmods`) and extract the files by running command (`tar -xzf prl_mod.tar.gz`)
    - 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 (`rm prl_mod.tar.gz`)

    # Changing file 1/3
    @@ -86,12 +86,17 @@ DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));
    #endif
    ```

    # Pack it!
    # Zip it back

    - Go to kmods directory (`cd ~/Desktop/parallels_fixed/kmods`) and run a command:
    - Go to kmods directory (`cd ~/Desktop/parallels_fixed/kmods`) and zip:
    `tar -zcvf prl_mod.tar.gz . dkms.conf Makefile.kmods`
    - Now you should see "prl_mod.tar.gz" file in this directory

    # Install!

    - Go one level up (`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
  4. @rudolfratusinski rudolfratusinski revised this gist May 15, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion parallels_tools_ubuntu_new_kernel_fix.md
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,7 @@
    - 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:
    # We have to modify some files, let's prepare:

    - Go to kmods directory (`cd ~/Desktop/parallels_fixed/kmods`) and extract the files by running command (`tar -xzf prl_mod.tar.gz`)
    - Remove prl_mod.tar.gz file from that directory (`rm prl_mod.tar.gz`)
  5. @rudolfratusinski rudolfratusinski renamed this gist May 15, 2018. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  6. @rudolfratusinski rudolfratusinski revised this gist May 15, 2018. 1 changed file with 17 additions and 9 deletions.
    26 changes: 17 additions & 9 deletions fix.md
    Original file line number Diff line number Diff line change
    @@ -3,18 +3,18 @@
    - 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_*"
    - 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.
    - Go to kmods directory (`cd ~/Desktop/parallels_fixed/kmods`) and extract the files by running command (`tar -xzf prl_mod.tar.gz`)
    - Remove prl_mod.tar.gz file from that directory (`rm prl_mod.tar.gz`)

    # Changing file 1/3
    - Go to "prl_eth/pvmnet/" (cd ~/Desktop/parallels_fixed/kmods/prl_eth/pvmnet) directory
    - 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:
    ```C
    @@ -27,7 +27,7 @@ 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
    - 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:
    ```C
    @@ -40,7 +40,7 @@ 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)
    - 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":
    ```C
    @@ -86,4 +86,12 @@ DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));
    #endif
    ```

    # Pack it!

    - Go to kmods directory (`cd ~/Desktop/parallels_fixed/kmods`) and run a command:
    `tar -zcvf prl_mod.tar.gz . dkms.conf Makefile.kmods`
    - Now you should see "prl_mod.tar.gz" file in this directory

    # Install!

    - Go one level up (`cd ../` or `cd ~/Desktop/parallels_fixed`) and install it by running `sudo ./install`
  7. @rudolfratusinski rudolfratusinski revised this gist May 15, 2018. 1 changed file with 15 additions and 0 deletions.
    15 changes: 15 additions & 0 deletions fix.md
    Original file line number Diff line number Diff line change
    @@ -70,5 +70,20 @@ void thaw_timer_fn_new_kernel(struct timer_list *data)
    }
    ```

    Then change a line 220 from:

    ```C
    DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));
    ```
    to
    ```C
    #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
    ```


  8. @rudolfratusinski rudolfratusinski revised this gist May 15, 2018. 1 changed file with 9 additions and 2 deletions.
    11 changes: 9 additions & 2 deletions fix.md
    Original file line number Diff line number Diff line change
    @@ -18,7 +18,7 @@
    - Open "pvmnet.c" file in a text editor
    - Edit line 438:
    ```C
    MODULE_LICENSE("Parallels");
    MODULE_LICENSE("Parallels");
    ```
    to
    ```C
    @@ -31,7 +31,7 @@ MODULE_LICENSE("GPL");
    - Open "prltg.c" file in a text editor
    - Edit line 1535:
    ```C
    MODULE_LICENSE("Parallels");
    MODULE_LICENSE("Parallels");
    ```
    to
    ```C
    @@ -61,6 +61,13 @@ void thaw_timer_fn(unsigned long data)
    schedule_work(work);
    }
    void thaw_timer_fn_new_kernel(struct timer_list *data)
    {
    struct work_struct *work = data->expires;
    schedule_work(work);
    }
    ```


  9. @rudolfratusinski rudolfratusinski revised this gist May 15, 2018. 1 changed file with 21 additions and 5 deletions.
    26 changes: 21 additions & 5 deletions fix.md
    Original file line number Diff line number Diff line change
    @@ -21,31 +21,47 @@
    MODULE_LICENSE("Parallels");
    ```
    to
    `MODULE_LICENSE("GPL");`
    ```C
    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");`
    ```C
    MODULE_LICENSE("Parallels");
    ```
    to
    `MODULE_LICENSE("GPL");`
    ```C
    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":
    `
    ```C
    void thaw_timer_fn(unsigned long data)
    {
    struct work_struct *work = (struct work_struct *)data;

    schedule_work(work);
    }
    `
    ```
    Change it to:
    ```C
    void thaw_timer_fn(unsigned long data)
    {
    struct work_struct *work = (struct work_struct *)data;
    schedule_work(work);
    }
    ```



  10. @rudolfratusinski rudolfratusinski revised this gist May 15, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion fix.md
    Original file line number Diff line number Diff line change
    @@ -17,7 +17,7 @@
    - 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:
    ```
    ```C
    MODULE_LICENSE("Parallels");
    ```
    to
  11. @rudolfratusinski rudolfratusinski renamed this gist May 15, 2018. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  12. @rudolfratusinski rudolfratusinski revised this gist May 15, 2018. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -17,9 +17,9 @@
    - 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
  13. @rudolfratusinski rudolfratusinski revised this gist May 15, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -17,7 +17,7 @@
    - 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:
    ```C
    ```
    MODULE_LICENSE("Parallels");
    ```
    to
  14. @rudolfratusinski rudolfratusinski revised this gist May 15, 2018. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -17,7 +17,9 @@
    - 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");`
    ```C
    MODULE_LICENSE("Parallels");
    ```
    to
    `MODULE_LICENSE("GPL");`
    - Save
  15. @rudolfratusinski rudolfratusinski created this gist May 15, 2018.
    49 changes: 49 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,49 @@
    # 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);
    }
    `