Τουλάχιστον, τα τελευταία χρόνια, όσοι παράγουν κλειστού κώδικα modules τα φτιάχνουν ως ένα ανοιχτού κώδικα "wrapper" ο οποίος καλεί ένα binary blob. Τις περισσότερες φορές οι αλλαγές στον πυρήνα επηρρεάζουν μόνο τον κώδικα του wrapper οπότε βγαίνει άκρη αλλάζοντας μόνο αυτόν.
Αυτό συνέβει μόλις και στη δική μου περίπτωση, προσπαθώντας να εγκαταστήσω το VMware-Player 2.5.2 σε ένα σύστημα με πυρήνα 2.6.31-rc4. Ευτυχώς χάρη στην υπέροχη κοινότητα δε χρειάστηκε να κάνω σχεδόν τίποτα για τη λύση αφού κάποιος από τα φόρουμ του vmware είχε φτιάξει ήδη το κατάλληλο patch.
Έχοντας το patch η εγκατάσταση είναι απλή και μπορεί να γίνει κάπως έτσι:
- Κατεβάζουμε το vmware player (bundle) και το patch σε ένα directory, ανοίγουμε ένα τερματικό και κάνουμε 'cd' στο directory αυτό.
- Θέτουμε μια μεταβλητή για λόγους βολικότητας:
export VMWARE_DIR=`pwd`
- Ξεπακετάρουμε το bundle
sudo sh VMware-Player*bundle --extract=$VMWARE_DIR/tmp
- Πάμε στο directory με τον κώδικα των modules:
cd tmp/vmware-player/lib/modules/source
- Ξεπακετάρουμε όλα τα αρχεία με τον κώδικα:
for i in *.tar; do sudo tar -xf $i; done
- Εφαρμόζουμε το patch:
sudo patch -Np1 -i $VMWARE_DIR/vmware-6.5.2-newkernmods.patch
- Τώρα μπορούμε να σβήσουμε τα tarballs:
sudo rm -f *.tar
- Και να φτιάξουμε νέα με βάση τα αλλαγμένα directories:
for i in *-only; do sudo tar -cf ${i/-only/}.tar $i; done
- Τώρα πια τα directories δε μας χρειάζονται:
sudo rm -rf *-only
- Μπορούμε να πάρουμε τα νέα tarballs σε ένα μέρος
cd .. && sudo tar -cf source{.tar,/} &&
sudo mv source.tar $VMWARE_DIR - Επιστρέφοντας στο $VMWARE_DIR μπορούμε τώρα να εγκαταστήσουμε τον player:
cd $VMWARE_DIR &&
sudo sh VMware-Player*bundle - Και τώρα που εγκαταστάθηκε μπορούμε να αντικαταστήσουμε το δικό του κώδικα για τα modules με το δικό μας:
sudo rm -rf /usr/lib/vmware/modules/source &&
sudo tar -xf source.tar -C /usr/lib/vmware/modules - Έτοιμα όλα! Μπορούμε πλέον να τρέξουμε το πρόγραμμα:
vmplayer
Τώρα κανονικά θα μπορέσει να μεταγλωττίσει σωστά τα modules του και θα οδηγηθούμε σε ένα σύστημα που δουλεύει :)
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου