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

Свое ядро

Добавлено: 2015-02-17 11:14:35
kharkov_max
День добрый.

Наблюдаю на freebsd10 Stable следующую странность
Собираю свое ядро

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

>> cat ./MYKERNEL
# Freebsd 10-Stable $

cpu<---><------>HAMMER
include><------>GENERIC
ident<-><------>MYKERNEL

#--------------------------------------
options><------>DEVICE_POLLING
options><------>HZ=1000
#--------------------------------------

options><------>IPFIREWALL
options><------>IPFIREWALL_VERBOSE
options><------>IPFIREWALL_VERBOSE_LIMIT=20
options><------>IPFIREWALL_NAT
options><------>LIBALIAS
options><------>DUMMYNET
options><------>ROUTETABLES=6
Хочу что бы к моим параметрам инклюдился стандартный конфиг ядра GENERIC
Пересобираю и инсталю ядро MYKERNEL, в результате uname -a показывает что ядро GENERIC

Делал по примеру конфига BHYVE.
На другом ПК все собирается и работает как нужно ...

Свое ядро

Добавлено: 2015-02-17 14:55:34
guest
что-то делаете не так, в смысле собираете неверно...
лишняя опция:

cpu HAMMER

ненужные, и в большинстве случаяев, порочные опции:

options DEVICE_POLLING
options HZ=1000

Свое ядро

Добавлено: 2015-02-17 16:28:39
kharkov_max
что-то делаете не так, в смысле собираете неверно...
лишняя опция:
Вот так делаю...

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

cd /usr/src && make buildkernel KERNCONF=MYKERNEL && make installkernel KERNCONF=MYKERNEL && reboot
Отправлено спустя 6 минут 19 секунд:
PS
На ПК работает gmirror

Свое ядро

Добавлено: 2015-02-17 16:59:07
guest
kharkov_max писал(а):
что-то делаете не так, в смысле собираете неверно...
лишняя опция:
Вот так делаю...

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

cd /usr/src && make buildkernel KERNCONF=MYKERNEL && make installkernel KERNCONF=MYKERNEL && reboot
Отправлено спустя 6 минут 19 секунд:
PS
На ПК работает gmirror
фантастика, но так не бывает...

Свое ядро

Добавлено: 2015-02-17 17:23:18
kharkov_max
Да вот и я думаю что не бывает ...
Собирается без ошибок ...

Свое ядро

Добавлено: 2015-02-17 18:16:30
f_andrey
Ну так собери полный лог сборки и установки и посмотри что там творится то

Свое ядро

Добавлено: 2015-02-17 18:58:12
guest
kharkov_max писал(а):Да вот и я думаю что не бывает ...
Собирается без ошибок ...
легко проверяется:

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

# cp sys/amd64/conf/GENERIC  sys/amd64/conf/GENERIC.orig
- редактируем sys/amd64/conf/GENERIC, меняем:

ident GENERIC
на
ident TESTGENERIC

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

Свое ядро

Добавлено: 2015-02-19 17:35:46
wien
guest писал(а): ненужные, и в большинстве случаяев, порочные опции:

options DEVICE_POLLING
options HZ=1000
Почему? Очень многие статьи по сборке ядра рекомендуют эти опции, в т.ч. есть у лисы отдельная статья об этом.

Свое ядро

Добавлено: 2015-02-19 18:12:35
Alex Keda
Потому что почти 10 лет прошло с тех пор

Свое ядро

Добавлено: 2015-02-19 18:29:50
wien
Alex Keda писал(а):Потому что почти 10 лет прошло с тех пор
Спустя десять лет оно стало работать хуже? Или есть другие причины?

Свое ядро

Добавлено: 2015-02-19 23:27:40
snorlov
Конечно есть, раньше ядро было монолитное и имелся смысл грузить только то, что надо было и имелось в наличии, сейчас же ядро модульное и если у вас нет, например 3com905 и стоит соответствующая device ... в конфиге ядра, то драйвер для этой карты будет загружен, после чего он скажет что нет железа для него и выгружен. Простейший пример опции для ipfw, которых нет в generic, но которые могут быть задействованы при загрузки ядра generic простейшим указанием загрузки соответствующих модулей. Единственно для чего имеет смысл сейчас пересобирать ядро, так это под конкретный процессор и то, если у вас сильно нагруженная машина, в практике если этого нет то разница в производительности единицы процентов...

Свое ядро

Добавлено: 2015-02-20 16:34:56
wien
snorlov писал(а):Конечно есть, раньше ядро было монолитное и имелся смысл грузить только то, что надо было и имелось в наличии, сейчас же ядро модульное и если у вас нет, например 3com905 и стоит соответствующая device ... в конфиге ядра, то драйвер для этой карты будет загружен, после чего он скажет что нет железа для него и выгружен. Простейший пример опции для ipfw, которых нет в generic, но которые могут быть задействованы при загрузки ядра generic простейшим указанием загрузки соответствующих модулей. Единственно для чего имеет смысл сейчас пересобирать ядро, так это под конкретный процессор и то, если у вас сильно нагруженная машина, в практике если этого нет то разница в производительности единицы процентов...
Благодарю за исчерпывающий ответ!
Так вот почему у меня после апгрейда с 9.2 на 9.3 ядро стало дженерик и необходимые модули подгрузились автоматически, как например ipfw...
Всех с наступающим праздником, Уважаемые :drinks:

Свое ядро

Добавлено: 2015-02-25 11:04:03
kharkov_max
Вернулся к вопросу.

В GENERIC поставил ident MYGENERIC, в моем конфиге стоит ident MYKERNEL, пересобираю и инсталю ядро MYKERNEL, перезагружаю сервер и вижу опять uname -a показывает GENERIC это как ?

В системе работает GMIRROR, может он как то подгружает при старте старое ядро ?

Свое ядро

Добавлено: 2015-02-25 11:13:10
wien
Похоже что-то поменялось в выводе команды uname. Ответ уже содержится у тебя в вопросе: В GENERIC поставил ident MYGENERIC.
Я тоже скопировал GENERIC, переименовал в ROUTER5.0, смотрим:

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

root@eng102:/usr/home/alex # uname -a
FreeBSD eng102.gateway 9.3-RELEASE-p8 FreeBSD 9.3-RELEASE-p8 #0: Wed Feb 18 00:32:59 MSK 2015     root@eng102.gateway:/usr/obj/usr/src/sys/ROUTER5.0  i386

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

root@eng102:/usr/home/alex # cat /usr/src/sys/i386/conf/ROUTER5.0 | grep ident
ident           VPNROUTER
Так что похоже по uname показывает именно название файла из которого ядро лепим, хотя казалось бы должно называться VPNROUTER.

Свое ядро

Добавлено: 2015-02-25 11:25:48
kharkov_max
Дело в том что на другой системе все работает как нужно )))
Так же собрано с include ...

Свое ядро

Добавлено: 2015-03-02 7:54:45
kharkov_max
В этой системе был поднят gmirror, система была тестовой (на виртуалке).
После очередной пересборки мира, и нескольких поочередных отключений дисков перестало грузится.

Не стал разбираться, поднял новую VM пересобрал свое ядро с include и все работает как нужно...
Видимо как то криво gmirror работал.

Свое ядро

Добавлено: 2015-03-02 12:54:21
guest
kharkov_max писал(а):В этой системе был поднят gmirror, система была тестовой (на виртуалке).
После очередной пересборки мира, и нескольких поочередных отключений дисков перестало грузится.

Не стал разбираться, поднял новую VM пересобрал свое ядро с include и все работает как нужно...
Видимо как то криво gmirror работал.
видимо, не "криво gmirror работал", а руки кривые, без обид.

Свое ядро

Добавлено: 2015-03-02 13:09:06
kharkov_max
видимо, не "криво gmirror работал", а руки кривые, без обид.
Не было времени ковыряться, перестивить тестовую систему и поднастроить вопрос 2х часов

Свое ядро

Добавлено: 2015-03-05 16:32:54
levitan
wien писал(а):Похоже что-то поменялось в выводе команды uname. Ответ уже содержится у тебя в вопросе: В GENERIC поставил ident MYGENERIC.
Я тоже скопировал GENERIC, переименовал в ROUTER5.0, смотрим:

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

root@eng102:/usr/home/alex # uname -a
FreeBSD eng102.gateway 9.3-RELEASE-p8 FreeBSD 9.3-RELEASE-p8 #0: Wed Feb 18 00:32:59 MSK 2015     root@eng102.gateway:/usr/obj/usr/src/sys/ROUTER5.0  i386

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

root@eng102:/usr/home/alex # cat /usr/src/sys/i386/conf/ROUTER5.0 | grep ident
ident           VPNROUTER
Так что похоже по uname показывает именно название файла из которого ядро лепим, хотя казалось бы должно называться VPNROUTER.
и все-таки такое поведение системы нормальное или нет?
у меня такая же шляпа.

Свое ядро

Добавлено: 2015-03-05 17:29:10
Alex Keda
Правильно показывает.

Идент одинаковый может быть, а файл - он файл

Свое ядро

Добавлено: 2015-03-06 9:13:29
levitan
Благодарю за ответ, я было дело хотел систему обновлять, думал баг.