Сборка ядра под Slackware

SLAX, Deep Style, ZenWalk

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

Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Сборка ядра под Slackware

Сообщение sunny1983 »

Вопрос, какое действие нужно совершить после make, чтобы упаковать скомпилированное ядро в t*z-пакет? У меня на выходе ведь должно получиться 3 пакета: с ядром, с модулями и с заголовками.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

http://www.slackware.ru/forum/viewtopic.php?f=28&t=782
В частности: http://www.slackware.ru/forum/viewtopic.ph...p;start=0#p5828

PS. Какого-то сакрального смысла в опакечивании ядра с модулями нет, польза может быть 1) практическая -- установка пакетов на несколько машин, 2) эстетическая -- ls /var/log/packages/kernel-*
Почему? Оно и так получается по полочкам разложено более-менее,
/usr/src/linux-x.y.z -- исходники
/lib/modules/x.y.z-localversion -- модули, ссылка на использованные по факту исходники сохраняется в /lib/modules/x.y.z-localversion/build
/boot/vmlinuz-generic-x.y.z-localversion -- ядро, тут уж с каким именем bzImage скопировать, с тем и будет
Из "потерь" -- автоматическая установка ссыслок /boot/{vmlinuz,System.map,config}, и, пожалуй, всё.

PPS. И тему неплохо было бы переименовать в "Сборка пакетов ядра/модулей для Slackware".
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение sunny1983 »

Что-то не впёр. В Debian есть пакеты вида linux-image-xxx, которые содержат и ядро /boot/vmlinux-xxx, и модули /lib/modules/xxx. В Slackware отдельно пакет с ядром kernel-generic и отдельно пакет с модулями kernel-modules.
А теперь я, допустим, хочу переконфигурировать ядро, например у меня есть параметр CONFIG_MAC80211=m, я хочу этот компонент сделать не модулем, а частью ядра. Вот я изменил конфиг с помощью make nconfig, как теперь сформировать новые kernel-generic и kernel-modules? По ссылке, которую вы дали, что-то написано про ядерные слакбилды. Где их взять?
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Сборка ядра под Slackware

Сообщение yars »

Слакбилды в каталоге source/k/packaging-{x86,x86_64} дерева файлов Slackware.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

sunny1983 писал(а):
02.08.2014 05:34
Вот я изменил конфиг с помощью make nconfig, как теперь сформировать новые kernel-generic и kernel-modules?
1) собрать новое ядро, собрать и установить модули; 2) опакетить.
Есть один тонкий момент. Сценарии из /sourece/k/packaging-* собирают пакет из модулей, установленных в /lib/modules/x.y.z-localversion.
Если изменить только CONFIG_MAC80211=m и выполнить make bzImage modules modules_install, модули будут устанавливаться в тот же самый /lib/modules/x.y.z.-localversion, модуль mac80211.ko, оставшийся от прошлой установки, останется лежать на месте (его же никто не удалял специально), и, соответственно, упакуется в пакет модулей вместе с остальным содержимым /lib/modules/x.y.z-localversion. Полагаю, это не совсем то, что было нужно.
Если изменить localversion, новый набор модулей будет установлен в отдельную ветку. Тогда нужно не забыть соответствующим образом поправить сценарии из /source/k/packaging-*.
Можно, конечно, не менять localversion, а выполнить removepkg kernel-modules перед make modules_install и последующей упаковкой, но рисковать подобным образом на рабочей системе КРАЙНЕ НЕ РЕКОМЕНДУЮ.

Делая свое ядро с набором модулей, нет ни одного значимого повода, препятствующего изменению localversion на собственное значение, да хоть на sunny1983.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение sunny1983 »

Да, я невнимательно прочитал, что ядерные слакбилды собирают пакеты из уже установленных ядер/модулей. А меня интерисует, можно ли опакетить скомпилированное ядро, не устанавливая его.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Сборка ядра под Slackware

Сообщение yars »

Можно установить ядро в chroot-окружении, например. И опакетить его, не затрагивая основную систему. Установите в какой-нибудь каталог серии a, ap, d, l, chroot-нитесь туда, и собирайте что угодно.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

Все, что можно сложить в поддерево каталога, можно опакетить вызовом:
# cd /path/to/pkg-subtree; makepkg /tmp/package-name-version-arch-buildtag.txz

Не помню, поддерживает ли make modules_install параметр DESTDIR или аналогичный. Если да, проблем никаких. Если нет, нужно в любом случае как-то получить каталог с желаемым содержимым пакета, но к сборке собственно пакта это не имеет отношения ;-)

ps. См. INSTALL_MOD_PATH=
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение sunny1983 »

Запала мне что-то мысль о сборке пакета ядра в chroot-окружении. И вот что я сделал.
Сделать sandbox в котором можно не только собирать ядро, но и другие опасные действия совершать без вреда для основной системы я посчитал хорошей идеей. sandbox решил разместить в каталоге /sandbox. Не нашёл как установить несколько групп программ в другой какталог, поэтому решил их просто выкачать и установить с помощью installpkg

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

$ mkdir slackware
$ cd slackware
$ lftp -c "open http://mirror.yandex.ru/slackware/slackware-14.1/slackware/; mirror -c -e a"
$ lftp -c "open http://mirror.yandex.ru/slackware/slackware-14.1/slackware/; mirror -c -e ap"
$ lftp -c "open http://mirror.yandex.ru/slackware/slackware-14.1/slackware/; mirror -c -e d"
$ lftp -c "open http://mirror.yandex.ru/slackware/slackware-14.1/slackware/; mirror -c -e k"
$ lftp -c "open http://mirror.yandex.ru/slackware/slackware-14.1/slackware/; mirror -c -e l"
$ sudo installpkg --root /sandbox --infobox */*.t?z

Sandbox готов. Копирую в него конфиг текущего ядра которое я собрался тюнинговать, затем слакбилды и чрутюсь:

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

$ sudo cp /boot/config-generic-3.10.17 /sandbox/usr/src/linux-3.10.17/.config
$ wget  http://mirror.yandex.ru/slackware/slackware-14.1/source/k/packaging-x86/kernel-generic/kernel-generic.SlackBuild
$ sudo cp kernel-generic.SlackBuild  /sandbox/usr/src/linux-3.10.17
$ wget  http://mirror.yandex.ru/slackware/slackware-14.1/source/k/packaging-x86/kernel-generic/slack-desc
$ sudo cp slack-desc /sandbox/usr/src/linux-3.10.17/slack-desc.generic
$ wget  http://mirror.yandex.ru/slackware/slackware-14.1/source/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild
$ sudo cp kernel-modules.SlackBuild  /sandbox/usr/src/linux-3.10.17
$ wget  http://mirror.yandex.ru/slackware/slackware-14.1/source/k/packaging-x86/kernel-modules/slack-desc
$ sudo cp slack-desc.1 /sandbox/usr/src/linux-3.10.17/slack-desc.modules
$ wget  http://mirror.yandex.ru/slackware/slackware-14.1/source/k/packaging-x86/kernel-modules/rc.modules.new
$ sudo cp rc.modules.new /sandbox/usr/src/linux-3.10.17/slack-desc.modules
$ chroot /sandbox /bin/bash --login

Ну, тут можно хоть на голове ходить. Запускаю конфигуратор:

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

# cd /usr/src/linux-3.10.17
# make nconfig

Занимаюсь шаманизмом с параметрами. При этом в "General setup" параметру "Local version - append to kernel release" присваиваю значение "-mykernel". Затем запускаю долгий процесс компиляции:

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

 # make all

После компиляции устанавливаю:

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

 # make install modules_install

Затем опакечивание. Предварительно заменяю в слакбилдах строчку VERSION с "3.10.17" на "3.10.17-mykernel" иначе скрипт не найдёт файлы. Правда kernel-generic.Slackbuild забывает самый важный файл - само ядро, приходится потом копировать его вручную.
После нужно не забыть сменить номер версии в /etc/mkinitrd, сформировать новый initrd и настроить загрузчик.
А вот опакетить ядро с помощью makepkg мне пока не удалось.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Сборка ядра под Slackware

Сообщение Bizdelnick »

sunny1983 писал(а):
24.11.2014 23:35
не только собирать ядро, но и другие опасные действия совершать

А что опасного в сборке ядра?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

sunny1983 писал(а):
24.11.2014 23:35
Предварительно заменяю в слакбилдах строчку VERSION с "3.10.17" на "3.10.17-mykernel"

Можно просто позвать как:

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

VERSION=3.10.17-mykernel ./*Build


Правда оба этих случая неправильны. Почему? Поясню. Наличие собранного ядра проверяется так:

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

# First try to find the loot in the current dir, then look
# in /usr/src/linux-$VERSION:
if [ -r $CWD/bzImage ]; then
  KERNEL=$CWD/bzImage
elif [ -r $CWD/vmlinuz ]; then
  KERNEL=$CWD/vmlinuz
elif [ -r $CWD/vmlinuz* ]; then
  KERNEL=$CWD/vmlinuz*
else
  KERNEL=/usr/src/linux-$VERSION/arch/i386/boot/bzImage
fi
Из-за лишнего в $VERSION сценарий и не находит файл ядра. Правильнее поступить так -- взять слакбилды для smp из packaging-x86, добавить строчку, скажем, "LV={$LV:-smp}" до первого упоминания "smp" и заменить все упоминания "smp" на ${LV}:

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

...
LV={$LV:-smp}
KERNNAME=huge-$LV
...
Building kernel-$KERNNAME-${VERSION}_${LV}-$ARCH-$BUILD.txz
...
cp $KERNEL $PKG/boot/vmlinuz-$KERNNAME-${VERSION}-${LV}
( cd $PKG/boot ; ln -sf vmlinuz-$KERNNAME-${VERSION}-${LV} vmlinuz )
cp $SYSMAP $PKG/boot/System.map-$KERNNAME-${VERSION}-${LV}
( cd $PKG/boot ; ln -sf System.map-$KERNNAME-${VERSION}-${LV} System.map )
cp $CONFIG $PKG/boot/config-$KERNNAME-${VERSION}-${LV}
( cd $PKG/boot ; ln -sf config-$KERNNAME-${VERSION}-${LV} config )
...
makepkg -l y -c n $TMP/kernel-$KERNNAME-$(echo ${VERSION} | tr - _)_${LV}-$ARCH-$BUILD.txz
...
Аналогичные изменения проделать для generic-smp и modules-smp. Теперь для сборки откомпилированного в пакет можно пользоваться ими так:

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

VERSION=3.17.3 LV=my1 ./*Build
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

Кстати, приведенный выше фрагмент слакбилда ядра своей строкой "KERNEL=/usr/src/linux-$VERSION/arch/i386/boot/bzImage" отлично отвечает на ранее поставленный вопрос:
sunny1983 писал(а):
02.08.2014 12:07
можно ли опакетить скомпилированное ядро, не устанавливая его.

В KERNEL=/usr/src/linux-$VERSION/arch/i386/boot/bzImage как раз лежит собранное по команде "make bzImage" и не установленное ядро.

Модули берутся из /lib/modules/$VERSION-$LV
Поэтому штатная последовательность сборки и опакечивания дистрибутивных ядер схематично выглядит так:
# huge
cd /usr/src/linux-$VERSION
cat config-huge > .config
make bzImage
cd /path/to/packaging/slackbuild
./kernel-huge*.SlackBuild
# generic
cd /usr/src/linux-$VERSION
make mrproper
cat config-generic > .config
make bzImage
make modules modules_install
cd /path/to/packaging/slackbuild
./kernel-generic*.SlackBuild
cd /path/to/packaging/slackbuild
./kernel-modules*.SlackBuild
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение sunny1983 »

bormant писал(а):
25.11.2014 12:48
В KERNEL=/usr/src/linux-$VERSION/arch/i386/boot/bzImage как раз лежит собранное по команде "make bzImage" и не установленное ядро.

Вернее в arch/x86/boot/bzImage Это я уж сам догадался
А вот откуда можно взять модули если они не установлены я пака не разобрал.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

sunny1983 писал(а):
25.11.2014 16:04
вот откуда можно взять модули если они не установлены
Проще и надежнее установить. Если в /lib/modules/$VERSION-$LV по каким-то причинам не хотите (не могу представить, почему), то, как говорил выше, INSTALL_MOD_PATH= в помощь. Слакбилд для kernel-modules править соответственно.

sunny1983 писал(а):
25.11.2014 16:04
Вернее в arch/x86/boot/bzImage

При этом, если речь не о /usr/src/linux-$VERSION/arch/i386/boot/bzImage, то слакбилд его не найдет, нужно будет также поправить его (слакбилд) сообразно своим представлениям об.

Или идти проторенной дорожкой -- исходники ядра распаковать в /usr/src и вперёд по не раз проверенному пути.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение sunny1983 »

Ещё вопрос возник. Как установить headers и mandocs?
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

Сперва про "зачем".
Если речь про kernel-headers, то прежде всего нужно понимать, что сборка и установка нового ядра не требует установки kernel-headers. Этот шаг нужен только если будете пересобирать glibc (uClibc и т.п.) с новыми заголовками. В противном случае, kernel-headers должны быть теми, с которыми была собрана glibc.

Теперь про "как".
https://www.kernel.org/doc/Documentation/kb...ers_install.txt
Соответственно, для опакечивания подойдет что-то вроде:

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

# rm -r /tmp/pkg; mkdir /tmp/pkg
# make headers_install ARCH=x86_64 INSTALL_HDR_PATH=/tmp/pkg/usr/include
# cd /tmp/pkg; makepkg /tmp/kernel-headers-3.10.17-x86_64-1.txz
# cd; rm -r /tmp/pkg


По второму вопросу: что имеется в виду под mandocs в этом конкретном случае?
Если документация ядра, то https://kernel.org/doc/makehelp.txt содержит упоминание двух целей: mandocs и installmandocs. В Slackware страницы руководств традиционно в /usr/man, но также есть туда и симлинк /usr/share/man.
Поэтому, если умолчальный каталог ядра /usr/local/man не устраивает, можно предварительно выполнить:

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

sed -i -e 's:/usr/local/man:/usr/man' Documentation/DocBook/Makefile
либо с временным каталогом для опакечивания.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение sunny1983 »

bormant писал(а):
02.12.2014 08:13
Если речь про kernel-headers, то прежде всего нужно понимать, что сборка и установка нового ядра не требует установки kernel-headers.

Похоже что требует. Вот я удалил kernel-headers из системы и теперь компиляция оканчивается ошибкой:

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

  HOSTCC  scripts/basic/fixdep
In file included from /usr/include/bits/posix1_lim.h:160:0,
                 from /usr/include/limits.h:144,
                 from /usr/lib/gcc/i486-slackware-linux/4.8.2/include-fixed/limits.h:168,
                 from /usr/lib/gcc/i486-slackware-linux/4.8.2/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/i486-slackware-linux/4.8.2/include-fixed/limits.h:34,
                 from scripts/basic/fixdep.c:114:
/usr/include/bits/local_lim.h:38:26: fatal error: linux/limits.h: No such file or directory
 #include <linux/limits.h>
                          ^
compilation terminated.

Кстати пакетов kernel-headers в репозитории два: kernel-headers и kernel-headers-smp.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Сборка ядра под Slackware

Сообщение Bizdelnick »

Как-то криво собираете, значит.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

sunny1983
вы неправильно поняли написанное мной выше, возможно, моя вина, объяснил недостаточно понятно.

Речь не про удаление kernel-headers, а про то, что этот пакет в вашей системе должен быть тем, с которым собрана glibc. Эти заголовки используются для сборки софта в системе.

Оттого, что вы поставили новое ядро, glibc и зависящий от нее весь софт сам не пересоберется. Заголовки нового ядра будут вам нужны не раньше, чем задумаете пересобрать glibc. Сборка модулей ядра использует заголовки из исходников ядра, на них указывает ссылка /lib/modules/версия/build, то есть и с этой точки зрения все в порядке, сборка модулей основана на одних заголовках, прочего софта -- на других, и это абсолютно нормально.

А по поводу не-smp заголовков -- не забудьте для 32-битного не-smp ядра про содержимое /extra/-nosmp-sdk, в том числе про тамошнюю документацию.


PS. И обратите внимание, что именно не собралось -- fixdep -- по сути самый обычный софт, хоть и использующийся при сборке ядра. fixdep -- это самый обычный исходник на Си, и для его сборки, как и для сборки любой обычной программы на Си, нужны заголовки в /usr/include, использовавшиеся для сборки glibc.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение sunny1983 »

Я правда не понял из вашего ответа в чём смысл существования в репозитории двух разных пакетов kernel-headers: для не-smp-ядра и для smp-ядра.

Попытаюсь вспомнить, что я знаю о программировании. glibc - системный API в GNU/Linux без которого вообще ничего не происходит. Чтобы использовать функции библиотек системного API при компиляции необходимы заголовки библиотек, без них программа не будет знать адреса точек входа в функции. Заголовки вроде как бы да, в /usr/include должны лежать, правда процессы бывают двух видов: уровня пользователя и уровня ядра, получается что kernel-headers - компоненты API предназначенного чтобы писать модули ядра. Если при каждой компиляции ядра создаётся свой уникальный System.map - значит и адреса точек входа уникальны для каждой компиляции и, получается, пакет kernel-headers должен быть уникальным.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Сборка ядра под Slackware

Сообщение yars »

Все проще: header (file.h) - это простой текстовый файл, содержащий объявления фукнций языка C/C++ (для последнего принято использовать трехбуквенный суффикс *.hpp), директивы условной компиляции и т.д., их уникальность распространяется лишь на аппаратные отличия, и headers-smp как раз и учитывают эти отличия. А в пределах одной архитектуры заголовки будут одинаковы.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

Что-то глюкнуло и ответ отправился пустым. Чуть позже восстановлю по памяти, извините.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Сборка ядра под Slackware

Сообщение yars »

bormant писал(а):
04.12.2014 09:03
Что-то глюкнуло и ответ отправился пустым. Чуть позже восстановлю по памяти, извините.

У меня в таких случаях работает кнопка "назад" в браузере. Если страница с формой ввода в кэше сохранилась, делаю копию текста, жму "вперед", редактирую сообщение. А иногда, наоборот, сообщения отправляются дважды-трижды.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

sunny1983 писал(а):
03.12.2014 23:04
в чём смысл существования в репозитории двух разных пакетов kernel-headers: для не-smp-ядра и для smp-ядра
Впервые каталог /extra/linux-*-nosmp-sdk появился в Slackware-12.0. Мотивация описана в тамошнем README.
На сегодняшний день (Slackware-14.1) содержимое d/kernel-headers-*_smp-x86-*t?z и /extra/linux-*-nosmp-sdk/kernel-headers-*-x86-*t?z действительно одинаково. Весь набор отличий сохранён в /extra/linux-*-nosmp-sdk/linux-*-smp-to-nosmp.diff.gz и не затрагивает /usr/include.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение sunny1983 »

bormant писал(а):
04.12.2014 11:42
linux-*-smp-to-nosmp.diff.gz

Спасибо за подсказку. Пересобрал nvidia-kernel после применения этого патча и он стал загружаться без ошибок.

Ещё бы вот эту ошибку искоренить на Pintium III:

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

[    0.000000] ACPI: BIOS age (2000) fails cutoff (2001), acpi=force is required to enable ACPI
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Сборка ядра под Slackware

Сообщение bormant »

sunny1983
так это и не ошибка-то.
Ядрышко пишет: биос ваш древнючий, раньше 2001 года выпуска, но ежели уверены, что в нем ACPI реализовано по стандарту, можете рискнуть и сообщить об том явным параметром acpi=force, тогда ядрышко попытается с ейным ACPI пообщаться/поработать, но ежели что-то не так пойдет, то вас предупреждали...

PS. Пинтиум, галлониум... Осталось токмо кружкиум, вёдриум, бочкиум :-)
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение sunny1983 »

bormant
Чтобы полноценно дать вторую жизнь третьему пню ядро даунгрейдить до 2.6 - 2.4 не надо? Или так сойдет?
Кроме этого сообщения компьютер также не выключается по команде poweroff, просто сообщение "system halt"
"Окунись в прошлое", - называется.
Я тут пробовал пересобрать ядро, поставив звёздочки везде где упоминается ACPI, правда, когда я это делал, я ещё не знал что для сборки не-smp-ядра исходники надо патчить. И с пересобранным ядром компьютер по команде poweroff стал выключаться нормально, то есть ACPI в нем всё-таки есть. От сообщения при загрузке ядра я правда этим не избавился.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Сборка ядра под Slackware

Сообщение Bizdelnick »

sunny1983 писал(а):
06.12.2014 12:21
Кроме этого сообщения компьютер также не выключается по команде poweroff, просто сообщение "system halt"

Так это напрямую взаимосвязано. википедия://ACPI
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7274
Статус: Пенсионер в законе
ОС: Cintu
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение alv »

bormant писал(а):
06.12.2014 03:13
Пинтиум, галлониум... Осталось токмо кружкиум, вёдриум, бочкиум :-)

Гран-стаканиум наше фсио!
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)
Контактная информация:

Re: Сборка ядра под Slackware

Сообщение sunny1983 »

А у меня всё получилось. После того как я в википедии прочитал про ACPI и APM, я решил переконфигурировать ядро. Включил в нём поддержку APM, отключил ACPI, заодно отключил поддержку wimax, wireless, bluetooth и ipv6 на древней машине совершенно ненужных. Перед конфигурированием наложил патч nosmp. С четвертой попытки всё вышло: собрал и опакетил. Сейчас предупреждения не появляются, компьютер нормально отключается по "poweroff".
Теперь решить бы вопрос с драйверами от nvidia. Видеокарта GeForce 2 MX 400. Собрал nvidia-legacy96-kernel.Slackbuild и nvidia-legacy96-driver.Slackbuild. С модулем ядра проблем не возникло, а вот модуль для Xorg говорит, что хотел бы работать с более старой версией Xorg.
Спасибо сказали:
Ответить