|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/39023b863dee.html, оценка из 5, голосов 10
|