RuWeb.net Forum

Пересборка ядра FreeBSD
Mindkiller - 17.12.2015 в 21:02

Доброго дня!

Подскажите, пожалуйста, какие волшебные опции нужно добавить в ядро FreeBSD, чтобы оно загрузилось на вашем хостинге? После осмотра VDS и некоторого гугления я добавил в ядро такие параметры:

device virtio
device virtio_pci


После ребута получил следующую картину:

http://photo.sibnet.ru/upload/imggreat/14428943644318111.jpg


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 - вы должны знать, какие изменения внесены в настройки ядра, чтобы оно стартовало на вашей виртуализации.

Цитата:
1. проблема типовая, решается так https://goo.gl/LpzbxI

Я понимаю, в чём проблема. Вопрос в том, какие модули нужно вкомпилировать в ядро. А это уже нетиповая задача и зависит от того, как реализована виртуализация. Например, у дружественного вам хостинга с той же самой 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 - всё нормально загрузилось.