URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96624
[ Назад ]

Исходное сообщение
"После обновления ядра не меняется версия в uname и в dmesg"

Отправлено format1024 , 25-Июл-16 20:14 
Привет.

Устанвил FreeBSD 10.2 с диска.
Пересобрал и установил своё ядро. Назвал его GATE.
#dmesg и uname -a показывает:
FreeBSD 10.2-RELEASE-p19 #1
/usr/obj/usr/src/sys/GATE amd64

#uname -r
10.2-RELEASE-p19
#uname -v
FreeBSD 10.2-RELEASE-p19 #1: ...:/usr/obj/usr/src/sys/GATE

После обновления мира и ядра до 10.3
не меняется версия в uname и в dmesg
по прежнему: 10.2-RELEASE-p19 #1: ...:/usr/obj/usr/src/sys/GATE

А freebsd-version показывает 10.3-RELEASE-p5

Удалял /usr/obj и /usr/src и /boot/kernel и /boot/kernel.old

Обновлял и из исходников: make buildkernel KERNCONF=MYKERNEL
make installkernel KERNCONF=MYKERNEL
и бинарники:
freebsd-update fetch
freebsd-update -r 10.3-RELEASE upgrade
freebsd-update install

Куда копать?


Содержание

Сообщения в этом обсуждении
"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено DeerFriend , 25-Июл-16 22:04 
Это тот случай, когда перезагрузка должна помочь

"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено format1024 , 25-Июл-16 22:50 
> Это тот случай, когда перезагрузка должна помочь

Перезагружался много раз.


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено Сергей , 25-Июл-16 23:33 
>> Это тот случай, когда перезагрузка должна помочь
> Перезагружался много раз.

  Читайте маны, они рулез...
Последовательность ваших действий
freebsd-update fetch
freebsd-update -r 10.3-RELEASE upgrade
freebsd-update install

вы скачали обновления для установленной системы, т.е. у вас стояла 10.2, вы скачали обновление системы до 10.2-release-p<последнее>, но затем эти обновления устанавливать не захотели, а захотелось обновиться до 10.3, т.е. запустили скачку обновления до 10.3, после чего установили скачанное ядро generic версии 10.3, но почему после перезагрузки вы не устанавливаете мир 10.3, это для меня загадка...


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено format1024 , 26-Июл-16 13:20 
>[оверквотинг удален]
>  Последовательность ваших действий
> freebsd-update fetch
> freebsd-update -r 10.3-RELEASE upgrade
> freebsd-update install
>  вы скачали обновления для установленной системы, т.е. у вас стояла 10.2,
> вы скачали обновление системы до 10.2-release-p<последнее>, но затем эти обновления устанавливать
> не захотели, а захотелось обновиться до 10.3, т.е. запустили скачку обновления
> до 10.3, после чего установили скачанное ядро generic версии 10.3, но
> почему после перезагрузки вы не устанавливаете мир 10.3, это для меня
> загадка...

Спасибо!

Добрался наконец до компа.
Загрузился в Single User.
make installworld
...
reboot

И всё заработало.
Трабл был в том что в MultiUser мир не устанавливался нормально.


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено Сергей , 26-Июл-16 14:52 
>[оверквотинг удален]
>> почему после перезагрузки вы не устанавливаете мир 10.3, это для меня
>> загадка...
> Спасибо!
> Добрался наконец до компа.
> Загрузился в Single User.
> make installworld
> ...
> reboot
> И всё заработало.
> Трабл был в том что в MultiUser мир не устанавливался нормально.

  А не надо было make install, надо было freebsd-update install



"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено format1024 , 26-Июл-16 19:27 
>[оверквотинг удален]
>>> загадка...
>> Спасибо!
>> Добрался наконец до компа.
>> Загрузился в Single User.
>> make installworld
>> ...
>> reboot
>> И всё заработало.
>> Трабл был в том что в MultiUser мир не устанавливался нормально.
>   А не надо было make install, надо было freebsd-update install

В этом то и дело что я делал много раз:
freebsd-update install и make installkernel и make installworld, но всегда в MultiUser.


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено Сергей , 26-Июл-16 22:13 
>[оверквотинг удален]
>>> Добрался наконец до компа.
>>> Загрузился в Single User.
>>> make installworld
>>> ...
>>> reboot
>>> И всё заработало.
>>> Трабл был в том что в MultiUser мир не устанавливался нормально.
>>   А не надо было make install, надо было freebsd-update install
> В этом то и дело что я делал много раз:
> freebsd-update install и make installkernel и make installworld, но всегда в MultiUser.

  Похоже у вас в голове все перемешалось, в настоящий момент есть 2-а пути обновления: через исходники и бинарное обновление, и то и другое работает как в single user, так и в Multi user, только не надо их смешивать. Если выбрали какой то из них, то и идите этим до конца. Можно при соответствующей квалификации  выбрать и 3-тий путь, скачав и использовав архивы с дистрибутива. Работу с mergemaster я опускаю...
Итак
1. Исходники . В зависимости от версии исходников получаем только обновление либо до последнего security patches текущей версии либо обновление до n-ной версии, плюс этого подхода в том, что вы сразу будете иметь свое ядро тут все понятно и раэжевано с фиг знает каких лет
   cd /usr/src
   make buildkernel KERNCONF=...
   make buildworld
   make instalkernel KERNCONF=...
   reboot
   cd /usr/src
   make installworld
   reboot
2. Бинарное .
   Если обновляете до последнего security patches то тут
   freebsd-update fetch
   freebsd-update install
   reboot
  Если до n-ной версии то
   freebsd-update -r <версия фри> upgrade
   freebsd-update install
   reboot
   freebsd-update install
   reboot
  Ничего сложного, а single user надо использовать если у вас есть на этом компе работающие сервисы типа почты ну и т.д.



"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено lavr , 27-Июл-16 10:09 
>>[оверквотинг удален]
>  Итак
>  1. Исходники . В зависимости от версии исходников получаем только обновление
> либо до последнего security patches текущей версии либо обновление до n-ной
> версии, плюс этого подхода в том, что вы сразу будете иметь
> свое ядро тут все понятно и раэжевано с фиг знает каких
> лет
>    cd /usr/src
>    make buildkernel KERNCONF=...
>    make buildworld

неверно, сначала make buildworld, потом buildkernel


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено Сергей , 27-Июл-16 11:35 
>>    cd /usr/src
>>    make buildkernel KERNCONF=...
>>    make buildworld
> неверно, сначала make buildworld, потом buildkernel

без разницы, можно одновременно... И еще, в случае исходников надо внимательно читать /usr/src/UPDATING, при переходе с нижних версий, 9.2 и ниже, на 10-тую перед запуском построения ядра и мира надо выполнить make kernel-toolchain, после чего собирать ядро и его устанавливать с опцией -DALWAYS_CHECK_MAKE, исходники 10-ки заточены на другую систему сборки


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено lavr , 27-Июл-16 12:54 
>>>    cd /usr/src
>>>    make buildkernel KERNCONF=...
>>>    make buildworld
>> неверно, сначала make buildworld, потом buildkernel
>  без разницы,

да ну?

> можно одновременно...

а Вы уверены что понимаете?

> И еще, в случае исходников надо внимательно
> читать /usr/src/UPDATING, при переходе с нижних версий, 9.2 и ниже, на
> 10-тую перед запуском построения ядра и мира надо выполнить make kernel-toolchain,

уже теплее

> после чего собирать ядро и его устанавливать с опцией -DALWAYS_CHECK_MAKE, исходники
> 10-ки заточены на другую систему сборки

"заточены"... -> переход на clang и процесс сборки давно требует усовершенствования,
что собственно и происходит


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено Сергей , 27-Июл-16 13:22 
>>>>    cd /usr/src
>>>>    make buildkernel KERNCONF=...
>>>>    make buildworld
>>> неверно, сначала make buildworld, потом buildkernel
>>  без разницы,
> да ну?

может вы что-то не понимаете? ведь make build... по умолчанию создает файлы с /usr/obj, причем и для мира и для ядра используются разные директории в этом каталоге, если вы их не переопределили, посему без разницы, что создавать первым неустановленное ядро или неустановленный мир, вот устанавливать тут я не спорю
>> можно одновременно...
> а Вы уверены что понимаете?

Абсалютно, регулярно, начиная со времен появления прескота, 2-е сессии screen'а
>> И еще, в случае исходников надо внимательно
>> читать /usr/src/UPDATING, при переходе с нижних версий, 9.2 и ниже, на
>> 10-тую перед запуском построения ядра и мира надо выполнить make kernel-toolchain,
> уже теплее
>> после чего собирать ядро и его устанавливать с опцией -DALWAYS_CHECK_MAKE, исходники
>> 10-ки заточены на другую систему сборки
> "заточены"... -> переход на clang и процесс сборки давно требует усовершенствования,
> что собственно и происходит

вообще, если вы используете ядро generic и не впиливаете свои опции в /etc/make.conf  можно и не собирать и не ставить ядро через make, надо просто переименовать /boot/kernel в /boot/kernel.old и распаковать с дистрибутива kernel.txz в /boot/kernel, после чего перегрузиться и золотой ключик ваш...


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено lavr , 27-Июл-16 13:35 
>>>>>    cd /usr/src
>>>>>    make buildkernel KERNCONF=...
>>>>>    make buildworld
>>>> неверно, сначала make buildworld, потом buildkernel
>>>  без разницы,
>> да ну?
>  может вы что-то не понимаете? ведь make build... по умолчанию создает
> файлы с /usr/obj, причем и для мира и для ядра используются
> разные директории в этом каталоге, если вы их не переопределили, посему

ну да, весь смысл в разных директориях... :) как просто, "а мужики то и не знали..."
;)

> без разницы, что создавать первым неустановленное ядро или неустановленный мир, вот
> устанавливать тут я не спорю

ага, все же доехали наконец:
"неустановленное ядро или неустановленный мир"

появились ключевые слова, добавьте туда что есть toolchain, kernel-toolchain
и все срастется, а пока Вы лишь заморочили голову ТС и тем кто наткнется
на данный тред при поиске.

Если еще добавите, разницу между: buildworld и toolchain или kernel-toolchain,
что и на что можно заменить, для чего и почему, родится нечто законченное...

>>> можно одновременно...
>> а Вы уверены что понимаете?
>  Абсалютно, регулярно, начиная со времен появления прескота, 2-е сессии screen'а

ну что тут можно сказать: "эхо войны..." (c) Брат 2. :)


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено Сергей , 27-Июл-16 15:56 
> ага, все же доехали наконец:
> "неустановленное ядро или неустановленный мир"
> появились ключевые слова, добавьте туда что есть toolchain, kernel-toolchain
> и все срастется, а пока Вы лишь заморочили голову ТС и тем
> кто наткнется  на данный тред при поиске.

  Чем же я заморочил, если у него по факту 10.2, посему kernel-toolchain ему и не надо, а он смешал в одну кучу обновление из исходников и бинарное, не доделав до конца не то не другое... Ну а тот, кто наткнется наверное внимательно почитает что, как и в какой последовательности в зависимости от хотелки сырцы или бинарники...
> Если еще добавите, разницу между: buildworld и toolchain или kernel-toolchain,
> что и на что можно заменить, для чего и почему, родится нечто  законченное...
>>>> можно одновременно...
>>> а Вы уверены что понимаете?
>>  Абсалютно, регулярно, начиная со времен появления прескота, 2-е сессии screen'а
> ну что тут можно сказать: "эхо войны..." (c) Брат 2. :)

Старые кони борозды не испортят...  народная пословица )))



"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено DeadLoco , 01-Авг-16 09:51 
>>>>> можно одновременно...
>>>> а Вы уверены что понимаете?
>>>  Абсалютно, регулярно, начиная со времен появления прескота, 2-е сессии screen'а
>> ну что тут можно сказать: "эхо войны..." (c) Брат 2. :)
>  Старые кони борозды не испортят...  народная пословица )))

Вам намекают, что buildworld сначала собирает шланг и либы в нужной версии, которыми потом будет собираться кернел. А если запускать мир и кернел в неверной последовательности (или параллельно) то кернел собирается с текущим системным шлангом и текущими системными либами. В пределах одного ABI это может и прокатить. А может и не.


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено lavr , 01-Авг-16 10:39 
>>>>>> можно одновременно...
>>>>> а Вы уверены что понимаете?
>>>>  Абсалютно, регулярно, начиная со времен появления прескота, 2-е сессии screen'а
>>> ну что тут можно сказать: "эхо войны..." (c) Брат 2. :)
>>  Старые кони борозды не испортят...  народная пословица )))
> Вам намекают, что buildworld сначала собирает шланг и либы в нужной версии,
> которыми потом будет собираться кернел. А если запускать мир и кернел
> в неверной последовательности (или параллельно) то кернел собирается с текущим системным
> шлангом и текущими системными либами. В пределах одного ABI это может
> и прокатить. А может и не.

истинно так, а так как buildworld процедураа ну очень длинная,
соорудили kernel-toolchain для ядра и toolchain для системы.

thx


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено Сергей , 02-Авг-16 00:54 
> Вам намекают, что buildworld сначала собирает шланг и либы в нужной версии,
> которыми потом будет собираться кернел.

Повторюсь buildworld и как и buildkernel собирают мир и ядро, если использованы параметры по умолчанию, в разные директории и никаких действий по изменению системы не делают, собранное вы можете удалить без потери функциональности, более того вы можете собирать и ядро и мир "старым" способом... используя GCC, это не повлияет на работоспособность системы...
> А если запускать мир и кернел  в неверной последовательности (или параллельно) то кернел > собирается с текущим системным  шлангом и текущими системными либами. В пределах одного > ABI это может и прокатить. А может и не.

Вы путаете сборку и установку...



"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено DeadLoco , 02-Авг-16 12:52 
>  Повторюсь buildworld и как и buildkernel собирают мир и ядро, если
> использованы параметры по умолчанию, в разные директории и никаких действий по
> изменению системы не делают

Очень медленно набираю, специально для вящей доходчивости...

buildworld собирает, в первую очередь, шланг и системные либы. Эти новособраные (но не заинсталленые) шланг и либы ЗАТЕМ используются buildkernel (который знает, где их искать) для сборки ядра. Если запустить buildkernel БЕЗ/ДО/ВО ВРЕМЯ buildworld, то для сборки кернела будут использованы текущие (читай - старые) шланг и либы. После чего у вас будут собраны кернел - на старых шланге/либах, а мир - уже на новых шланге/либах.

К чему это приведет - зависит исключительно от чистоты вашей кармы. Это при условии, что старый кернел/мир с новым совпадает по ABI. Если же ABI различается - вас ждут непредвиденные последствия (с)

В порядке самосовершенствования настоятельно рекомендуется курить раздел 23.6.1 хэндбука - до просветления.

> The order in which these components are built and installed is important ... Since the new kernel should be built with the new compiler, the new compiler must be built, but not necessarily installed, before the new kernel is built.

Как-то так.


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено format1024 , 27-Июл-16 12:09 
>[оверквотинг удален]
>>>   А не надо было make install, надо было freebsd-update install
>> В этом то и дело что я делал много раз:
>> freebsd-update install и make installkernel и make installworld, но всегда в MultiUser.
>   Похоже у вас в голове все перемешалось, в настоящий момент
> есть 2-а пути обновления: через исходники и бинарное обновление, и то
> и другое работает как в single user, так и в Multi
> user, только не надо их смешивать. Если выбрали какой то из
> них, то и идите этим до конца. Можно при соответствующей квалификации
>  выбрать и 3-тий путь, скачав и использовав архивы с дистрибутива.
> Работу с mergemaster я опускаю...

Конечно я так и делал. Всё как в хендбуке описано.
Пробовал оба пути:
1. Обновлял бинарники 10.2 и пробовал обновить бинарники до 10.3
2. Собирал мир и ядро из исходников как для 10.2 так и для 10.3
От начала и до конца, Но никогда не заходил в SingleUser
Пробовал собирать GENERIC и новое своё ядро. например GATEWAY

И при этом версия изменилась только в freebsd-version - как я и писал в основном сообщении.
dmesg и uname показывали старую версию 10.2 и старое название ядра GATE.

Но как только зашел в SingleUser и установил мир
Handbook 23.6.1. (5-9)
Версия и имя ядра стали отображаться правильно ВЕЗДЕ: 10.3-RELEASE #0 r303333M: ... /usr/obj/usr/src/sys/GATEWAY

Вообще-то я на другой машине обновлял без SingleUser с 10.2 до 10.3 бинарниками.
Проблем не было - а тут что-то пошло не так.


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено lavr , 26-Июл-16 11:00 
>> Это тот случай, когда перезагрузка должна помочь
> Перезагружался много раз.

изучение документации должно помочь, Вы просто не владеете процессом
обновления


"После обновления ядра не меняется версия в uname и в dmesg"
Отправлено eRIC , 26-Июл-16 12:33 
> А freebsd-version показывает 10.3-RELEASE-p5

верьте freebsd-version, он не врет