LinuxForum.Fans
Тема

Slackware kernel upgrade

Автор: Karen 39 сообщений 13291 просмотров
#107238

Привет друзья wink

Где можно найти подробное описание процесса обновления ядра в Слаке? (желательно на русском языке)

Я погуглил, но там все очень поверхностно...

Заранее благодарю за помощь.

#107287

Karen, дык... а что по гентушной доке не получается? А зачем вам это? Патрег классно собирает ядра, лучше не лезьте. (открою тайну, Патрег ядра собирает как Линус, ванильные. Т.е. без новых багофич).

Я помнится собирал. На 10.2. Устал кровь из глаз выжимать... Впрочем, почитайте: http://linuxforum.ru/viewtopic.php?pid=114524#p114524

#107293

Это на случай если вдруг в моей версии ядра обнаружится критическая уязвимость, ведь в такой ситуации надо срочно обновлятся? Не так ли? И если не сложно, в двух словах можешь объяснить когда надо менять ядро на более новую версию а когда нет?
У меня web + mail сервер на слаке.

#107312
Karen написал:
И если не сложно, в двух словах можешь объяснить когда надо менять ядро на более новую версию а когда нет?
У меня web + mail сервер на слаке.

подпишитесь на почтовую рассылку: http://slackware.com/lists/
как только появится новое ядро/патчи - вам придёт письмо.
ядро ставится как обычная программа, пакетом. только надо перезагрузится.

#107315

Karen, кстати, чуть не забыл: зайдите на http://slackware.com/getslack/ и скачайте все патчи для своей версии (можно конечно не все, а только те, которые для установленных пакетов. Список в /var/log/package. но лучше все).
и затем зайдите в каталог со скаченными пакетами и там
[console]# upgradepkg *.t?z[/console]
это текущие обновления. Совет: качать лучше не из России. Например мне быстрее всего было из Норвегии.

#107320

На всякий случай упомяну, что патчи уязвимостей выпускаются по мере обнаружения таковых, наполняя каталог /patches соответствующего каталога дистрибутива, собранные пакеты в /patches/packages, исходники -- в /patches/source -- всё банально предсказуемо.
Как пример: недавно выходившее обновление в связи с уязвимостью http://mirror.yandex.ru/slackware/slackware64-13.1/patches/packages/linux-2.6.33.4-2/
Если используется skackpkg, то # slackpkg update && slackpkg upgrade-all вполне справляются с работой по обновлению, включая пакеты ядра.

По поводу того, откуда качать: думаю, многим подойдёт не упомянутое на http://slackware.com/getslack/ зеркало yandex-а {http,ftp,rsync}://mirror.yandex.ru/slackware/

#107325

Касательно вопроса в первоначальной формулировке, то процессы собственно сборки (make) и собственно установки (make modules_install && make install или ручные вариации на подобную тему) действительно просты.
А вот процесс конфигурирования ядра зачастую требует несравнимо больших познаний, времени и сил. Можно положиться на различные технические решения (в частности, make oldconfig), но нужно быть готовым к тому, что процесс окажется тем сложнее, а результат может оказаться тем хуже, чем дальше собираемое ядро от базового.

#107338

bormant, согласен. только дополню, что по вашей ссылке 64х битная версия. Она не пойдёт для 32х битной системы.
(для вас это конечно очевидно, но...)

#107572

Вот сейчас кажется понятно smile )

Огромное вам спасибо wink

#125910
drBatty написал:
Патрег классно собирает ядра, лучше не лезьте. (открою тайну, Патрег ядра собирает как Линус, ванильные. Т.е. без новых багофич).

Повторить действия Патрега (на примере 13.1) при желании не составит большего труда.
Сначала скачивается последнее ядро с http://kernel.org, после устанавливается программа meld - http://repository.slacky.eu/slackware-13.1/development/meld/1.4.0/meld-1.4.0-i686-1sl.txz
Потом из работающего ядра вытаскивается текущая конфигурация:
[console]# zcat /proc/config.gz > /home/Пользователь/.config_seichas[/console]
Дальше распаковывается архив с новым ядром:
[console]$ tar xjvz Название архива с новым ядром.tar.bz2[/console]
копируется .config нового ядра в домашнюю папку юзера:
[console]$ cp /home/Пользователь/Папка с ядром/.config /home/Пользователь/.config_new[/console]

Запускается meld от пользователя:
[console]$ meld /home/Пользователь/.config_seichas /home/Пользователь/.config_new[/console]

Работа в meld интуитивно понятна, из конфига старого ядра в конфиг нового ядра добавляется всё что нехватает в новом (с помощью стрелочек) и сохраняется.

от рута копируется распакованный каталог с новым ядром по пути:
[console]# cp /home/Пользователь/Распакованный каталог с новым ядром /usr/src/Название нового ядра[/console]

Запускается mc и символическая ссылка /usr/src/linux меняется на (каталог с названием ядра или на образ ядра? Надо уточнить у кого-нибудь) p.s. Лично я её вообще не меняю, но так делать - не правильно. Просто когда-то кто-то давным-давно сказал что так неправильно, и все хором начали повторять что не правильно. Почему? Неизвестно, но раз так принято, то не будем спорить с большинством. :)

В каталоге с новым ядром /usr/src/Новое ядро редактируется файл Makefile и в строчке ЕXTRAVERSION = (На примере на данный момент последнего нестабильного ядра -rc2_I_like_a_leaf_in_the wind - watch_how_I_sing (Или что нибудь другое - зависит от фантазии, у меня к примеру просто и без затей - -rc2my)

Дальнейшие шаги стандартные и уже описаны в этой теме выше:
[console]make mrproper
make menuconfig[/console]
Выбирается пункт внизу Load alternative configuration file
В появившемся псевдо окошке пишется путь до отредактированного в meld и сохранённого файла /home/Пользователь/.config_new
После загрузки нового конфига и возврата в главное меню menuconfig выбирается пункт Save an alternative configure file и сохраняется под названием - .config (обязательное условие)
и:
[console]make && make modules && make modules_install && make install && make[/console]

После срочно залезаешь на форум http://linuxforum.ru ищешь тех кто разбирается в настройке ядра, к примеру - drBatty и пристаёшь к нему с глупыми вопросами, что надо и нужно делать дальше, и всё ли было сделано правильно :)

#125936

По поводу meld -- чем не угодил # make oldconfig ?
По поводу сначала создания .config, а затем вызова # make mrproper -- точно понимаете, что происходит, ничего не перепутали?

Не проще было
# cd /usr/src/linux-2.6.N.M/
# zcat /proc/config.gz > .config
# make oldconfig
# make menuconfig # если нужно что-то поменять
# make bzImage && make modules_install

#125943

а зачем вообще нужен oldconfig?

#125954

make oldconfig
пытается перенести в текущую конфигурацию настройки из существующего .config. Не секрет, что от версии к версии опции меняются, что-то добавляется, что-то удаляется. make oldconfig принимает подходящие настройки из .config и задаёт вопросы только по поводу новых параметров.

#125970
bormant написал:
По поводу meld -- чем не угодил # make oldconfig ?
По поводу сначала создания .config, а затем вызова # make mrproper -- точно понимаете, что происходит, ничего не перепутали?

Не проще было
# cd /usr/src/linux-2.6.N.M/
# zcat /proc/config.gz > .config
# make oldconfig
# make menuconfig # если нужно что-то поменять
# make bzImage && make modules_install

Может быть так будет и лучше. У меня почему то просто команда make bzimage не срабатывает

#125984

bzImage
bzimage
теперь видно разницу?

#125993

странно, вот bzimage логически понятно - создать образ ядра используя архиваторный алгоритм .bz2, а bzlmage не лезет ни в какие ворота

Спасибо за подсказку.

#125996

Будьте внимательнее, там I (i заглавная), а не l (L малая). Подберите шрифт, в котором глифы хорошо различимы -- избавитесь хотя бы от этой проблемы.

#126135
townsman написал:
Каталог с названием ядра или на образ ядра? Надо уточнить у кого-нибудь

[console]file[/console]
что пишет?

townsman написал:
создать образ ядра используя архиваторный алгоритм .bz2, а bzlmage не лезет ни в какие ворота

образ по ихнему "имидж", неужели не знали? ;)

#126175
bormant написал:
make oldconfig
пытается перенести в текущую конфигурацию настройки из существующего .config. Не секрет, что от версии к версии опции меняются, что-то добавляется, что-то удаляется. make oldconfig принимает подходящие настройки из .config и задаёт вопросы только по поводу новых параметров.

Я почему-то думал, что oldconfig задаёт ВСЕ вопросы.
Может во времена 2.2 и 2.4 он так делел? Никто не помнит?

#126210

Так что ж тут помнить, достаточно забрать тарболы с kernel.org и посмотреть в Documentation/kbuild/commands.txt, в этой части они одинаковы в 2.4, 2.2:


Here are the targets available at the top level:
make config, make oldconfig, make menuconfig, make xconfig
...
oldconfig line-oriented interface, re-uses old values
Войдите или зарегистрируйтесь, чтобы ответить.