Кросс-компиляция FreeBSD


Кросс-компиляция (cross-building) не означает, что вам придется переделывать свой сервер. Операционная система FreeBSD может работать на самых разных аппаратных платформах, таких как i386, amd64 и т. д. Вы можете собрать версию FreeBSD для любой из этих машин на той машине, которая у вас имеется. Например, у меня есть допотопная рабочая станция Sparc (любезно предоставленная Дэвидом О’Брайеном (David O’Brien)) эпохи 1990-х. Она вполне пригодна для эксплуатации, но сборка новой системы на ней заняла бы несколько дней. Однако я могу собрать новую версию FreeBSD для архитектуры sparc64 на моей быстрой и мощной машине amd64, экспортировать каталоги /usr/obj и /usr/src через NFS (глава 8), смонтировать их на рабочей станции Sparc и выполнить обычную установку.

Чтобы выполнить кросс-компиляцию FreeBSD для другой аппаратной платформы, следует задать параметр TARGET в командной строке.

# make TARGET=sparc64 buildworld && make TARGET=sparc64 buildkernel

Все допустимые значения этого параметра перечислены в файле /usr/src/Makefile.inc1, в таблице 13.3 приведены наиболее часто используемые из них.

Таблица 13.3. Допустимые значения параметра TARGET

Значение Аппаратная платформа
amd64 64-битовые платформы AMD и Intel
arm Платформы ARM (встраиваемые системы)
i386 Классические архитектуры х86
ia64 Платформа Intel Itanium
powerpc Платформа PowerPC (Mac начала 2000-х)
sparc64 Классическая 64-битовая платформа Sparc

Эту особенность мы используем в главе 20.

Комментарии запрещены.