Несколько вопросов по сборке ядра

Все вопросы по установке, обновлению и эксплуатации FreeBSD: конфигурация и сопровождение.

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Jetro
рядовой
Сообщения: 46
Зарегистрирован: 2010-09-24 10:25:29

Несколько вопросов по сборке ядра

Непрочитанное сообщение Jetro » 2010-09-25 23:01:41

Итак, хочу попытаться пересобрать ядро. До этого пересобирать еще не приходилось.
Информация:
FreeBSD 8.1. Компьютер предназначен для прокси. В будущем на нем будет еще и LAMP. Работать будет исключительно c консоли, никакого гуя.
Собран из старого железа. Есть только мать, оперативка, два жестких, привод и сетевуха, воткнутая в PCI-слот. Снаружи клава, моник и патчкорд, то есть совсем ничего лишнего.

Несколькодневное курение манов, хождение по различным сайтам привели к вот такому результату:

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

machine         i386
cpu        I686_CPU
ident           MYKERNEL
maxusers        0
#hints        "GENERIC.hints"
#env        "GENERIC.env"
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
options         IPDIVERT
options         DUMMYNET
options        TCP_DROP_SYNFIN
options     SCHED_ULE
options     PREEMPTION
options         INET
options         FFS
options         FFS_ROOT
options         SOFTUPDATES
options     UFS_ACL
options         UFS_DIRHASH
options     UFS_GJOURNAL
options         CD9660
options         PROCFS
options     PSEUDOFS
options     GEOM_PART_GPT
options     GEOM_LABEL
options     COMPAT_43TTY
options     COMPAT_FREEBSD4
options     COMPAT_FREEBSD5
options     COMPAT_FREEBSD6
options     COMPAT_FREEBSD7
options        SYSVSHM
options        SYSVMSG
options        SYSVSEM
options        P1003_1B
options     P1003_1B_SEMAPHORES
options        _KPOSIX_PRIORITY_SCHEDULING
options     PRINTF_BUFR_SIZE=128
options         P1003_1B_SEMAPHORES
options     HWPMC_HOOKS
options     AUDIT
options     MAC
options        FLOWTABLE
options     INCLUDE_CONFIG_FILE
device        cpufreq
device        acpi
device          isa
device          pci
device          ata
device          atadisk
device          atapicd
device        atkbdc
device        atkbd
device        vga
device        sc
device          npx
device        uart
device         miibus
device   loop
device        random
device   ether
device        pty
device        bpf
options        RANDOM_IP_ID
options        TCP_RESTRICT_RST
device  ppp
device  tun
Прошу просмотреть мой конфиг ядра, и сказать что здесь лишнее и чего не хватает. Так-же я случайно мог всунуть устаревшие опции из предыдущих версий фряхи, которые уже не используются, если это произошло, то прошу указать на это.

ЗЫ. Хотелось-бы попросить не писать просто "Удали это", а кратко описать что оно делает, и почему его лучше удалить или добавить.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Гость
проходил мимо

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение Гость » 2010-09-25 23:07:41

а лучше всего ничего не трогать и оставить ядро женерик!

Shuriks
проходил мимо

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение Shuriks » 2010-09-26 9:33:50

Я бы рекомендовал не собирать строчки конфига отовсюду, а по старинке править копию GENERIC. У меня ситуация такая же по железу. Пишу конфиг по следующему принципу: удаляю поддержку scsi, RAID, usb, FireWire, PCMCIA, заведомо отсутствующих сетевых карт, в том числе usb, беспроводных и на шине isa. Оставляю поддержку только существующих сетевушек и возможно установленных позже. Правлю имя компа и добавляю опции для сети:

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

device        vlan
options        MROUTING
options        IPFIREWALL
options        IPFIREWALL_VERBOSE
options        IPFIREWALL_VERBOSE_LIMIT=100
options        IPFIREWALL_DEFAULT_TO_ACCEPT
options        IPFIREWALL_FORWARD
options        IPFIREWALL_NAT
options        IPDIVERT
options        LIBALIAS
options        ROUTETABLES=4
options        IPSTEALTH
options        DUMMYNET
options        HZ=1000
options        DEVICE_POLLING 
Кстати опции

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

machine         i386
в 8.х уже нет.

Jetro
рядовой
Сообщения: 46
Зарегистрирован: 2010-09-24 10:25:29

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение Jetro » 2010-09-26 19:59:30

Гость писал(а):а лучше всего ничего не трогать и оставить ядро женерик!
А может лучше вообще снести фряху и поставить окна, да?
Shuriks писал(а):Я бы рекомендовал не собирать строчки конфига отовсюду, а по старинке править копию GENERIC.
Я так и старался делать, но манов по 8.1 нет совсем, даже на хандбуке, по этому и приходилось использовать то, что нашел по старым ядрам.

В общем немного переделал конфиг:

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

cpu        I686_CPU
ident           Core_1.1
#env        "GENERIC.env"
#makeoptions    DEBUG=-g
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPDIVERT
options         DUMMYNET
options        TCP_DROP_SYNFIN
options        RANDOM_IP_ID
options        TCP_RESTRICT_RST
options     IPSTEALTH
options        ICMP_BANDLIM
options     SCHED_ULE
options     PREEMPTION
options     INET
options     FFS
options     SOFTUPDATES
options     UFS_ACL
options     UFS_DIRHASH
options     UFS_GJOURNAL
options         CD9660
options     PROCFS
options     PSEUDOFS
options     GEOM_PART_GPT
options     GEOM_LABEL
options     COMPAT_43TTY
options     COMPAT_FREEBSD4
options     COMPAT_FREEBSD5
options     COMPAT_FREEBSD6
options     COMPAT_FREEBSD7
options     SYSVSHM
options     SYSVMSG
options     SYSVSEM
options        P1003_1B
options     P1003_1B_SEMAPHORES
options     _KPOSIX_PRIORITY_SCHEDULING
options     PRINTF_BUFR_SIZE=128
options     HWPMC_HOOKS
options     AUDIT
options     MAC
options        FLOWTABLE
options     INCLUDE_CONFIG_FILE
device        cpufreq
device        acpi
device      pci
device        ata
device        atadisk
device        atapicd
device        atkbdc
device        atkbd
device        vga
device        sc
device        uart
device        miibus
device        loop
device        random
device        ether
device        tun
device        pty
device        bpf

Гость
проходил мимо

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение Гость » 2010-09-26 20:04:28

А может лучше вообще снести фряху и поставить окна, да?
а почему каждый джуниор считает своим дзеном собрать свое ядро? есть на это причины?
думаете в резюме это будет плюс? врядли
в резюме будет плюс если вы будете понимать когда нужно пересобирать ядро а когда нет
в вашем случае вы не обосновали причину кастомного ядра

Jetro
рядовой
Сообщения: 46
Зарегистрирован: 2010-09-24 10:25:29

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение Jetro » 2010-09-26 21:56:07

Гость писал(а):а почему каждый джуниор считает своим дзеном собрать свое ядро? есть на это причины?
думаете в резюме это будет плюс? врядли
в резюме будет плюс если вы будете понимать когда нужно пересобирать ядро а когда нет
в вашем случае вы не обосновали причину кастомного ядра
Причин только две - включение файрвола и оптимизация ядра для работы на раритетном оборудовании. Ну да, сейчас все работает довольно резво, но когда я положу на систему все, что я планирую сделать, то она просто не выдержит. И только после этого пересобирать ядро? А вдруг тогда что-то пойдет не так, и мне придется матерясь все переустанавливать и перенастраивать сначала?
Люди учатся на своих пробах и ошибках, и если человек вместо того, чтобы действовать наугад спрашивает у более опытных пользователей, то скорее он ожидает получить совет, а не насмешку или указание все бросить...
Все начинают с малого... Ведь Вы, уважаемый, тоже когда-то пытались собрать ядро впервые (или просто хотите показаться знатоком не являясь таковым), или Вы родились с этими знаниями? А может быть у Вас не было первого раза, а сразу был второй?
Если уж Вы такой гуру, то дайте совет, вместо того чтобы критиковать, а если не можете, то лучше оставьте свои мысли при себе, они никому не интересны.

Гость
проходил мимо

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение Гость » 2010-09-26 22:02:16

вот я вам как гуру и говорю
4% когда действительно нужно пересобрать ядро отличное от женерик
ваш случай пока что не попадает под это
фаервол загружается kldload ipfw, хотя он и автоматом загрузится если будет включен в rc.conf

а ваше "хочу что то заоптимизировать" не более чем круговые махание пальцем вокруг лампочки

Shuriks
проходил мимо

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение Shuriks » 2010-09-27 4:05:27

Jetro писал(а): Я так и старался делать, но манов по 8.1 нет совсем, даже на хандбуке, по этому и приходилось использовать то, что нашел по старым ядрам.
На самом деле своего рода ман у тебя уже есть. Он находится в /usr/src/sys/conf/NOTES
Там есть описание большинства опций.
Гость писал(а):вот я вам как гуру и говорю 4% когда действительно нужно пересобрать ядро отличное от женерик ваш случай пока что не попадает под это фаервол загружается kldload ipfw, хотя он и автоматом загрузится если будет включен в rc.conf а ваше "хочу что то заоптимизировать" не более чем круговые махание пальцем вокруг лампочки
Не похоже на слова гуру. Как минимум не стоит называть себя так. Гуру не будет более бить по рукам менее опытных коллег и править конфиг за кого-то не станет, а направит усилия в нужном направлении.

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение FreeBSP » 2010-09-27 8:28:46

на глазок - мало устройств в конфиге. наверняка что то лишнее выкинул
еще мона выкинуть cd9660 и совместимость с 4-5-6-7 ветками. а компат_43tty оставь
советовать что то еще сложно, ибо показать конфигурацию машины ты постеснялся

и еще, как гласит подпись товарища, винда-вей: ребут, а юних-вей - be root.

даже если ты соберешь ведро которое не будет работать/с которым система не будет грузиться - ты всегда можешь откатиться к старому ядру. скажи

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

cp -R /boot/kernel /boot/kernel.orig
и у тебя всегда будет возможность
выпрыгнуть в загрузчик и грузануть оригинальное ядро. кроме того,

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

cp -R /boot/kernel /boot/kernel.orig
кстати, если ты чтото явно накосячил, то ядро банально не соберется. не бойся экспериментировать, но надо и понимать нахрена оно тебе надо
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение snorlov » 2010-09-27 8:47:22

Jetro писал(а):
Гость писал(а):а почему каждый джуниор считает своим дзеном собрать свое ядро? есть на это причины?
думаете в резюме это будет плюс? врядли
Причин только две - включение файрвола и оптимизация ядра для работы на раритетном оборудовании. Ну да, сейчас все работает довольно резво, но когда я положу на систему все, что я планирую сделать, то она просто не выдержит. И только после этого пересобирать ядро? А вдруг тогда что-то пойдет не так, и мне придется матерясь все переустанавливать и перенастраивать сначала?
Если очень хочется, то пересобирайте, хотя собранное вами ядро просто не будет содержать модули, которые есть в GENERIC. Другими словами, если вы грузите GENERIC и модуль не указан в /boot/loadеr.conf или /etc/rc.conf, то в ядре generic он и не загрузится, тоже самое и про оборудование, нет устройства - нет в памяти и модуля для него. Если вы считает, что машина нагруженная будет, то вы должны сразу под конкретный процессор пересобрать и ядро и мир и софт.
Ну и последнее, посмотрел я на вашу конфигурацию ядра, и хотел вас спросить, а зачем вы оставляете такие опции как COMPAT_XX, вы что, собираетесь использовать софт, который юзает либы от версий фри 4 и 5... Вы все-таки подумайте надо ли вам свое ядро, вдруг перенос на другую машину или еще что-то...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35503
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение Alex Keda » 2010-09-27 13:10:23

хернёй не страдайте.
надо будет dummynet включить или форвардинг в файрволле - тогда собирайте.
а если не надо того чего без пересборки не включишь - то и не мучайтесь
Убей их всех! Бог потом рассортирует...

Jetro
рядовой
Сообщения: 46
Зарегистрирован: 2010-09-24 10:25:29

Re: Несколько вопросов по сборке ядра

Непрочитанное сообщение Jetro » 2010-09-29 13:31:16

Все, теперь полностью разобрался. Всем большое спасибо за помощь.
Сборка прошла успешно, все получилось как и хотел, компилировалось правда на моей железке около 4 часов, но тем не менее все получилось.
По свободе еще как-то поэкспериментирую, но уже чисто для увеличения знаний по этому поводу, только систему посильнее возьму.
Еще раз всем спасибо.