Волею судеб ко мне попала система на двух стареньких Xeon-ах 2.4GHz, которые, как оказалось, не поддерживают 64-х битный режим (long mode, amd64 или как его еще только не называют). С учётом того, что в систему удалось установить 8Gb оперативной памяти, такая аппаратная конфигурация более чем устраивала для работы в качестве zabbix proxy и некоторых других, менее ресурсоёмких задач.
С учётом моей большой любви к использованию ZFS возник закономерный вопрос. Как использовать ZFS, который в 9-STABLE может быть собран только в виде модуля ядра, на PAE ядре, тогда как везде написано, что модули будут собраны с неправильными опциями. Продолжительное гугление вопроса намекнуло, что в current ветке FreeBSD можно ZFS собрать прямо в ядро, а не в качестве модуля. Но почему-то не захотелось опять ставить current. Остальные обсуждения заканчивались где-то на уровне "надо попробовать", но результаты почему-то не приводились, что и сподвигло на написание этой статьи.
Что ж. Как говориться лучше один раз попробовать самому, чем прочитать сто how-to.
Берём имеющийся пример конфигурационного файла для PAE ядра, в котором запрещена сборка всех модулей, и обрабатываем его напильником, таки включая сборку необходимых для ZFS модулей:
cd /usr/src/sys/i386/conf
sed 's/NO_MODULES=yes$/MODULES_OVERRIDE="opensolaris zfs"/' PAE > ZFSPAE
Пересобираем ядро, перегружаемся и... почти всё работает. По крайней мере на момент написания статьи у системы uptime был более 53-х дней.
Из возникших проблем - после загрузки ядра почему-то перестаёт работать PS/2 клавиатура. При этом USB клавиатура работает без проблем.