Привет друзья wink
Где можно найти подробное описание процесса обновления ядра в Слаке? (желательно на русском языке)
Я погуглил, но там все очень поверхностно...
Заранее благодарю за помощь.
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Slackware Linux → Slackware kernel upgrade
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Привет друзья wink
Где можно найти подробное описание процесса обновления ядра в Слаке? (желательно на русском языке)
Я погуглил, но там все очень поверхностно...
Заранее благодарю за помощь.
Karen, дык... а что по гентушной доке не получается? А зачем вам это? Патрег классно собирает ядра, лучше не лезьте. (открою тайну, Патрег ядра собирает как Линус, ванильные. Т.е. без новых багофич).
Я помнится собирал. На 10.2. Устал кровь из глаз выжимать... Впрочем, почитайте: http://linuxforum.ru/viewtopic.php?pid=114524#p114524
Это на случай если вдруг в моей версии ядра обнаружится критическая уязвимость, ведь в такой ситуации надо срочно обновлятся? Не так ли? И если не сложно, в двух словах можешь объяснить когда надо менять ядро на более новую версию а когда нет?
У меня web + mail сервер на слаке.
И если не сложно, в двух словах можешь объяснить когда надо менять ядро на более новую версию а когда нет?
У меня web + mail сервер на слаке.
подпишитесь на почтовую рассылку: http://slackware.com/lists/
как только появится новое ядро/патчи - вам придёт письмо.
ядро ставится как обычная программа, пакетом. только надо перезагрузится.
Karen, кстати, чуть не забыл: зайдите на http://slackware.com/getslack/ и скачайте все патчи для своей версии (можно конечно не все, а только те, которые для установленных пакетов. Список в /var/log/package. но лучше все).
и затем зайдите в каталог со скаченными пакетами и там
На всякий случай упомяну, что патчи уязвимостей выпускаются по мере обнаружения таковых, наполняя каталог /patches соответствующего каталога дистрибутива, собранные пакеты в /patches/packages, исходники -- в /patches/source -- всё банально предсказуемо.
Как пример: недавно выходившее обновление в связи с уязвимостью http://mirror.yandex.ru/slackware/slack … .6.33.4-2/
Если используется skackpkg, то # slackpkg update && slackpkg upgrade-all вполне справляются с работой по обновлению, включая пакеты ядра.
По поводу того, откуда качать: думаю, многим подойдёт не упомянутое на http://slackware.com/getslack/ зеркало yandex-а {http,ftp,rsync}://mirror.yandex.ru/slackware/
Касательно вопроса в первоначальной формулировке, то процессы собственно сборки (make) и собственно установки (make modules_install && make install или ручные вариации на подобную тему) действительно просты.
А вот процесс конфигурирования ядра зачастую требует несравнимо больших познаний, времени и сил. Можно положиться на различные технические решения (в частности, make oldconfig), но нужно быть готовым к тому, что процесс окажется тем сложнее, а результат может оказаться тем хуже, чем дальше собираемое ядро от базового.
bormant, согласен. только дополню, что по вашей ссылке 64х битная версия. Она не пойдёт для 32х битной системы.
(для вас это конечно очевидно, но...)
Вот сейчас кажется понятно smile )
Огромное вам спасибо wink
Патрег классно собирает ядра, лучше не лезьте. (открою тайну, Патрег ядра собирает как Линус, ванильные. Т.е. без новых багофич).
Повторить действия Патрега (на примере 13.1) при желании не составит большего труда.
Сначала скачивается последнее ядро с http://kernel.org, после устанавливается программа meld - http://repository.slacky.eu/slackware-1 … 86-1sl.txz
Потом из работающего ядра вытаскивается текущая конфигурация:
Запускается meld от пользователя:
Работа в meld интуитивно понятна, из конфига старого ядра в конфиг нового ядра добавляется всё что нехватает в новом (с помощью стрелочек) и сохраняется.
от рута копируется распакованный каталог с новым ядром по пути:
Запускается mc и символическая ссылка /usr/src/linux меняется на (каталог с названием ядра или на образ ядра? Надо уточнить у кого-нибудь) p.s. Лично я её вообще не меняю, но так делать - не правильно. Просто когда-то кто-то давным-давно сказал что так неправильно, и все хором начали повторять что не правильно. Почему? Неизвестно, но раз так принято, то не будем спорить с большинством. 
В каталоге с новым ядром /usr/src/Новое ядро редактируется файл Makefile и в строчке ЕXTRAVERSION = (На примере на данный момент последнего нестабильного ядра -rc2_I_like_a_leaf_in_the wind - watch_how_I_sing (Или что нибудь другое - зависит от фантазии, у меня к примеру просто и без затей - -rc2my)
Дальнейшие шаги стандартные и уже описаны в этой теме выше:
После срочно залезаешь на форум http://linuxforum.ru ищешь тех кто разбирается в настройке ядра, к примеру - drBatty и пристаёшь к нему с глупыми вопросами, что надо и нужно делать дальше, и всё ли было сделано правильно 
По поводу 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
а зачем вообще нужен oldconfig?
make oldconfig
пытается перенести в текущую конфигурацию настройки из существующего .config. Не секрет, что от версии к версии опции меняются, что-то добавляется, что-то удаляется. make oldconfig принимает подходящие настройки из .config и задаёт вопросы только по поводу новых параметров.
По поводу 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 не срабатывает
bzImage
bzimage
теперь видно разницу?
странно, вот bzimage логически понятно - создать образ ядра используя архиваторный алгоритм .bz2, а bzlmage не лезет ни в какие ворота
Спасибо за подсказку.
Будьте внимательнее, там I (i заглавная), а не l (L малая). Подберите шрифт, в котором глифы хорошо различимы -- избавитесь хотя бы от этой проблемы.
Каталог с названием ядра или на образ ядра? Надо уточнить у кого-нибудь
создать образ ядра используя архиваторный алгоритм .bz2, а bzlmage не лезет ни в какие ворота
образ по ихнему "имидж", неужели не знали? 
make oldconfig
пытается перенести в текущую конфигурацию настройки из существующего .config. Не секрет, что от версии к версии опции меняются, что-то добавляется, что-то удаляется. make oldconfig принимает подходящие настройки из .config и задаёт вопросы только по поводу новых параметров.
Я почему-то думал, что oldconfig задаёт ВСЕ вопросы.
Может во времена 2.2 и 2.4 он так делел? Никто не помнит?
Так что ж тут помнить, достаточно забрать тарболы с 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
Консоль:file
что пишет?
К слову сказать, что пишет сейчас -- не важно, важно, что оно писало на момент выполнения команды lilo. Да и содержимое /etc/lilo.cfg может снять часть вопросов.
Такая уж особенность lilo -- записывается в загрузчик последовательность секторов, в которых лежит ядро по состоянию на момент выполнения команды lilo. Пока в тех секторах лежит ядро и пока не перезаписан загрузчик -- отрабатывает то, что было на момент выполнения lilo.
А смотреть нужно в /boot (или что там в /etc/lilo.conf прописано) -- ядро, бинарное, которое загружается, там обычно лежит.
А насчёт "запостить ошибку" -- эта ошибка не в Slackware: поставилось? работало? так в чём ошибка тогда? ;-) Если в том, что любой root систему поломать может -- так это так изначально задумано.
Не нахожу взаимосвязи: команда file определила символическую ссылку на каталог с исходными кодами ядра одной версии, uname -a — показала загруженное ядро. В чём «бага»?
странно, так как:
говорит о том, что загружается другое ядро.
Наверно, просто, бага в слакваре.
да. в ВАШЕЙ слакваре. у вас сырцы не от того ядра, а так всё хорошо...
К слову сказать, что пишет сейчас -- не важно, важно, что оно писало на момент выполнения команды lilo
ИМХО скорее на момент компиляции ядра...
Не нахожу взаимосвязи: команда file определила символическую ссылку на каталог с исходными кодами ядра одной версии, uname -a — показала загруженное ядро. В чём «бага»?
бага будет тогда, когда townsman решит собрать "модуль" к своему ядру 
бага будет тогда, когда townsman решит собрать "модуль" к своему ядру sad
В любом случае, в этой «баге» Slackware не виновата. wink
ИМХО скорее на момент компиляции ядра...
Угу, это я был невнимателен, по диагонали пробежал глазами и подумал, что удивила ссылка в /boot на одно ядро, а загрузка другого, что в случае lilo хоть и объяснимо, но по началу может смутить...
А в том, что ссылка на исходники ядра не соответствует загруженному ядру, вообще ничего удивительного, аукнется только при сборке чего-либо, зависящего от этих самых исходников ядра, например, модулей. Да и то не всегда в силу наличия ссылки на конкретную версию мимо /usr/src: /lib/modules/$(uname -r)/build
В любом случае, в этой «баге» Slackware не виновата.
безусловно. я уже попадался на этом в других дистрах...
Да и содержимое /etc/lilo.cfg может снять часть вопросов.
Такая уж особенность lilo -- записывается в загрузчик последовательность секторов, в которых лежит ядро по состоянию на момент выполнения команды lilo. Пока в тех секторах лежит ядро и пока не перезаписан загрузчик -- отрабатывает то, что было на момент выполнения lilo.
А смотреть нужно в /boot (или что там в /etc/lilo.conf прописано) -- ядро, бинарное, которое загружается, там обычно лежит.
Если в том, что любой root систему поломать может -- так это так изначально задумано.
# Boot BMP Image.
# Bitmap in BMP format: 640x480x8
bitmap = /boot/slack.bmp
# Menu colors (foreground, background, shadow, highlighted
# foreground, highlighted background, highlighted shadow):
bmp-colors = 255,0,255,0,255,0
# Location of the option table: location x, location y, number of
# columns, lines per column (max 15), "spill" (this is how many
# entries must be in the first column before the next begins to
# be used. We don't specify it here, as there's just one column.
bmp-table = 60,6,1,16
# Timer location x, timer location y, foreground color,
# background color, shadow color.
bmp-timer = 65,27,0,255
# Standard menu.
# Or, you can comment out the bitmap menu above and
# use a boot message with the standard menu:
#message = /boot/boot_message.txt
# Wait until the timeout to boot (if commented out, boot the
# first entry immediately):
prompt
# Timeout before the first entry boots.
# This is given in tenths of a second, so 600 for every minute:
timeout = 1200
# Override dangerous defaults that rewrite the partition table:
change-rules
reset
# VESA framebuffer console @ 1024x768x256
vga = 773
# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# End LILO global section
# Windows bootable partition config begins
other = /dev/sda1
label = Windows
table = /dev/sda
# Windows bootable partition config ends
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda3
label = Linux
read-only
# Linux bootable partition config ends
image = /boot/vmlinuz.old
root = /dev/sda3
label = linux_2_6_33_4
read-only
Нет, это всё таки не проделки рута, а "бага", после пересборки ядра make, и lilo автоматически не изменили ссылку. Поэтому, спасибо форумчанинам, пришлось "допиливать" вручную.
такого ядра в системе - нет. Куда делся труп, спрашивается?
Вот он:
lrwxrwxrwx 1 root root 16 2011-02-07 17:21 linux -> linux-2.6.38-rc2Посмотрите на
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Linux Forum → Slackware Linux → Slackware kernel upgrade
Форум работает на PunBB, при поддержке Informer Technologies, Inc