Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Konstantin Isakov                    2:5020/2046.4  24 Aug 2001  15:06:24
 To : Alexey Mefodiev
 Subject : ASPLinux 7.1 & VMWare Tools
 -------------------------------------------------------------------------------- 
 
 Alexey,
 
 23 Авг 01 17:31, Alexey Mefodiev(2:5077/36.41) wrote to Konstantin
 Isakov(2:5020/2046.4):
 
  KI>> Важно и то, и другое. Hапример, без хирургических вмешательств
  KI>> vmware не ставится на 2.4.8.
  KI>>
  KI>> P.S. 2All: ежели кому надо, могу рассказать, как они производятся
  KI>> конкретно для 2.4.8, ибо ставил и поставил :)
 
  AM> У меня тоже гредет переход на 2.4.x, так что залей в эху рецепт,
  AM> чтобы лишним гемором не заниматься.
 
 Для VmWare 2.0.4 build-1142 и ядра 2.4.8 (наверное, прокатит и для соседних):
 
 берем /usr/lib/vmware/modules/source/vmmon.tar и растариваем в какую-нибудь
 директорию, где и будем над ним издеваться.
 
 Пускаем make. Видим ошибки. Это:
 
 1) undefined PAGE_SIZE и PAGE_OFFSET
 2) no such member: 'dumpable'
 
 Hачинаем с конца. Редактируем linux/driver.c, строчку current->dumpable заменяем
 на current->mm->dumpable (ну, они часть из task_struct перенесли в отдельную
 структуру).
 
 Компилим -- вторая ошибка исчезла.
 
 Теперь... Честно говоря, причину происхождения первой ошибки я так и не понял.
 Даже если в самом начале файла linux/driver.c прописать
 
 #define PAGE_SIZE тряляляля
 
 ошибка `undefined PAGE_SIZE' останется. Все, что по этому поводу пришло мне в
 голову, -- это то, что, может быть, где-то есть #undef PAGE_SIZE. Однако grep -r
 undef.*PAGE_SIZE /usr/src/linux/include не дал ничего. Так же, как и для undef
 all.
 
 В общем, решал эту проблему я самым дурацким способом: скопировал весь
 /usr/src/linux/include в другое место, а там прямо в том файлике, где
 происходила ошибка, прописал
 
 #define PAGE_SIZE 4096
 #define PAGE_OFFSET 0xC0000000
 
 Потом подредактировал vmmon'овский Makefile, чтобы использовал не
 /usr/src/linux/include, а ту директорию, куда я скопировал всю эту ветвь и где
 правил файлик, в котором ошибка была.
 
 Все, теперь make выдает кучу предупреждений о redefinitions, это и понятно, и
 для нас в этом нет ничего страшного; драйвер собирается.
 Затариваем результат обратно в /usr/lib/vmware/modules/source/vmmon.tar
 (естественно, сохраняя на всякий случай то, что там было раньше), пускаем
 vmware-config.pl, отвечаем на его вопросы и видим заветное 'driver fits into the
 running kernel perfectly!'
 
 Если не соберется vmnet или еще чего-нибудь, укажите для них тоже вместо
 /usr/src/linux/include ту директорию, куда вы всю эту ветвь копировали и
 редактировали.
 
 P.S. А то, почему PAGE_SIZE и PAGE_OFFSET не были defined, так и осталось для
 меня загадкой. Ежели кто знает, в чем тут дело -- расскажите плиз!
 Cheers!
 
 --- GoldED+/LNX 1.1.5 - 10 years of evolution can't be wrong!
  * Origin: Just curious... (2:5020/2046.4)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 ASPLinux 7.1 & VMWare Tools   Konstantin Isakov   24 Aug 2001 15:06:24 
 Re: ASPLinux 7.1 & VMWare Tools   iG0R   27 Aug 2001 12:56:35 
Архивное /ru.linux/39023b863dee.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional