Ядро 3.0.4, проблемы с virtualbox-ose [РЕШЕНО]

Автор tetramin, 20 октября 2011, 11:49:11

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

tetramin

Добрый день.

Скачал ядро 3.0.4 с kernel.org Собрал его в дебиановские пакеты. Но теперь не получается собрать модуль vboxdrv (и иже с ним)  :(
Судя по всему проблема в хэдерах. dkms ругается. Вопросы, собственно: откуда можно скачать linux-headers-3.0.4-i386 (весь интернет облазил), можно ли собрать модуль без хэдеров и вообще - правильно ли я всё сделал, скачав ядро на kernel.org, которого нет в официальных репозиториях squeeze?

Brainey

#1
Цитироватьоткуда можно скачать linux-headers-3.0.4-i386
Нужно было собрать и этот пакет. Читаем howto по сборке ядра.
Конференция форума в jabber: debianforum@conference.jabber.ru | Клуб кедоводов: kde@conference.jabber.ru

tetramin

Собирал и этот пакет тоже. У меня на выходе 2 пакета получилось - само ядро и хэдеры. Только это не помогло.

Brainey

ЦитироватьТолько это не помогло.
Установка стороннего пакета тоже не поможет. Наверняка во время конфигурации ядра вами были допущены ошибки. Рекомендую уделить особое внимание разделам Virtualization и Processor type and features -> Paravirtualized guest support
Конференция форума в jabber: debianforum@conference.jabber.ru | Клуб кедоводов: kde@conference.jabber.ru

tetramin

Да. Действительно я отключил Lguest guest support и Linux hypervisor example code. Просто с ними ядро не компилируется. Интернет перерыл - единственное решение, которое нашёл - отключить это...  Возможно ли, что из-за этого?

paulcarroty

Цитата: tetramin от 26 октября 2011, 00:09:44
Да. Действительно я отключил Lguest guest support и Linux hypervisor example code. Просто с ними ядро не компилируется. Интернет перерыл - единственное решение, которое нашёл - отключить это...  Возможно ли, что из-за этого?
Facepalm. Вы понимаете английский на начальном уровне?

Brainey

ЦитироватьПросто с ними ядро не компилируется.
Умвр. Ковыряйте конфиг ядра.
Конференция форума в jabber: debianforum@conference.jabber.ru | Клуб кедоводов: kde@conference.jabber.ru

tetramin

#7
В конфиге ядра проблем никаких. Это, по всей видимости, в самих исходниках ядра. Потому, как при компиляции он пытается открыть папку
linux-3.0.4/Documentation/lguest
которой в сырцах нет. Да и lguest вообще-то нужен, на сколько мне известно, это гипервизор. Как он к модулям virtualbox относится? Английский знаю на начальном уровне, хоть свободно не разговариваю на нём, но тексты могу немного читать. Подсунул я ссылку на папку lguest из ядра 2.6.32. Нормально скомпилировался с включёнными
Lguest guest support и Linux hypervisor example codeНо это не повлияло на запуск virtualbox.

Сообщение объединено: 27 октября 2011, 14:11:10

В общем победил я эти модули  8)

Оказалось немного проще всё. Напишу решение, мало ли, кому пригодится.

В общем при компиляции модуля vboxdrv компилятор выдавал ошибку. Вот содержимое файла /var/lib/dkms/virtualbox-ose/3.2.10/build/make.log
make: Entering directory `/usr/src/linux-3.0.4'

  WARNING: Symbol version dump /usr/src/linux-3.0.4/Module.symvers
           is missing; modules will have no dependencies and modversions.

  LD      /var/lib/dkms/virtualbox-ose/3.2.10/build/built-in.o
  LD      /var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/built-in.o
  CC [M]  /var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.o
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c: In function 'VBoxDrvLinuxInit':
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:451: error: 'nmi_watchdog' undeclared (first use in this function)
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:451: error: (Each undeclared identifier is reported only once
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:451: error: for each function it appears in.)
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:451: error: 'NMI_IO_APIC' undeclared (first use in this function)
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:465: error: 'nmi_active' undeclared (first use in this function)
make[2]: *** [/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.o] Ошибка 1
make[1]: *** [/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv] Ошибка 2
make: *** [_module_/var/lib/dkms/virtualbox-ose/3.2.10/build] Ошибка 2
make: Leaving directory `/usr/src/linux-3.0.4'


Я выполнил:
m-a prepare virtualbox-ose
он, как обычно ругнулся на неописанный nmi_watchdog в функции VBoxDrvLinuxInit.
Затем в другом терминале (пока в первом открыт module-assistent) распаковал virtualbox-ose.tar.bz2 в новую папку.

В  файле modules/virtualbox-ose/vboxdrv/linux/SUPDrv-linux.c перед строкой
#ifdef CONFIG_X86_LOCAL_APIC
дописал
#undef CONFIG_X86_LOCAL_APIC
Таким образом отменил выполнение этой директивы.
Затем запаковал обратно в virtualbox-ose.tar.bz2, закинул его в /usr/src и в первом терминале нажал build. После удачной сборки он вежливо предложил "install now?", на что я согласился. И заработало!

Надеюсь эта информация будет полезной кому-нибудь.

Angel_ok

Устанавливаю virtualbox-ose в синаптике. Ошибка:
E: virtualbox-ose: подпроцесс установлен сценарий post-installation возвратил код ошибки 1
E: virtualbox-ose-qt: проблемы зависимостей -- оставляем не настроенным

В module-assistant при попытке получить исходный код (т.е. нажимаю на GET) курсор переходит на первую строку. Вобщем получить исходники не возможно.

Ядро 3.0.4 и 3.0.8.
Lguest отключен, т.к. с ним не компилируется ядро.
Вы думаете, всё так просто? Да, всё просто. Но совсем не так...
                                                                                                          Альберт Эйнштейн