Страница 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...
Всех с наступающим праздником, Уважаемые

Свое ядро
Добавлено: 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
Благодарю за ответ, я было дело хотел систему обновлять, думал баг.