Привет.Устанвил 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Куда копать?
Это тот случай, когда перезагрузка должна помочь
> Это тот случай, когда перезагрузка должна помочьПерезагружался много раз.
>> Это тот случай, когда перезагрузка должна помочь
> Перезагружался много раз.Читайте маны, они рулез...
Последовательность ваших действий
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, это для меня загадка...
>[оверквотинг удален]
> Последовательность ваших действий
> 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 мир не устанавливался нормально.
>[оверквотинг удален]
>> почему после перезагрузки вы не устанавливаете мир 10.3, это для меня
>> загадка...
> Спасибо!
> Добрался наконец до компа.
> Загрузился в Single User.
> make installworld
> ...
> reboot
> И всё заработало.
> Трабл был в том что в MultiUser мир не устанавливался нормально.А не надо было make install, надо было freebsd-update install
>[оверквотинг удален]
>>> загадка...
>> Спасибо!
>> Добрался наконец до компа.
>> Загрузился в Single User.
>> make installworld
>> ...
>> reboot
>> И всё заработало.
>> Трабл был в том что в MultiUser мир не устанавливался нормально.
> А не надо было make install, надо было freebsd-update installВ этом то и дело что я делал много раз:
freebsd-update install и make installkernel и make installworld, но всегда в MultiUser.
>[оверквотинг удален]
>>> Добрался наконец до компа.
>>> Загрузился в 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 надо использовать если у вас есть на этом компе работающие сервисы типа почты ну и т.д.
>>[оверквотинг удален]
> Итак
> 1. Исходники . В зависимости от версии исходников получаем только обновление
> либо до последнего security patches текущей версии либо обновление до n-ной
> версии, плюс этого подхода в том, что вы сразу будете иметь
> свое ядро тут все понятно и раэжевано с фиг знает каких
> лет
> cd /usr/src
> make buildkernel KERNCONF=...
> make buildworldневерно, сначала make buildworld, потом buildkernel
>> cd /usr/src
>> make buildkernel KERNCONF=...
>> make buildworld
> неверно, сначала make buildworld, потом buildkernelбез разницы, можно одновременно... И еще, в случае исходников надо внимательно читать /usr/src/UPDATING, при переходе с нижних версий, 9.2 и ниже, на 10-тую перед запуском построения ядра и мира надо выполнить make kernel-toolchain, после чего собирать ядро и его устанавливать с опцией -DALWAYS_CHECK_MAKE, исходники 10-ки заточены на другую систему сборки
>>> 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 и процесс сборки давно требует усовершенствования,
что собственно и происходит
>>>> 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, после чего перегрузиться и золотой ключик ваш...
>>>>> 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. :)
> ага, все же доехали наконец:
> "неустановленное ядро или неустановленный мир"
> появились ключевые слова, добавьте туда что есть toolchain, kernel-toolchain
> и все срастется, а пока Вы лишь заморочили голову ТС и тем
> кто наткнется на данный тред при поиске.Чем же я заморочил, если у него по факту 10.2, посему kernel-toolchain ему и не надо, а он смешал в одну кучу обновление из исходников и бинарное, не доделав до конца не то не другое... Ну а тот, кто наткнется наверное внимательно почитает что, как и в какой последовательности в зависимости от хотелки сырцы или бинарники...
> Если еще добавите, разницу между: buildworld и toolchain или kernel-toolchain,
> что и на что можно заменить, для чего и почему, родится нечто законченное...
>>>> можно одновременно...
>>> а Вы уверены что понимаете?
>> Абсалютно, регулярно, начиная со времен появления прескота, 2-е сессии screen'а
> ну что тут можно сказать: "эхо войны..." (c) Брат 2. :)Старые кони борозды не испортят... народная пословица )))
>>>>> можно одновременно...
>>>> а Вы уверены что понимаете?
>>> Абсалютно, регулярно, начиная со времен появления прескота, 2-е сессии screen'а
>> ну что тут можно сказать: "эхо войны..." (c) Брат 2. :)
> Старые кони борозды не испортят... народная пословица )))Вам намекают, что buildworld сначала собирает шланг и либы в нужной версии, которыми потом будет собираться кернел. А если запускать мир и кернел в неверной последовательности (или параллельно) то кернел собирается с текущим системным шлангом и текущими системными либами. В пределах одного ABI это может и прокатить. А может и не.
>>>>>> можно одновременно...
>>>>> а Вы уверены что понимаете?
>>>> Абсалютно, регулярно, начиная со времен появления прескота, 2-е сессии screen'а
>>> ну что тут можно сказать: "эхо войны..." (c) Брат 2. :)
>> Старые кони борозды не испортят... народная пословица )))
> Вам намекают, что buildworld сначала собирает шланг и либы в нужной версии,
> которыми потом будет собираться кернел. А если запускать мир и кернел
> в неверной последовательности (или параллельно) то кернел собирается с текущим системным
> шлангом и текущими системными либами. В пределах одного ABI это может
> и прокатить. А может и не.истинно так, а так как buildworld процедураа ну очень длинная,
соорудили kernel-toolchain для ядра и toolchain для системы.thx
> Вам намекают, что buildworld сначала собирает шланг и либы в нужной версии,
> которыми потом будет собираться кернел.Повторюсь buildworld и как и buildkernel собирают мир и ядро, если использованы параметры по умолчанию, в разные директории и никаких действий по изменению системы не делают, собранное вы можете удалить без потери функциональности, более того вы можете собирать и ядро и мир "старым" способом... используя GCC, это не повлияет на работоспособность системы...
> А если запускать мир и кернел в неверной последовательности (или параллельно) то кернел > собирается с текущим системным шлангом и текущими системными либами. В пределах одного > ABI это может и прокатить. А может и не.Вы путаете сборку и установку...
> Повторюсь 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.
Как-то так.
>[оверквотинг удален]
>>> А не надо было 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 бинарниками.
Проблем не было - а тут что-то пошло не так.
>> Это тот случай, когда перезагрузка должна помочь
> Перезагружался много раз.изучение документации должно помочь, Вы просто не владеете процессом
обновления
> А freebsd-version показывает 10.3-RELEASE-p5верьте freebsd-version, он не врет