Помогите правильно обновить ядро

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
saikov
Сообщения: 183
ОС: Mageia

Помогите правильно обновить ядро

Сообщение saikov »



В общем сервер на gentoo. Решил обновить ядро. Подскажите пожалуйста. Вот что я собираюсь сделать.

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

# eselect kernel list
Available kernel symlink targets:
  [1]   linux-3.12.21-gentoo-r1 *
  [2]   linux-3.18.11-gentoo
  [3]   linux-4.0.5-gentoo


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

# eselect kernel set 3
cp /usr/src/linux-3.XX.XX-gentoo/.config /usr/src/linux/
cd /usr/src/linux
make menuconfig
make -j5 bzImage
make -j5 modules
mount /boot
make install
make modules_install
grub2-mkconfig -o /boot/grub/grub.cfg && reboot


Верно? Он же для сборки будет брать тот конфиг с которым было собрано 3.12.21?
Ядро обновляю на этом сервере в первый раз. Боюсь накасячить.
GRUB у меня второй
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: Помогите правильно обновить ядро

Сообщение /dev/random »

Да, он воспользуется старым конфигом, т.к. вы его явным образом копируете. Но конфиг - это ещё не всё. Рекомендую проверить, как оно собиралось раньше, например, использовался ли initrd, и если да, то какой.

Насчёт grub, к сожалению, ничего не могу сказать, т.к. вторым никогда не пользовался.
Спасибо сказали:
Аватара пользователя
saikov
Сообщения: 183
ОС: Mageia

Re: Помогите правильно обновить ядро

Сообщение saikov »

/dev/random писал(а):
07.10.2015 19:28
Да, он воспользуется старым конфигом, т.к. вы его явным образом копируете. Но конфиг - это ещё не всё. Рекомендую проверить, как оно собиралось раньше, например, использовался ли initrd, и если да, то какой.

Насчёт grub, к сожалению, ничего не могу сказать, т.к. вторым никогда не пользовался.

А как проверить? Просто у меня когда стоял gentoo, то я ядро именно так и обновлял. Как тут делалось не знаю. Достался без описания и коментариев от прошлого админа. Но судя по выводу

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

# ls -la /boot/
итого 18665
drwxr-xr-x  4 root root    1024 июл 26 14:37 .
drwxr-xr-x 23 root root    4096 апр 24 23:15 ..
lrwxrwxrwx  1 root root       1 сен 25  2013 boot -> .
-rw-r--r--  1 root root   80290 окт 31  2013 config-3.10.7-gentoo-r1
-rw-r--r--  1 root root   81008 окт 25  2013 config-3.10.7-gentoo-r1.old
-rw-r--r--  1 root root   82599 июн 22  2014 config-3.12.21-gentoo-r1
drwxr-xr-x  6 root root    1024 июн 22  2014 grub
-rw-r--r--  1 root root       0 июл 26 14:37 .keep
drwx------  2 root root   12288 сен 25  2013 lost+found
-rw-r--r--  1 root root 2119739 окт 31  2013 System.map-3.10.7-gentoo-r1
-rw-r--r--  1 root root 2305509 окт 25  2013 System.map-3.10.7-gentoo-r1.old
-rw-r--r--  1 root root 2184898 июн 22  2014 System.map-3.12.21-gentoo-r1
-rw-r--r--  1 root root 3927056 окт 31  2013 vmlinuz-3.10.7-gentoo-r1
-rw-r--r--  1 root root 4208336 окт 25  2013 vmlinuz-3.10.7-gentoo-r1.old
-rw-r--r--  1 root root 4013232 июн 22  2014 vmlinuz-3.12.21-gentoo-r1

initrd не использовался.
Ну и grep -rl "rd" /boot/grub/grub.cfg ничего не находит
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: Помогите правильно обновить ядро

Сообщение /dev/random »

Именно так и проверить. Значит, initrd нет и этот способ сборки подходит.

Не забудьте пройтись по опциям menuconfig, т.к. разрыв между версиями большой и много опций исчезло/появилось.
Спасибо сказали:
Аватара пользователя
saikov
Сообщения: 183
ОС: Mageia

Re: Помогите правильно обновить ядро

Сообщение saikov »

/dev/random писал(а):
07.10.2015 19:59
Именно так и проверить. Значит, initrd нет и этот способ сборки подходит.

Не забудьте пройтись по опциям menuconfig, т.к. разрыв между версиями большой и много опций исчезло/появилось.

Как я пройдусь? =) Как я уже начал делать. Скопировал старый конфиг. Потом make menuconfig. Там полистал для теста и сделал save. Потом make -j10 bzImage и т.д. Прокатит?

Я так понимаю это может создать некие проблемы. Что то добавилось, что то ушло в параметрах. Но думаю новые подтянутся как дефолтные.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: Помогите правильно обновить ядро

Сообщение /dev/random »

saikov писал(а):
07.10.2015 20:06
Как я пройдусь? =) Как я уже начал делать. Скопировал старый конфиг. Потом make menuconfig. Там полистал для теста и сделал save. Потом make -j10 bzImage и т.д. Прокатит?

Я так понимаю это может создать некие проблемы. Что то добавилось, что то ушло в параметрах. Но думаю новые подтянутся как дефолтные.

Подтянутся. Но только вы можете знать, подойдут ли вам дефолтные.
Спасибо сказали:
Аватара пользователя
saikov
Сообщения: 183
ОС: Mageia

Re: Помогите правильно обновить ядро

Сообщение saikov »

/dev/random писал(а):
07.10.2015 20:13
saikov писал(а):
07.10.2015 20:06
Как я пройдусь? =) Как я уже начал делать. Скопировал старый конфиг. Потом make menuconfig. Там полистал для теста и сделал save. Потом make -j10 bzImage и т.д. Прокатит?

Я так понимаю это может создать некие проблемы. Что то добавилось, что то ушло в параметрах. Но думаю новые подтянутся как дефолтные.

Подтянутся. Но только вы можете знать, подойдут ли вам дефолтные.

Думаю да, т.к. без них все работало.
Спасибо сказали:
Аватара пользователя
saikov
Сообщения: 183
ОС: Mageia

Re: Помогите правильно обновить ядро

Сообщение saikov »

В общем обновил ядро, но после перезапуска получил kernel panic! Точно не знаю на что ругается. Хорошо коллега был на работе и грузанулся со старого ядра. В чем может быть проблема?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: Помогите правильно обновить ядро

Сообщение /dev/random »

Что именно было написано?
Спасибо сказали:
Аватара пользователя
saikov
Сообщения: 183
ОС: Mageia

Re: Помогите правильно обновить ядро

Сообщение saikov »

/dev/random писал(а):
07.10.2015 21:01
Что именно было написано?

Да кто же его знает. KErnel panic и что то про init говорил. Просто в экстренном режиме его перезапускали и возвращали к жизни.
Спасибо сказали:
yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: Помогите правильно обновить ядро

Сообщение yoshakar »

saikov писал(а):
07.10.2015 21:07
что то про init говорил
Может рутовый раздел не нашёлся? Новое ядро точно с теми параметрами загружалось что и старое? С какими конкретно?
Спасибо сказали:
Аватара пользователя
saikov
Сообщения: 183
ОС: Mageia

Re: Помогите правильно обновить ядро

Сообщение saikov »

yoshakar писал(а):
07.10.2015 21:14
saikov писал(а):
07.10.2015 21:07
что то про init говорил
Может рутовый раздел не нашёлся? Новое ядро точно с теми параметрами загружалось что и старое? С какими конкретно?

Вот сделал сравнение старого конфига с новым. Некоторые аараметры пропали. ХЗ, критичные они ли нет. http://pastebin.com/vHFpDCN2

Еще вот что. Надо было делать make olddefconfig - я так понимаю он переобразует старый в новый конфиг. Этого сделано не было. ((
Спасибо сказали:
Аватара пользователя
saikov
Сообщения: 183
ОС: Mageia

Re: Помогите правильно обновить ядро

Сообщение saikov »

Класс.. маскарадинг выключился в новом конфиге. =) Вот это преобразование
Спасибо сказали:
yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: Помогите правильно обновить ядро

Сообщение yoshakar »

saikov писал(а):
07.10.2015 21:36
Вот сделал сравнение старого конфига с новым.
Я имел в виду не конфиг, а параметры, которые прописаны в конфиге загрузчика (т. е. grub'а в вашем случае), параметры которые загрузчик передаёт ядру. В частности там должен (или может?) быть параметр root, говорящий ядру где ему искать /sbin/init.
Спасибо сказали:
Аватара пользователя
saikov
Сообщения: 183
ОС: Mageia

Re: Помогите правильно обновить ядро

Сообщение saikov »

yoshakar писал(а):
07.10.2015 21:47
saikov писал(а):
07.10.2015 21:36
Вот сделал сравнение старого конфига с новым.
Я имел в виду не конфиг, а параметры, которые прописаны в конфиге загрузчика (т. е. grub'а в вашем случае), параметры которые загрузчик передаёт ядру. В частности там должен (или может?) быть параметр root, говорящий ядру где ему искать /sbin/init.

Такого нет.

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

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-1f0680c4-2508-438d-bf02-ba7b6d947a65' {
        load_video
        if [ "x$grub_platform" = xefi ]; then
                set gfxpayload=keep
        fi
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  3a54a6c0-8d29-474a-8cff-e51d561c5278
        else
          search --no-floppy --fs-uuid --set=root 3a54a6c0-8d29-474a-8cff-e51d561c5278
        fi
        echo    'Загружается Linux 4.0.5-gentoo …'
        linux   /vmlinuz-4.0.5-gentoo root=/dev/sda3 ro net.ifnames=0 quiet
}
Спасибо сказали:
Аватара пользователя
Serega86
Сообщения: 208
ОС: OpenSuse

Re: Помогите правильно обновить ядро

Сообщение Serega86 »

как это нет
root=/dev/sda3 ro net.ifnames=0 quiet

а жесткий диск в новом ядре точно называется sda? В OpenSUSE как то помнится прилетало обновление ядра и диск который все вермя был sda стал почему то sdс , а sdb стал sdc называться в сисетме. Может и тут нечто подобное
Все глюки Windows исправляются установкой Linux!
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3165
ОС: Gentoo

Re: Помогите правильно обновить ядро

Сообщение ormorph »

Ну как бы kernel panic!, надо читать на что ругается.
Так из попыток телепатии, возможно требуется файл initramfs, такое бывало если выполняешь make install, вместо cp /usr/src/linux/arch/xxx/boot/bzImage /boot/vmlinuz-xxx.
хендбук тыц

Ну и тыц

Спасибо сказали:
МАН69К
Сообщения: 7
ОС: Gentoo

Re: Помогите правильно обновить ядро

Сообщение МАН69К »

Возможно было бы надёжнее пересобрать ядро заново, при помощи make oldconfig, а не тупого копирования конфига?
Т. е. скопировать заново прежний конфиг, сделать make oldconfig. Если известно какие опции для работы системы необходимы - то после этого ещё и make menuconfig и убедиться что нужные опции имеют нужные значения.
P. S. зачем make -j5 bzImage и make -j5 modules?..
Спасибо сказали:
Аватара пользователя
saikov
Сообщения: 183
ОС: Mageia

Re: Помогите правильно обновить ядро

Сообщение saikov »

а жесткий диск в новом ядре точно называется sda?

Да, тут точно как надо
Ну как бы kernel panic!, надо читать на что ругается.
Так из попыток телепатии, возможно требуется файл initramfs, такое бывало если выполняешь make install, вместо cp /usr/src/linux/arch/xxx/boot/bzImage /boot/vmlinuz-xxx.

Это понятно что надо читать, но не смог лично лицезреть что там выдало ))
make install делал, но initramfs ни где не упоминается в грубе. Значит не используется.
Т. е. скопировать заново прежний конфиг, сделать make oldconfig. Если известно какие опции для работы системы необходимы - то после этого ещё и make menuconfig и убедиться что нужные опции имеют нужные значения.

Да, сейчас сделал make oldconfig, но еще не рубутался. Жду вечера.
P. S. зачем make -j5 bzImage и make -j5 modules?..

Так всегда делал и все у кого спрашивал так советовали.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3165
ОС: Gentoo

Re: Помогите правильно обновить ядро

Сообщение ormorph »

saikov писал(а):
08.10.2015 11:25
Это понятно что надо читать, но не смог лично лицезреть что там выдало ))
make install делал, но initramfs ни где не упоминается в грубе. Значит не используется.


Как это не упоминается?
grep initramfs /etc/grub.d/10_linux:

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

       "initrd-${version}" "initramfs-${version}.img" \
       "initrd-${alt_version}" "initramfs-${alt_version}.img" \
       "initramfs-genkernel-${version}" \
       "initramfs-genkernel-${alt_version}" \
       "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
       "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
  initramfs=
      initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"`
  elif test -z "${initramfs}" ; then
    # "UUID=" and "ZFS=" magic is parsed by initrd or initramfs.  Since there's
    # no initrd or builtin initramfs, it can't work here.


Если его нет в каталоге /boot значит не создается в конфиге...
Так как ядро ругалось у вас про init, значит файл initramfs все же требовался, так как данный скрипт присутствует именно в нем. Конечно можно скомпилировать данный образ непосредственно в ядро тыц тыц

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

Re: Помогите правильно обновить ядро

Сообщение Bizdelnick »

ormorph писал(а):
08.10.2015 16:44
Так как ядро ругалось у вас про init, значит файл initramfs все же требовался, так как данный скрипт присутствует именно в нем.

Какой скрипт?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3165
ОС: Gentoo

Re: Помогите правильно обновить ядро

Сообщение ormorph »

Bizdelnick писал(а):
08.10.2015 17:06
Какой скрипт?


init - присутствует в initramfs
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21429
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Помогите правильно обновить ядро

Сообщение Bizdelnick »

А что, в Gentoo /sbin/init — это скрипт? И почему его обязательно грузить именно из initramfs?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Kopilov
Сообщения: 957
ОС: [K]Ubuntu, Debian

Re: Помогите правильно обновить ядро

Сообщение Kopilov »

На моей подручной Gentoo (правда, давно не обновлявшейся):

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

$ file --mime /sbin/init
/sbin/init: application/x-executable; charset=binary

$ file /sbin/init
/sbin/init: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped

Вот только я давным давно гружу его из initramfs: LVM использую.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3165
ОС: Gentoo

Re: Помогите правильно обновить ядро

Сообщение ormorph »

Bizdelnick писал(а):
08.10.2015 17:23
А что, в Gentoo /sbin/init — это скрипт? И почему его обязательно грузить именно из initramfs?


Для этого нужно полный вывод ядра посмотреть на что именно оно ругается, если это не из initramfs, то не может найти root=xxx.
Смотреть выше - это было предположение в рамках телепатии. А так вообще странно что в конфиге прописано root=/dev/sda3 а не root=UUID=XXXXX.
Спасибо сказали: