Пересборка ядра FreeBSD
Mindkiller - 17.12.2015 в 21:02
Доброго дня!
Подскажите, пожалуйста, какие волшебные опции нужно добавить в ядро FreeBSD, чтобы оно загрузилось на вашем хостинге? После осмотра VDS и некоторого
гугления я добавил в ядро такие параметры:
device virtio
device virtio_pci
После ребута получил следующую картину:
kpv - 17.12.2015 в 22:58
Это не хостинг, а VDS - управляться на нём Вам необходимо самостоятельно, или нанять администратора, который умеет это делать. Возьмите готовый шаблон
FreeBSD, который в комплекте с сервером.
1. проблема типовая, решается так https://goo.gl/LpzbxI
2. Что Вы собираете и где - нам отсюда не видно, Вы даже версию фряхи не указали. Поэтому возьмите готовый мануал, например, такой http://habrahabr.ru/post/167099/
Mindkiller - 18.12.2015 в 05:55
Цитата: |
Это не
хостинг, а VDS - управляться на нём Вам необходимо самостоятельно, или нанять администратора, который умеет это делать. |
Спасибо за предложение . Дело в том, что я всю жизнь имел дела только с дедиками
и колокейшнами и лишь на старости лет до VDS-ок опустился, поэтому, надо полагать, в системном администрировании немного разбираюсь. Совсем чуть-чуть
.
Цитата: |
Возьмите готовый шаблон FreeBSD, который в комплекте с сервером. |
Я точно общаюсь с техническим специалистом? o.O Если уж я решил пересобрать ядро - то это потому, что типовой GENERIC меня не совсем устраивает (хотя
бы из-за его дырявости на данный момент). А поскольку вы сами готовили шаблон FreeBSD - вы должны знать, какие изменения внесены в настройки ядра,
чтобы оно стартовало на вашей виртуализации.
Я понимаю, в чём проблема. Вопрос в том, какие модули нужно вкомпилировать в ядро. А это уже нетиповая задача и зависит от того, как реализована
виртуализация. Например, у дружественного вам хостинга с той же самой KVM диск примонтирован совершенно иначе и не требует никаких дополнительных
модулей, отсутствующих в GENERIC.
Цитата: |
2. Что
Вы собираете и где - нам отсюда не видно, Вы даже версию фряхи не указали. Поэтому возьмите готовый мануал, например, такой http://habrahabr.ru/post/167099/ |
Этот мануал я, конечно, читал, спасибо. Там проблема решена через /boot/loader.conf, т.е. модули не компилируются в ядро, а
подгружаются отдельными файлами. Это некрасивое решение. Если уж я решил пересобрать ядро для своих целей - то было бы логичней вместо подгрузки
нужных модулей сразу их в это ядро вкорячить. Тем более что на вашем шаблоне именно так и сделано:
Код: |
B:>uname -srp
FreeBSD 9.3-RELEASE-p24 amd64
B:>cat /boot/loader.conf
cat: /boot/loader.conf: No such file or directory |
Я добавил в ядро virtio и virtio_pci. Но видимо что-то ещё нужно для загадочного диска под названием vtbd0p3 .
kpv - 23.12.2015 в 11:04
Давайте с техническими специалистами общаться здесь http://ruweb.net/support
ln - 23.12.2015 в 21:27
Можно ничего в ядро не добавлять, там и GENERIC прекрасно работает.
Наши ядра для VDS-ов собраны так:
include GENERIC
ident RUWEB
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPFIREWALL_DEFAULT_TO_ACCEPT
options DUMMYNET
options IPDIVERT
options MROUTING
options QUOTA
options ACCEPT_FILTER_HTTP
options ACCEPT_FILTER_DATA
options DEVICE_POLLING
options HZ=1000
т.е. ничего сколько-либо интересного.
Ваше замечание учтем, конфиг ядра, на всякий случай, в шаблон положим.
Как пример, ядро на моем ВДС-е:
# uname -rv
9.3-RELEASE-p25 FreeBSD 9.3-RELEASE-p25 #0 r287468: Sat Sep 5 10:55:03 MSK 2015 root@xxx:/usr/obj/usr/src/sys/GENERIC
# kldstat
Id Refs Address Size Name
1 3 0xffffffff80200000 1611688 kernel
2 1 0xffffffff81a12000 121fa ipfw.ko
# mount -v /
/dev/vtbd0s1a on / (ufs, local, with quotas, soft-updates, writes: sync 76200 async 247926, reads: sync 255653 async 18764, fsid b3fbaa54536dd4b2)
[Отредактировано 23.12.2015 кто ln]
Mindkiller - 26.12.2015 в 12:09
Да вроде разобрался уже. Накосячил, конечно, я . Ибо скопировал зачем-то GENERIC
от FreeBSD 9.1 из своих домашних запасов, когда ядро пересобирал. А нужные для KVM модули включили в стандартное ядро начиная с версии 9.2.
B:>cat GENERIC | grep Virt
# VirtIO support
device virtio # Generic VirtIO bus (required)
device virtio_pci # VirtIO PCI Interface
device vtnet # VirtIO Ethernet device
device virtio_blk # VirtIO Block device
device virtio_scsi # VirtIO SCSI device
device virtio_balloon # VirtIO Memory Balloon device
Спасибо за помощь!
markella - 5.1.2018 в 12:44
А если другая версия стоит. Такой метод сработает?
Mindkiller - 5.1.2018 в 12:57
Пересобирал на днях ядро на 11 версии, оставил в конфиге параметры, отвечающие за VirtIO - всё нормально загрузилось.