Для других архитектур
Если ваш процессор ARM9, хорошие варианты: триплет из
arm-linux-musleabi
, архитектура —armv5t
и поддержка плавающей запятой —soft
. ARM9-процессоры обычно не имеют аппаратных возможностей работы с плавающей запятой.
Для сборки кросс-компилятора вам нужно задать несколько переменных, которые будут зависеть от того, для какого оборудования вы хотите собрать LFA. Вам нужно выбрать триплет для целевой архитектуры, архитектуру процессора и т.д. Для выбора нужных значений пользуйтесь приведёнными на данной странице таблицами.
Если ваш целевой процессор имеет аппаратную поддержку плавающей запятой, то установите переменную LFA_FLOAT
в значение hard
или softfp
. Используйте softfp
, если в будущем вы будете использовать в собранной системе ещё и программы, скомпилированные с помощью soft
. В противном случае используйте hard
. Если ваш целевой процессор не поддерживает плавающую запятую, используйте в качестве значения LFA_FLOAT
soft
:
export LFA_FLOAT="[hard, soft или softfp]"
Если вы выбрали hard
или softfp
для LFA_FLOAT
, то теперь вам нужно установить, какое оборудование для работы с плавающей запятой используется в целевом процессоре (согласно таблице ниже):
export LFA_FPU="одно из значений из таблицы ниже"
FPU | FPU | FPU | FPU |
---|---|---|---|
fpa | fpe2 | fpe3 | maverick |
vfp | vfpv3 | vfpv3-fp16 | vfpv3-d16 |
vfpv3-d16-fp16 | vfpv3xd | vfpv3xd-fp16 | neon |
neon-fp16 | vfpv4 | vfpv4-d16 | fpv4-sp-d16 |
neon-vfpv4 |
Установите триплеты для хоста и целевой машины:
export LFA_HOST=$(echo ${MACHTYPE} | sed "s/-[^-]*/-cross/")
export LFA_TGT="триплет для целевой машины"
Значение $LFA_FLOAT | Триплет |
---|---|
soft или softfp | arm-linux-musleabi |
hard | arm-linux-musleabihf |
Выберите архитектуру, для которой будете собирать систему:
export LFA_ARCH="архитектура"
ARCH | ARCH | ARCH | ARCH |
---|---|---|---|
armv4t | armv5t | armv5te | armv6 |
armv6j | armv6k | armv6kz | armv6t2 |
armv6z | armv6-m | armv7 | armv7-a |
armv7-r | armv7-m | armv9-a | armv9 |
Запишите эти переменные в ~/.bashrc
, чтобы не вводить их значения каждый раз после входа от имени пользователя lfa
:
cat >> ~/.bashrc << EOF
export LFA_HOST="$LFA_HOST"
export LFA_TGT="$LFA_TGT"
export LFA_ARCH="$LFA_ARCH"
export LFA_FLOAT="$LFA_FLOAT"
export LFA_FPU="$LFA_FPU"
EOF