Страница 1 из 1

Система загружается со старого ядра, после установки нового?

Добавлено: 2010-09-29 14:28:37
Lexxxxx
Доброго дня!

Встал вопрос обновления OS FreeBSD 7.2 до 7.3.
Все делал стандартно (уже 2-3 раза подряд):

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

+       make buildworld
       make kernel KERNCONF=YOUR_KERNEL_HERE
                                                       
        <reboot in single user>                     
        mergemaster -p 
        make installworld
        make delete-old
        mergemaster
        <reboot>
И каждый раз система загружается со старого ядра, которое было собрано Oct 28 01:17:13 NOVT 2009:

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

sysctl -a | grep -i kern
kern.ostype: FreeBSD
kern.osrelease: 7.2-RELEASE
kern.osrevision: 199506
kern.version: FreeBSD 7.2-RELEASE #1: Wed Oct 28 01:17:13 NOVT 2009
Уже отдельно делал make clean несколько раз и make cleandepend.
Все в пустую. И ядро отдельно пересобирал (и GENERIC и свое кастомное).

Файлы в директории обновляются (по дате смотрю), результат все один:

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

sysctl -a | grep -i kernel
kern.bootfile: /boot/kernel/kernel
kern.module_path: /boot/kernel;/boot/module
На сервере разваленный GMIRROR с одним диском в статусе degraded. Может ли это быть тому причиной?
Или сервер скомпрометировали? И может стоит какой "зверек", который блочит?

rkhunter ругается на новые биннарники, которые появились после установки "мира". Никакой подозрительной активности не замечал.

В чем может быть причина?

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 14:33:45
Neus
make installkernel пробовал делать?

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 14:40:33
Lexxxxx
Да... пробовал и по старинке:

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

        cd src/sys/${arch}/conf
        config KERNEL_NAME_HERE
        cd ../compile/KERNEL_NAME_HERE
        make depend
        make
        make install

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 14:54:18
Гость
YOUR_KERNEL_HERE переименуйте в имя в верхнем регистре без всяких подчеркиваний

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 15:00:55
Lexxxxx
LOL))) Ну естественно, там я указывал название своего ядра. Без этого ничего не получилось бы ;)
Эти строки взяты из /usr/src/UPDATE

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 15:03:15
vadim64
Neus писал(а):make installkernel пробовал делать?
товарисч имел ввиду что вы херово делали либо херово описали что делали.
handbook писал(а): Building a Kernel

Change to the /usr/src directory:

# cd /usr/src
Compile the kernel:

# make buildkernel KERNCONF=MYKERNEL
Install the new kernel:

# make installkernel KERNCONF=MYKERNEL

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 15:14:36
Lexxxxx
Может плохо объяснил... вот:

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

# head /root/00.make.installkernel
Script started on Wed Sep 29 10:27:51 2010
root@ns2:>make installkernel KERNCONF=MOE_YADRO
--------------------------------------------------------------
>>> Installing kernel
--------------------------------------------------------------
cd /usr/obj/usr/src/sys/MOE_YADRO;  MAKEOBJDIRPREFIX=/usr/obj  MACHINE_ARCH=amd64  MACHINE=amd64  CPUTYPE=  GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin  GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font  GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin  make KERNEL=kernel install
thiskernel=`sysctl -n kern.bootfile` ;  if [ ! "`dirname "$thiskernel"`" -ef /boot/kernel ] ; then  chflags -R noschg /boot/kernel ;  rm -rf /boot/kernel ;  else  if [ -d /boot/kernel.old ] ; then  chflags -R noschg /boot/kernel.old ;  rm -rf /boot/kernel.old ;  fi ;  mv /boot/kernel /boot/kernel.old ;  sysctl kern.bootfile=/boot/kernel.old/"`basename "$thiskernel"`" ;  fi
kern.bootfile: /boot/kernel/kernel -> /boot/kernel.old/kernel
mkdir -p /boot/kernel
install -p -m 555 -o root -g wheel kernel /boot/kernel

пропускаем ~1500 строк вывода.... и концовка:

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

tail /root/00.make.installkernel
===> zlib (install)
install -o root -g wheel -m 555   zlib.ko /boot/kernel
install -o root -g wheel -m 555   zlib.ko.symbols /boot/kernel
===> zyd (install)
install -o root -g wheel -m 555   if_zyd.ko /boot/kernel
install -o root -g wheel -m 555   if_zyd.ko.symbols /boot/kernel
kldxref /boot/kernel
root@***:>exit

Script done on Wed Sep 29 10:30:06 2010
Есть еще:

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

# ls -l | grep 00.make
-rw-r--r--  1 root  wheel   2479197 Sep 29 10:26 00.make.buildkernel
-rw-r--r--  1 root  wheel  19123856 Sep 29 00:49 00.make.buildworld
-rw-r--r--  1 root  wheel     82108 Sep 29 10:30 00.make.installkernel
-rw-r--r--  1 root  wheel   1125600 Sep 29 17:44 00.make.installworld
Какой показать?

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 15:17:52
vadim64
:shock: сурово
пожалуйста, ядро переименуте в MOEYADRO и попробуйте делать не скриптами а как я цитировал хэндбук в предыдущем посте

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 15:21:14
Lexxxxx
Кстати:

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

# in all cases
make kernel KERNCONF=GENERIC
# this makes and installs the new kernel
# but copies the current kernel to /boot/kernel.old 
# before doing so

# you will also see the following
make buildkernel KERNCONF=GENERIC
make installkernel KERNCONF=GENERIC
# the above two command have exactly the same effect as 
# make kernel KERNCONF=GENERIC
# if you like typing two lines use the above method
http://www.zytrax.com/tech/survival/freebsd-update.html

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 15:22:25
Lexxxxx
vadim64 писал(а)::shock: сурово
пожалуйста, ядро переименуте в MOEYADRO и попробуйте делать не скриптами а как я цитировал хэндбук в предыдущем посте
Да, я уже заменил в исходном тексте название ядра, дабы не светить его по определенным соображениям.

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 15:32:53
vadim64
чувак, харош уже. ещё раз говорят, делай по хэндбуку

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 19:21:12
Lexxxxx
Удалил весь /usr/src
Обновил через cvsup

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

# cd /usr/src
# make buildkernel KERNCONF=MYKERNEL
# make installkernel KERNCONF=MYKERNEL
на выходе, после ребута:

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

# uname -a
.... FreeBSD 7.2-RELEASE #1: Wed Oct 28 01:17:13 NOVT 2009 ....
Еще будут версии?

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 19:39:24
Гость
версий мульен
но для этого нужно фоум превращать в чат

по делу вы бы и сами ручкми и глазками проверили все файлы
начиная от того какое ядро в итоге собирается до момента когда вы его установили
и перегрузили и проверили какое загрузилось

инедт по файлу всегда рулят да?

кстати такая тема уже на форуме была, не помню чем закончилась - потому что не интересно было следить за ней

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 19:53:44
Lexxxxx
Гость писал(а):инедт по файлу всегда рулят да?
Не уверен, что я правильно понял, о чем речь?
Может полный реинстал? Или разбирать до конца? (понятно дело мне решать....)

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 19:58:41
Гость

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

man ident
man strings
man man

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 20:38:52
Гость
да даже одного md5 хватит что бы понять какое ядро собирается и какое инсталлируется
и уж какое грузится
а потом уже выяснять где рога ростут

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 21:01:21
Lexxxxx
Хм.... я правильно понимаю, что правильно сравнил... и ядра разные?

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

uname -a
FreeBSD secrethostname.ru 7.2-RELEASE FreeBSD 7.2-RELEASE #1: Wed Oct 28 01:17:13 NOVT 2009     root@secrethostname.ru:/usr/src/sys/amd64/compile/SECRETYADRONAME  amd64
вот:

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

# md5 /boot/kernel/kernel && md5 /usr/src/sys/amd64/compile/SECRETYADRONAME/kernel
MD5 (/boot/kernel/kernel) = 19cda8d15278b94b8d33cbbb58d0e4c3
MD5 (/usr/src/sys/amd64/compile/SECRETYADRONAME/kernel) = 0cb7f9012cfbf69bc41dda882df609ec
Достаточно корректно вручную скопировать /usr/src/sys/amd64/compile/SECRETYADRONAME/kernel в /boot/kernel?

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-29 21:21:56
Гость
ну если вы уверены что именно то ядро что надо
потому что на этапе make installkernel оно там еще может стрипнуться
а так в принципе никто не мешает его вообще в / кинуть
а потом в бутлоадере сделать unload kernel load kernel_new
м?

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-30 12:09:12
Lexxxxx
Кажется, я нашел в чем причина. Как не странно, набор команд здесь не причем!
Приблизился к решению, но появилась другая загвоздка:

1. Закинул в /boot/kernel.live ядро от FreeBSD 7.3 с Live FS ISO
2. Попытка загрузить ядро не увенчалась успехом, загрузчик его просто не видел!
3. в бутлоадере посмотрел список доступных ядер, а его там просто нет! Там всего их три: kernel, kernel.old и kernel-generic.

....
UPDATED!
....

Господа, моя конечно вина Не сообразил сразу! НО! В самом начале, с первом топике я написал:
На сервере разваленный GMIRROR с одним диском в статусе degraded. Может ли это быть тому причиной?
Так вот... система работала на втором диске, т.е. /dev/ad1, а диск, который болтался был /dev/ad0. Он присутствовал физически и содержал в на себе разделы! Рейд развалился до пересборки системы и ядра!

А теперь вопрос, с какого диска система грузилась? Ну конечно же с /dev/ad0, который содержал на себе /boot со старым ядром.
А все дискусии и носотыкания-в-хандбук увели меня только в сторону.

Благодарю Гостя с его постами от 2010-09-30 1:21:56, 2010-09-30 0:38:52
Именно они помогли докопаться до истины.

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-09-30 12:10:45
Lexxxxx
Ура!

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

# uname -a
FreeBSD ***.****.ru 7.3-STABLE FreeBSD 7.3-STABLE #1: Thu Sep 30 19:11:42 NOVST 2010     root@:/usr/obj/usr/src/sys/MOYESUPERYADRO  amd64

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-10-01 11:27:57
manefesto
подозреваю CSUP конфиг был кривой

Re: Система загружается со старого ядра, после установки нов

Добавлено: 2010-10-01 11:49:44
Lexxxxx
Последние два поста читали? Проблема решена проблема была в том, что система грузилась со старого /boot