Сборка ядра под Slackware
Модератор: Модераторы разделов
Сборка ядра под Slackware
Вопрос, какое действие нужно совершить после make, чтобы упаковать скомпилированное ядро в t*z-пакет? У меня на выходе ведь должно получиться 3 пакета: с ядром, с модулями и с заголовками.
Re: Сборка ядра под Slackware
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".
В частности: 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".
Re: Сборка ядра под Slackware
Что-то не впёр. В Debian есть пакеты вида linux-image-xxx, которые содержат и ядро /boot/vmlinux-xxx, и модули /lib/modules/xxx. В Slackware отдельно пакет с ядром kernel-generic и отдельно пакет с модулями kernel-modules.
А теперь я, допустим, хочу переконфигурировать ядро, например у меня есть параметр CONFIG_MAC80211=m, я хочу этот компонент сделать не модулем, а частью ядра. Вот я изменил конфиг с помощью make nconfig, как теперь сформировать новые kernel-generic и kernel-modules? По ссылке, которую вы дали, что-то написано про ядерные слакбилды. Где их взять?
А теперь я, допустим, хочу переконфигурировать ядро, например у меня есть параметр CONFIG_MAC80211=m, я хочу этот компонент сделать не модулем, а частью ядра. Вот я изменил конфиг с помощью make nconfig, как теперь сформировать новые kernel-generic и kernel-modules? По ссылке, которую вы дали, что-то написано про ядерные слакбилды. Где их взять?
Re: Сборка ядра под Slackware
Слакбилды в каталоге source/k/packaging-{x86,x86_64} дерева файлов Slackware.
Re: Сборка ядра под Slackware
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.
Re: Сборка ядра под Slackware
Да, я невнимательно прочитал, что ядерные слакбилды собирают пакеты из уже установленных ядер/модулей. А меня интерисует, можно ли опакетить скомпилированное ядро, не устанавливая его.
Re: Сборка ядра под Slackware
Можно установить ядро в chroot-окружении, например. И опакетить его, не затрагивая основную систему. Установите в какой-нибудь каталог серии a, ap, d, l, chroot-нитесь туда, и собирайте что угодно.
Re: Сборка ядра под Slackware
Все, что можно сложить в поддерево каталога, можно опакетить вызовом:
# cd /path/to/pkg-subtree; makepkg /tmp/package-name-version-arch-buildtag.txz
Не помню, поддерживает ли make modules_install параметр DESTDIR или аналогичный. Если да, проблем никаких. Если нет, нужно в любом случае как-то получить каталог с желаемым содержимым пакета, но к сборке собственно пакта это не имеет отношения ;-)
ps. См. INSTALL_MOD_PATH=
# cd /path/to/pkg-subtree; makepkg /tmp/package-name-version-arch-buildtag.txz
Не помню, поддерживает ли make modules_install параметр DESTDIR или аналогичный. Если да, проблем никаких. Если нет, нужно в любом случае как-то получить каталог с желаемым содержимым пакета, но к сборке собственно пакта это не имеет отношения ;-)
ps. См. INSTALL_MOD_PATH=
Re: Сборка ядра под Slackware
Запала мне что-то мысль о сборке пакета ядра в chroot-окружении. И вот что я сделал.
Сделать sandbox в котором можно не только собирать ядро, но и другие опасные действия совершать без вреда для основной системы я посчитал хорошей идеей. sandbox решил разместить в каталоге /sandbox. Не нашёл как установить несколько групп программ в другой какталог, поэтому решил их просто выкачать и установить с помощью installpkg
Sandbox готов. Копирую в него конфиг текущего ядра которое я собрался тюнинговать, затем слакбилды и чрутюсь:
Ну, тут можно хоть на голове ходить. Запускаю конфигуратор:
Занимаюсь шаманизмом с параметрами. При этом в "General setup" параметру "Local version - append to kernel release" присваиваю значение "-mykernel". Затем запускаю долгий процесс компиляции:
После компиляции устанавливаю:
Затем опакечивание. Предварительно заменяю в слакбилдах строчку VERSION с "3.10.17" на "3.10.17-mykernel" иначе скрипт не найдёт файлы. Правда kernel-generic.Slackbuild забывает самый важный файл - само ядро, приходится потом копировать его вручную.
После нужно не забыть сменить номер версии в /etc/mkinitrd, сформировать новый initrd и настроить загрузчик.
А вот опакетить ядро с помощью makepkg мне пока не удалось.
Сделать 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
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Сборка ядра под Slackware
А что опасного в сборке ядра?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Сборка ядра под Slackware
Можно просто позвать как:
Код: Выделить всё
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
Код: Выделить всё
...
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
...
Код: Выделить всё
VERSION=3.17.3 LV=my1 ./*Build
Re: Сборка ядра под Slackware
Кстати, приведенный выше фрагмент слакбилда ядра своей строкой "KERNEL=/usr/src/linux-$VERSION/arch/i386/boot/bzImage" отлично отвечает на ранее поставленный вопрос:
В 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
В 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
Re: Сборка ядра под Slackware
Проще и надежнее установить. Если в /lib/modules/$VERSION-$LV по каким-то причинам не хотите (не могу представить, почему), то, как говорил выше, INSTALL_MOD_PATH= в помощь. Слакбилд для kernel-modules править соответственно.
При этом, если речь не о /usr/src/linux-$VERSION/arch/i386/boot/bzImage, то слакбилд его не найдет, нужно будет также поправить его (слакбилд) сообразно своим представлениям об.
Или идти проторенной дорожкой -- исходники ядра распаковать в /usr/src и вперёд по не раз проверенному пути.
Re: Сборка ядра под Slackware
Ещё вопрос возник. Как установить headers и mandocs?
Re: Сборка ядра под Slackware
Сперва про "зачем".
Если речь про kernel-headers, то прежде всего нужно понимать, что сборка и установка нового ядра не требует установки kernel-headers. Этот шаг нужен только если будете пересобирать glibc (uClibc и т.п.) с новыми заголовками. В противном случае, kernel-headers должны быть теми, с которыми была собрана glibc.
Теперь про "как".
https://www.kernel.org/doc/Documentation/kb...ers_install.txt
Соответственно, для опакечивания подойдет что-то вроде:
По второму вопросу: что имеется в виду под mandocs в этом конкретном случае?
Если документация ядра, то https://kernel.org/doc/makehelp.txt содержит упоминание двух целей: mandocs и installmandocs. В Slackware страницы руководств традиционно в /usr/man, но также есть туда и симлинк /usr/share/man.
Поэтому, если умолчальный каталог ядра /usr/local/man не устраивает, можно предварительно выполнить:либо с временным каталогом для опакечивания.
Если речь про 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
Re: Сборка ядра под Slackware
Похоже что требует. Вот я удалил 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
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Сборка ядра под Slackware
Как-то криво собираете, значит.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Сборка ядра под Slackware
sunny1983
вы неправильно поняли написанное мной выше, возможно, моя вина, объяснил недостаточно понятно.
Речь не про удаление kernel-headers, а про то, что этот пакет в вашей системе должен быть тем, с которым собрана glibc. Эти заголовки используются для сборки софта в системе.
Оттого, что вы поставили новое ядро, glibc и зависящий от нее весь софт сам не пересоберется. Заголовки нового ядра будут вам нужны не раньше, чем задумаете пересобрать glibc. Сборка модулей ядра использует заголовки из исходников ядра, на них указывает ссылка /lib/modules/версия/build, то есть и с этой точки зрения все в порядке, сборка модулей основана на одних заголовках, прочего софта -- на других, и это абсолютно нормально.
А по поводу не-smp заголовков -- не забудьте для 32-битного не-smp ядра про содержимое /extra/-nosmp-sdk, в том числе про тамошнюю документацию.
PS. И обратите внимание, что именно не собралось -- fixdep -- по сути самый обычный софт, хоть и использующийся при сборке ядра. fixdep -- это самый обычный исходник на Си, и для его сборки, как и для сборки любой обычной программы на Си, нужны заголовки в /usr/include, использовавшиеся для сборки glibc.
вы неправильно поняли написанное мной выше, возможно, моя вина, объяснил недостаточно понятно.
Речь не про удаление kernel-headers, а про то, что этот пакет в вашей системе должен быть тем, с которым собрана glibc. Эти заголовки используются для сборки софта в системе.
Оттого, что вы поставили новое ядро, glibc и зависящий от нее весь софт сам не пересоберется. Заголовки нового ядра будут вам нужны не раньше, чем задумаете пересобрать glibc. Сборка модулей ядра использует заголовки из исходников ядра, на них указывает ссылка /lib/modules/версия/build, то есть и с этой точки зрения все в порядке, сборка модулей основана на одних заголовках, прочего софта -- на других, и это абсолютно нормально.
А по поводу не-smp заголовков -- не забудьте для 32-битного не-smp ядра про содержимое /extra/-nosmp-sdk, в том числе про тамошнюю документацию.
PS. И обратите внимание, что именно не собралось -- fixdep -- по сути самый обычный софт, хоть и использующийся при сборке ядра. fixdep -- это самый обычный исходник на Си, и для его сборки, как и для сборки любой обычной программы на Си, нужны заголовки в /usr/include, использовавшиеся для сборки glibc.
Re: Сборка ядра под Slackware
Я правда не понял из вашего ответа в чём смысл существования в репозитории двух разных пакетов kernel-headers: для не-smp-ядра и для smp-ядра.
Попытаюсь вспомнить, что я знаю о программировании. glibc - системный API в GNU/Linux без которого вообще ничего не происходит. Чтобы использовать функции библиотек системного API при компиляции необходимы заголовки библиотек, без них программа не будет знать адреса точек входа в функции. Заголовки вроде как бы да, в /usr/include должны лежать, правда процессы бывают двух видов: уровня пользователя и уровня ядра, получается что kernel-headers - компоненты API предназначенного чтобы писать модули ядра. Если при каждой компиляции ядра создаётся свой уникальный System.map - значит и адреса точек входа уникальны для каждой компиляции и, получается, пакет kernel-headers должен быть уникальным.
Попытаюсь вспомнить, что я знаю о программировании. glibc - системный API в GNU/Linux без которого вообще ничего не происходит. Чтобы использовать функции библиотек системного API при компиляции необходимы заголовки библиотек, без них программа не будет знать адреса точек входа в функции. Заголовки вроде как бы да, в /usr/include должны лежать, правда процессы бывают двух видов: уровня пользователя и уровня ядра, получается что kernel-headers - компоненты API предназначенного чтобы писать модули ядра. Если при каждой компиляции ядра создаётся свой уникальный System.map - значит и адреса точек входа уникальны для каждой компиляции и, получается, пакет kernel-headers должен быть уникальным.
Re: Сборка ядра под Slackware
Все проще: header (file.h) - это простой текстовый файл, содержащий объявления фукнций языка C/C++ (для последнего принято использовать трехбуквенный суффикс *.hpp), директивы условной компиляции и т.д., их уникальность распространяется лишь на аппаратные отличия, и headers-smp как раз и учитывают эти отличия. А в пределах одной архитектуры заголовки будут одинаковы.
Re: Сборка ядра под Slackware
Что-то глюкнуло и ответ отправился пустым. Чуть позже восстановлю по памяти, извините.
Re: Сборка ядра под Slackware
У меня в таких случаях работает кнопка "назад" в браузере. Если страница с формой ввода в кэше сохранилась, делаю копию текста, жму "вперед", редактирую сообщение. А иногда, наоборот, сообщения отправляются дважды-трижды.
Re: Сборка ядра под Slackware
Впервые каталог /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.
Re: Сборка ядра под Slackware
Спасибо за подсказку. Пересобрал nvidia-kernel после применения этого патча и он стал загружаться без ошибок.
Ещё бы вот эту ошибку искоренить на Pintium III:
Код: Выделить всё
[ 0.000000] ACPI: BIOS age (2000) fails cutoff (2001), acpi=force is required to enable ACPI
Re: Сборка ядра под Slackware
sunny1983
так это и не ошибка-то.
Ядрышко пишет: биос ваш древнючий, раньше 2001 года выпуска, но ежели уверены, что в нем ACPI реализовано по стандарту, можете рискнуть и сообщить об том явным параметром acpi=force, тогда ядрышко попытается с ейным ACPI пообщаться/поработать, но ежели что-то не так пойдет, то вас предупреждали...
PS. Пинтиум, галлониум... Осталось токмо кружкиум, вёдриум, бочкиум :-)
так это и не ошибка-то.
Ядрышко пишет: биос ваш древнючий, раньше 2001 года выпуска, но ежели уверены, что в нем ACPI реализовано по стандарту, можете рискнуть и сообщить об том явным параметром acpi=force, тогда ядрышко попытается с ейным ACPI пообщаться/поработать, но ежели что-то не так пойдет, то вас предупреждали...
PS. Пинтиум, галлониум... Осталось токмо кружкиум, вёдриум, бочкиум :-)
Re: Сборка ядра под Slackware
bormant
Чтобы полноценно дать вторую жизнь третьему пню ядро даунгрейдить до 2.6 - 2.4 не надо? Или так сойдет?
Кроме этого сообщения компьютер также не выключается по команде poweroff, просто сообщение "system halt"
"Окунись в прошлое", - называется.
Я тут пробовал пересобрать ядро, поставив звёздочки везде где упоминается ACPI, правда, когда я это делал, я ещё не знал что для сборки не-smp-ядра исходники надо патчить. И с пересобранным ядром компьютер по команде poweroff стал выключаться нормально, то есть ACPI в нем всё-таки есть. От сообщения при загрузке ядра я правда этим не избавился.
Чтобы полноценно дать вторую жизнь третьему пню ядро даунгрейдить до 2.6 - 2.4 не надо? Или так сойдет?
Кроме этого сообщения компьютер также не выключается по команде poweroff, просто сообщение "system halt"
"Окунись в прошлое", - называется.
Я тут пробовал пересобрать ядро, поставив звёздочки везде где упоминается ACPI, правда, когда я это делал, я ещё не знал что для сборки не-smp-ядра исходники надо патчить. И с пересобранным ядром компьютер по команде poweroff стал выключаться нормально, то есть ACPI в нем всё-таки есть. От сообщения при загрузке ядра я правда этим не избавился.
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Сборка ядра под Slackware
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Сборка ядра под Slackware
Гран-стаканиум наше фсио!
Re: Сборка ядра под Slackware
А у меня всё получилось. После того как я в википедии прочитал про 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.
Теперь решить бы вопрос с драйверами от nvidia. Видеокарта GeForce 2 MX 400. Собрал nvidia-legacy96-kernel.Slackbuild и nvidia-legacy96-driver.Slackbuild. С модулем ядра проблем не возникло, а вот модуль для Xorg говорит, что хотел бы работать с более старой версией Xorg.