|
На днях купил и обустраивал новый VPS на XEN'е. Изначально в качестве OS был выбран Debian, но я не мог оставить это как есть и не попытаться заменить его на Gentoo :) . А раз Gentoo - значит, собственноручно сконфигурированное и скомпилированное ядро. Так вот, после установки оного возникла совершенно непонятная проблема.
В /dev отсутствовали устройства xvda1 и xvda2 - виртуальные диски (для основных данных и для свопа, соответственно). Ядро успешно грузилось с указанием параметра root=xvda1, а udev почему-то отказывался создавать ноды для этих устройств. При этом в /sys данные об устройствах присутствовали, но не было ссылок на них в /sys/block. Попытался обновить udev до нестабильной версии 164 - не помогло, но при сборке он выдал, что опции SYSFS_DEPRECATED и SYSFS_DEPRECATED_V2 в конфигурации ядра не должны быть установлены. В какой-то из найденных в Google страниц тоже упоминался SYSFS_DEPRECATED_V2.
Выдержки из описания этой опции:
... If the deprecated option is set to Y, the unified device tree is split into a bus device tree at /sys/devices/ and several individual class device trees at /sys/class/. ... The "block" class devices, will not show up in /sys/class/block/. Some subsystems will suppress the creation of some devices which depend on the unified device tree. ... This option is not a pure compatibility option that can be safely enabled on newer distributions. ... Since 2007/2008 all major distributions do not enable this option, and ship no tools which depend on the deprecated layout or this option. ...
В общем, страшная вещь. У меня эта опция оказался включенным из-то того, что исходно в VPS почему-то использовалось древнее (кажется, 2.6.18) ядро, конфигурацию которого я импортировал. Собственно, после ее убирания все и заработало.
|