IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Parallels & Ubuntu 15.10, Installation des Parallels Tools grâce à Emacs
Options
Jaypee
posté 5 Jun 2016, 13:37
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 486
Inscrit : 29 Aug 2002
Membre no 3 340



Ceux qui comme moi utilisent Parallels Desktop 10, notamment pour tourner une image de Linux Ubuntu ont dû avoir la désagréable surprise de voir la mise à jour de l'OS à 15.10 se traduire par l'impossibilité d'installer les Parallels Tools pour revenir à une résolution d'écran meilleure que 800x600.

Ce blog explique quoi faire : https://journal.dedasys.com/2015/10/26/para...h-ubuntu-15-10/

Pour ceux plus familier de la souris que du Terminal, et d'Emacs, voici quelques indices:
- Passer en utilisateur root:
Code
sudo su -

et entrer le mdp de l'utilisateur.
Si emacs n'est pas installé:
Code
apt-get install emacs24

Puis, en tant que root:
- Copier le contenu du CD monté sur /media/utilsateur/Parallels\ Tools par exemple dans /root pour le rendre éditable. Dans le terminal, utiliser la touche tab pour compléter les commandes (taper Para<tab>)
Code
cd /root
cp -R /media/utilsateur/Parallels\ Tools .
cd Parallels\ Tools
emacs kmods/prl_mod.tar.gz

Là, bravo Emacs, il permet d'éditer sur place un tar gzippé !
- Comme Emacs affiche toujours le texte d'aide, on peut s'en débarrasser avec un Ctrl-X1 (1 seule fenêtre)
- Rechercher dans la fenêtre le fichier inode.c avec un ctrl-S inode.c, puis avec les flèches revenir sur le début du chemin complet: ./prl... et envoyer un retour-chariot pour ouvrir le fichier .c

Dans inode.c:
- Rechercher: return tgt_path
- Modifier le #if qui suit en #elif
- Devant le #elif, on ajoute un #if avec la version 4.2.0

Code
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
#define compat_follow_link_t char*
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13)

Les 4 lignes suivantes ne changent pas:

#define compat_follow_link_t void*
#else
#define compat_follow_link_t int
#endif

Juste derrière le #endif ajouter:
Code
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
static compat_follow_link_t prlfs_follow_link(struct dentry *dentry,
void **cookie, struct nameidata *nd)
{
return *cookie = do_read_symlink(dentry);
}
#else

Puis le code original qui suit ne change pas, mais il faut repérer la fin pour clore avec un #endif supplémentaire
static compat_follow_link_t prlfs_follow_link(struct dentry *dentry,
struct nameidata *nd)
{
...
return vfs_follow_link(nd, do_read_symlink(dentry));
#endif
}
On ajoute la directive de fin:
Code
#endif

C'est tout pour inode.c, le sauver avec un ctrl-X ctrl-S, répondre y pour confirmer
- On revient au contenu du tar grippé: ctrl-X B, et confirmer le retour à l'autre fenêtre (buffer dans le parler Emacs)
- Remonter au début avec les flèches
- Rechercher prltg.c et l'ouvrir.
- A la fin des #include <linux/... ajouter:
Code
#include <linux/vmalloc.h>

C'est tout pour les modifications: Ctrl-X Ctrl-C et confirmer une fois: pour le .c, puis une deuxième fois pour le tar.gz modifié.
- Finalement, lancer l'installation
Code
./install --install

Après un reboot vous aurez un Ubuntu 15.10 avec une résolution meilleure que 800x600.

Je suis à peu près à l'aise avec emacs, et pourtant, j'ai ramé, alors je pense que ceux qui ne le sont pas apprécieront ces détails.

J-P

Ce message a été modifié par Jaypee - 6 Jun 2016, 07:49.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 23rd April 2024 - 10:31