make ARCH=arm
будет указывать, что это предназначенная сборка для архитектуры ARM, поскольку вы выполняете кросс-компиляцию в системе без ARM. CROSS_COMPILE
указывает имя для добавления к инструментам, чтобы правильные инструменты использовались для создания ваших результирующих объектных файлов и двоичных файлов.
ARCH=arm
на самом деле является локальной переменной среды (из-за отсутствия официального термина) - вы могли бы установить ее как переменную среды. То же самое с CROSS_COMPILE
export ARCH=arm
export CROSS_COMPILE="..."
make -j4 zImage
Хотя, если вы это сделаете, вы можете повлиять на вашу среду для всех make
выполненных команд.
edit Единственный ресурс, который, казалось, пригодился для объяснения этих двух флагов в любой степени, поскольку все остальные в основном говорят копировать то, что они делают, не объясняя это полностью: