>Возможно ли имея установленную на сервере FreeBSD 64bit пересобрать все и превратить
>систему во FreeBSD 32bit? Думаю да. Но удаленно делать бы этого не стал (или сначала попрактиковался бы на свободной машине/в vm). Проблемы тут выдятся две: во-первых, как собрать мир под другую архитектуру (по идее нужно что-то типа CFLAGS="-march=pentium4 -m32" и такие же CXXFLAGS) в /etc/make.conf. Не факт, что эти CFLAGS будут использованы _везде_. Вторая проблема - установка. Если installworld использует внешние утилиты, то система будет однозначно убита, потому что 32bit/64bit бинарники не могут работать с 64bit/32bit библиотеками, а при последовательном переписывании файлов это обязательно случится. Но возможно, что installworld все-таки использует свои утилиты из /usr/obj.
В общем, простор для экспериментов огромен (и, кстати, можно безопасно опробовать процесс на целевой системе, поставив 64bit систему в jail, и обновив ее целиком до 32bit в этом jail'е).
Как бы то ни было, действия на живой системе примерно таковы:
1) Для начала првоерить, что в ядре есть COMPAT_IA32, потушить и выключить в rc.conf все что можно.
Далее, есть несколько вариантов.
2) На живой системе нужно будет сделать installworld (это если проканает buildworld с указанными CFLAGS, в результате получится действительно 32bit мир без 64bit кусков и если installworld не пользуется внешними утилитами).
ЛИБО, можно смонтировать iso с 32бит фрей, и сделать ./install.sh из /mnt/cdrom/7.0-RELEASE/base. В base находится большая часть мира (т.е. библиотеки, /bin /sbin /usr/bin /usr/sbin и т.д.), и инсталлится это одним процессом tar (которому после запуска будет наплевать что происходит с библиотеками).
3) После этого (если все получится) все новые процессы будут уже 32битными (надо думать и gcc будет создавать 32битные бинарники по умолчанию). Можно спокойно пересобрать мир и ядро еще рез, чтобы наверняка (по идее, уже без -m32, хотят тут я не уверен), и перезагрузиться.
Замечу, что сам я лично это делать не пробовал - так что все что написано выше - лишь теоретические размышления. Ям много, каждая приводит систему в нерабочее состояние, поэтому правильнее всего было бы установить систему на другой раздел/на другой диск. Это можно сделать не выключая систему - либо installworld/installkernel/mergemaster из 32bit jail, либо `DESTDIR=/mnt/newroot ./install.sh` для base и kernels с CD.