设置好工具链的PATH
下载官方内核,覆盖LSP之后,make armada_xp_defconfig 却提示找不到
修改linux的Makefile
ARCH ?= arm
CROSS_COMPILE ?= arm-marvell-linux-gnueabi-
或者是设置环境变量:
export PATH=`pwd`/armv7-marvell-linux-gnueabi-softfp/bin/:$PATH
export ARCH=arm
export CROSS_COMPILE=arm-marvell-linux-gnueabi-
为啥这样做呢?linux的Makefile那边有具体的说明:
# Cross compiling and selecting different set of gcc/bin-utils
# ---------------------------------------------------------------------------
#
# When performing cross compilation for other architectures ARCH shall be set
# to the target architecture. (See arch/* for the possibilities).
# ARCH can be set during invocation of make:
# make ARCH=ia64
# Another way is to have ARCH set in the environment.
# The default ARCH is the host where make is executed.
# CROSS_COMPILE specify the prefix used for all executables used
# during compilation. Only gcc and related bin-utils executables
# are prefixed with $(CROSS_COMPILE).
# CROSS_COMPILE can be set on the command line
# make CROSS_COMPILE=ia64-linux-
# Alternatively CROSS_COMPILE can be set in the environment.
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
这样设置之后make help就可以看到:
armada_xp_defconfig - Build for armada_xp
armada_xp_fpga_a0_defconfig - Build for armada_xp_fpga_a0
armada_xp_nas_defconfig - Build for armada_xp_nas
armada_xp_v6smp_defconfig - Build for armada_xp_v6smp
armada_xp_z1_defconfig - Build for armada_xp_z1
然后
make armada_xp_defconfig
make menuconfig
make uImage
就能编译了。