23 Ekim 2012 Salı

Ubuntu 12.10 Vmware Blocking File System Problemi

Ubuntu 12.10 sürümünüde Linux 3.5.0-17-generic çekirdeği geliyor. Vmware Workstation 8.0.2 ise 3.5.x çekirdeği üzeride blocking file system modülünü derlemeyi başaramıyor. Bu modülün derlenmesi için /usr/lib/vmware/modules/source/vmblock.tar dosyası içerisindeki filesystem.c dosyasında küçük bir düzenleme yapmak gerekiyor.

Öncelikle vmblock.tar dosyasını /tmp altında bir yere açalım...

mkdir /tmp/vmblock
tar xvf /usr/lib/vmware/modules/source/vmblock.tar -C /tmp/vmblock

Biraz önce tar dosyasından çıkardığımız
/tmp/vmblock/vmblock-only/linux/filessytem.c dosyasını en sevdiğimiz metin edörü ile açarak içerisinde 528. satırdan başlayan aşağıdaki ifadeyi buluyoruz.

   rootDentry = d_alloc_root(rootInode);
   if (!rootDentry) {
      iput(rootInode);
      return -ENOMEM;
   }

Bulduğumuz ve yukarıdaki gibi görünen satırları aşağıdaki gibi değiştiriyoruz...

   #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
      rootDentry = d_alloc_root(rootInode);
   #else
      rootDentry = d_make_root(rootInode);
   #endif

   if (!rootDentry) {
      iput(rootInode);
      return -ENOMEM;
   } 

filessytem.c dosyasında gerekli değişikliği yaparak kayıt ettikten sonra vmblock.tar dosyasını yeniden oluşturmamız gerekiyor.

cd /tmp/vmblock/
tar cvf /usr/lib/vmware/modules/source/vmblock.tar .


vmblock.tar dosyaısnı yeniden oluşturduğumuza göre artık vmware'i başlatıp modüllerin derlenemesini keyifle izleyebiliriz...

Hiç yorum yok:

Yorum Gönder