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

Исходное сообщение
"Обновление не GENERIC ядра"

Отправлено nkly , 18-Дек-12 09:40 
Обновление системы и ядра делаю в первый раз.
Исходные данные таковы: Установлено FreeBSD 8.0-RELEASE и измененное ядро (не GENERIC). Нужно получить в итоге FreeBSD 8.3-RELEASE и ядро с теми же настройками что были раньше (не GENERIC)
Делал все по описанию http://vds-admin.ru/freebsd/obnovlenie-yadra-i-mira-freebsd
а также handbook.
И в общем все у меня получилось, за исключением одного. После полного обновления команда uname -a выдает:
FreeBSD myhost.ru 8.3-RELEASE-p5 FreeBSD 8.3-RELEASE-p5 #0: Fri Dec 14 11:36:56 MSK 2012     root@myhost.ru:/usr/obj/usr/src/sys/GENERIC  i386
То-есть ядро установлено GENERIC а я делал все чтобы ядро было не GENERIC
При построении и установке ядра использовал
make buildkernel KERNCONF=MYKERNEL
make installkernel KERNCONF=MYKERNEL
Почему установилось ядро GENERIC? Куда смотреть? Где может быть ошибка?

Содержание

Сообщения в этом обсуждении
"Обновление не GENERIC ядра"
Отправлено arachnid , 18-Дек-12 10:10 
> Делал все по описанию http://vds-admin.ru/freebsd/obnovlenie-yadra-i-mira-freebsd

так каким именно образом из описанных?



"Обновление не GENERIC ядра"
Отправлено nkly , 18-Дек-12 11:34 
>> Делал все по описанию http://vds-admin.ru/freebsd/obnovlenie-yadra-i-mira-freebsd
> так каким именно образом из описанных?

Делал вторым способом, из исходных текстов (не freebsd-update)


"Обновление не GENERIC ядра"
Отправлено arachnid , 18-Дек-12 12:27 
>>> Делал все по описанию http://vds-admin.ru/freebsd/obnovlenie-yadra-i-mira-freebsd
>> так каким именно образом из описанных?
> Делал вторым способом, из исходных текстов (не freebsd-update)

а куда Вы положили конфиг ядра? а то что-то инструкция об этом умалчивает


"Обновление не GENERIC ядра"
Отправлено nkly , 18-Дек-12 13:12 
Ядро не GENERIC, которое установлено на исходной системе получено следующим образом:
создал каталог /data/kernels скопировал туда файл /usr/src/sys/i386/conf/GENERIC
Переименовал его в MYKERNEL, внес правки, сделал симлинк в каталоге /usr/src/sys/i386/conf/ на файл /data/kernels/MYKERNEL
Далее собрал ядро, установил его, ядро работает уже длительное время все нормально.
Теперь мне нужно обновиться:
Я скачал исходные тексты для новой версии 8.3. Затем:
cd /usr/src
make -sj4 buildkernel KERNCONF=MYKERNEL
make -s installkernel KERNCONF=MYKERNEL
То есть ядро не GENERIC ,как я полагаю, лежит в /data/kernels. И после скачивания исходников новой версии 8.3 я в файле /data/kernels/MYKERNEL ничего не менял.

"Обновление не GENERIC ядра"
Отправлено Сергей , 18-Дек-12 13:37 
>[оверквотинг удален]
> на файл /data/kernels/MYKERNEL
> Далее собрал ядро, установил его, ядро работает уже длительное время все нормально.
> Теперь мне нужно обновиться:
> Я скачал исходные тексты для новой версии 8.3. Затем:
> cd /usr/src
> make -sj4 buildkernel KERNCONF=MYKERNEL
> make -s installkernel KERNCONF=MYKERNEL
> То есть ядро не GENERIC ,как я полагаю, лежит в /data/kernels. И
> после скачивания исходников новой версии 8.3 я в файле /data/kernels/MYKERNEL ничего
> не менял.

Волшебное слово ident в конфиге ядра... А каталог, где он лежит, вы можете переименовывать как угодно и лежать он может где угодно..., тут главное ручки шаловливые....


"Обновление не GENERIC ядра"
Отправлено arachnid , 18-Дек-12 13:54 
>  Волшебное слово ident в конфиге ядра... А каталог, где он лежит,
> вы можете переименовывать как угодно и лежать он может где угодно...,
> тут главное ручки шаловливые....

Вы не правы - KERNCONF работает с именем файла, а не с параметром ident внутри конфига
у меня ident не совпадает с именем файла конфигурации - тем не менее собирается именно моё ядро :)


"Обновление не GENERIC ядра"
Отправлено nkly , 18-Дек-12 15:49 
>>  Волшебное слово ident в конфиге ядра... А каталог, где он лежит,
>> вы можете переименовывать как угодно и лежать он может где угодно...,
>> тут главное ручки шаловливые....

Параметр ident у меня изменен, правда он несколько отличается от MYKERNEL. Но я согласен с arachnid , ядро при этом соберется и установится.


"Обновление не GENERIC ядра"
Отправлено arachnid , 18-Дек-12 13:49 
>[оверквотинг удален]
> на файл /data/kernels/MYKERNEL
> Далее собрал ядро, установил его, ядро работает уже длительное время все нормально.
> Теперь мне нужно обновиться:
> Я скачал исходные тексты для новой версии 8.3. Затем:
> cd /usr/src
> make -sj4 buildkernel KERNCONF=MYKERNEL
> make -s installkernel KERNCONF=MYKERNEL
> То есть ядро не GENERIC ,как я полагаю, лежит в /data/kernels. И
> после скачивания исходников новой версии 8.3 я в файле /data/kernels/MYKERNEL ничего
> не менял.

а линк остался в каталоге с исходными текстами? просто странно, что всё собралось, но ядро generic - так обычно бывает, когда ошибешься в имени переменной, а не в имени ядра. тогда ругани нет, но соберется generic

ps. вроде как не рекомендуется ядро собирать в несколько потоков - только для мира в целом


"Обновление не GENERIC ядра"
Отправлено nkly , 18-Дек-12 15:54 
> а линк остался в каталоге с исходными текстами?

Линк остался

> просто странно, что всё
> собралось, но ядро generic - так обычно бывает, когда ошибешься в
> имени переменной, а не в имени ядра. тогда ругани нет, но
> соберется generic

О какой переменной идет речь?


"Обновление не GENERIC ядра"
Отправлено arachnid , 18-Дек-12 16:19 
>> а линк остался в каталоге с исходными текстами?
> Линк остался
>> просто странно, что всё
>> собралось, но ядро generic - так обычно бывает, когда ошибешься в
>> имени переменной, а не в имени ядра. тогда ругани нет, но
>> соберется generic
>  О какой переменной идет речь?

о KERNCONF конечно. то есть если написать CERNCONF=MY_KERNEL то соберется стандартный дженерик


"Обновление не GENERIC ядра"
Отправлено Pahanivo , 19-Дек-12 08:17 
>>> а линк остался в каталоге с исходными текстами?
>> Линк остался
>>> просто странно, что всё
>>> собралось, но ядро generic - так обычно бывает, когда ошибешься в
>>> имени переменной, а не в имени ядра. тогда ругани нет, но
>>> соберется generic
>>  О какой переменной идет речь?
> о KERNCONF конечно. то есть если написать CERNCONF=MY_KERNEL то соберется стандартный дженерик

так скорей всего и было - прикол стандартный ))


"Обновление не GENERIC ядра"
Отправлено nkly , 19-Дек-12 10:25 
> о KERNCONF конечно. то есть если написать CERNCONF=MY_KERNEL то соберется стандартный дженерик

Да, вероятно в этом причина. Я посмотрел историю команд и обнаружил что я давал команду
make -sj4 buildkernel KERNELCONF=MYKERNEL
make -s installkernel KERNELCONF=MYKERNEL
а надо было KERNCONF


"Обновление не GENERIC ядра"
Отправлено arachnid , 19-Дек-12 12:49 
>> о KERNCONF конечно. то есть если написать CERNCONF=MY_KERNEL то соберется стандартный дженерик
> Да, вероятно в этом причина. Я посмотрел историю команд и обнаружил что
> я давал команду
> make -sj4 buildkernel KERNELCONF=MYKERNEL
> make -s installkernel KERNELCONF=MYKERNEL
> а надо было KERNCONF

пропишите нужное значение в файле /etc/make.conf - тогда подобных ошибок больше не будет
прописывается так же
KERNCONF=MY_KERNEL_NAME


"Обновление не GENERIC ядра"
Отправлено Pahanivo , 19-Дек-12 15:16 
>>> о KERNCONF конечно. то есть если написать CERNCONF=MY_KERNEL то соберется стандартный дженерик
>> Да, вероятно в этом причина. Я посмотрел историю команд и обнаружил что
>> я давал команду
>> make -sj4 buildkernel KERNELCONF=MYKERNEL
>> make -s installkernel KERNELCONF=MYKERNEL
>> а надо было KERNCONF
> пропишите нужное значение в файле /etc/make.conf - тогда подобных ошибок больше не
> будет
> прописывается так же
> KERNCONF=MY_KERNEL_NAME

через год будет "помогите! собираю дженерик но собирается другое ядро!"


"Обновление не GENERIC ядра"
Отправлено arachnid , 19-Дек-12 16:36 
> через год будет "помогите! собираю дженерик но собирается другое ядро!"

:)


"Обновление не GENERIC ядра"
Отправлено lavr , 18-Дек-12 21:20 
>> а линк остался в каталоге с исходными текстами?
> Линк остался
>> просто странно, что всё
>> собралось, но ядро generic - так обычно бывает, когда ошибешься в
>> имени переменной, а не в имени ядра. тогда ругани нет, но
>> соберется generic
>  О какой переменной идет речь?

покажите:

# ls -la /usr/obj/usr/src/sys/

и вывод от ваших ликов с файлом ядра

# ls -la /sys/i386/conf

ну и

# uname -a