модули ядра в отдельных пакетах

openSUSE, SUSE Linux Enterprise

Модератор: Модераторы разделов

AndroidAZ
Сообщения: 49

модули ядра в отдельных пакетах

Сообщение AndroidAZ »

В ядрах OpenSUSE 11.2 отключили поддержку p4-clockmod: # CONFIG_X86_P4_CLOCKMOD is not set. Пересобрал ядро. Всё работает, только как быть с модулями ядра, к-рые идут в отдельных пакетах (preload-kmp-default-1.1_2.6.31.12_0.1-6.9.12.i586 virtualbox-ose-kmp-default-3.0.6_2.6.31.8_0.1-9.11.2.i586). С дефолтным ядром они работают, а с пересобранным нет. Можно ли как-то подправить эти модули, чтобы они работали с новым ядром? Или каким-либо другим способом их задействовать.
Спасибо сказали:
Аватара пользователя
k0da
Бывший модератор
Сообщения: 6043
Статус: SuSE QA Engineer
ОС: Factory

Re: модули ядра в отдельных пакетах

Сообщение k0da »

AndroidAZ
Их нужно пересобрать относительно вашего "нового" ядра.
Скачайте src.rpm и пересоберите
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Спасибо сказали:
AndroidAZ
Сообщения: 49

Re: модули ядра в отдельных пакетах

Сообщение AndroidAZ »

k0da писал(а):
14.03.2010 02:33
AndroidAZ
Их нужно пересобрать относительно вашего "нового" ядра.
Скачайте src.rpm и пересоберите

Подробнее пожалуйста.

Код: Выделить всё

> sudo rpmbuild --rebuild virtualbox-ose-3.0.6-9.11.2.src.rpm
Устанавливается virtualbox-ose-3.0.6-9.11.2.src.rpm
ошибка: строка 109: Неизвестный тэг: %internal_kmp_error
> uname -r
2.6.31.12-0.1-p4

Попробовал иначе.
удалил строчку 109 из /usr/src/packages/SPECS/virtualbox-ose.spec
109 %suse_kernel_module_package -p %{SOURCE8} kdump um xen xenpae

Код: Выделить всё

# cd /usr/src/packages/SPECS
# rpmbuild -bb virtualbox-ose.spec
ошибка: Неудовлетворенные зависимости сборки:
        fdupes нужен для ...
75 новых пакетов для установки.
Полный размер загрузки: 66,7 MiB. После этой операции будет использовано дополнительно 176,6 MiB.
Продолжить? [y/n/?] (y):

Вернул строчку 109 на место

Код: Выделить всё

/var/tmp/rpm-tmp.DfjHSx: line 32: /usr/bin/patch: Нет такого файла или каталога
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.DfjHSx (%prep)
Ошибки сборки пакетов:
    Неверный код возврата из /var/tmp/rpm-tmp.DfjHSx (%prep)
Спасибо сказали:
AndroidAZ
Сообщения: 49

Re: модули ядра в отдельных пакетах

Сообщение AndroidAZ »

Наконец получилось

Код: Выделить всё

# cnf patch
# zypper install patch
# rpmbuild -bb virtualbox-ose.spec

Wrote: /usr/src/packages/RPMS/i586/virtualbox-ose-3.0.6-9.11.2.i586.rpm
Wrote: /usr/src/packages/RPMS/i586/virtualbox-ose-kmp-debug-3.0.6_2.6.31.12_0.1-9.11.2.i586.rpm
Wrote: /usr/src/packages/RPMS/i586/virtualbox-ose-kmp-default-3.0.6_2.6.31.12_0.1-9.11.2.i586.rpm
Wrote: /usr/src/packages/RPMS/i586/virtualbox-ose-kmp-desktop-3.0.6_2.6.31.12_0.1-9.11.2.i586.rpm
Wrote: /usr/src/packages/RPMS/i586/virtualbox-ose-kmp-pae-3.0.6_2.6.31.12_0.1-9.11.2.i586.rpm
Wrote: /usr/src/packages/RPMS/i586/xorg-x11-driver-virtualbox-ose-3.0.6-9.11.2.i586.rpm
Wrote: /usr/src/packages/RPMS/i586/virtualbox-ose-guest-tools-3.0.6-9.11.2.i586.rpm

Но всё не то, должно быть что-то вроде virtualbox-ose-kmp-p4-3.0.6_2.6.31.12_0.1-9.11.2.i586.rpm
Вопрос: "Как указать под какое ядро собрать пакет?" В системе установлены два ядра - 2.6.31.12-0.1-default и пересобранное 2.6.31.12-0.1-p4.
Спасибо сказали:
Аватара пользователя
k0da
Бывший модератор
Сообщения: 6043
Статус: SuSE QA Engineer
ОС: Factory

Re: модули ядра в отдельных пакетах

Сообщение k0da »

Собирается относительно /lib/modules/`uname -r`/BUILD
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Спасибо сказали:
AndroidAZ
Сообщения: 49

Re: модули ядра в отдельных пакетах

Сообщение AndroidAZ »

Если верно, что: "Собирается относительно /lib/modules/`uname -r`/BUILD", то почему не был собран пакет под xen (/lib/modules/2.6.31.12-0.1-xen/build -> /usr/src/linux-2.6.31.12-0.1-obj/i386/xen), а только debug, default, desktop, pae. Соответственно были установлены, для разрешения зависимостей, пакеты: kernel-desktop-devel, kernel-pae-devel, kernel-debug-devel, kernel-default-devel, kernel-xen-devel-2.6.31.12-0.1.1.i586. Ну и для "нового" ядра (/lib/modules/2.6.31.12-0.1-p4/build -> /usr/src/packages/BUILD/kernel-2.6.31.120.1p4)
Спасибо сказали:
Аватара пользователя
k0da
Бывший модератор
Сообщения: 6043
Статус: SuSE QA Engineer
ОС: Factory

Re: модули ядра в отдельных пакетах

Сообщение k0da »

AndroidAZ
достаточно linux-kernel-headers
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Спасибо сказали:
AndroidAZ
Сообщения: 49

Re: модули ядра в отдельных пакетах

Сообщение AndroidAZ »

Не знаю, что потянуло одну зависимость за другой; не хочу даже заморачиваться :crazy:. Цель - получить модули под "новое" ядро. Не так это просто...
/lib/modules/2.6.31.12-0.1-default/build - это просто символьная ссылка, к-рая указывает на /usr/src/linux-2.6.31.12-0.1-obj/i386/default
Какому пакету принадлежит /usr/src/linux-2.6.31.12-0.1-obj/i386/default, если не kernel-default-devel?

Код: Выделить всё

> rpm -qif /usr/src/linux-2.6.31.12-0.1-obj/i386/default
Name        : kernel-default-devel         Relocations: (not relocatable)
Version     : 2.6.31.12                         Vendor: openSUSE
Release     : 0.1.1                         Build Date: Чтв 28 Янв 2010 19:00:38

Сборку под kernel-xen похоже отключили (виртуальная машина в виртуальной машине - явно перебор).
Должно быть ещё что-то, чем /lib/modules/`uname -r`/BUILD для сборки пакета под "новое" ядро.
linux-kernel-headers-2.6.31-3.4.noarch тоже установлен.
Спасибо сказали: