为了在exynos 4412平台上运行系统,选择了Linux来测试,因为只是用来测试的,所以并没有完整功能的移植,只要能启动就可以了。兼顾方便和先进性,选择了4.1这个长期支持版本。从清华的源上下载速度比较快。
	因为选择的是uboot启动,执行:
	$ make exynos_defconfig
	$ make uImage
	注:如果找不到mkimage工具,在uboot根目录tools目录下有,放到/usr/local/bin即可。
	编译的时候竟然报错了:
	multiple (or no) load addresses: 
	This is incompatible with uImages
	Specify LOADADDR on the commandline to build an uImage
	这个log是在arch/arm/boot/Makefile中打印的。相关代码如下:
	check_for_multiple_loadaddr = \
	if [ $(words $(UIMAGE_LOADADDR)) -ne 1 ]; then \
	echo 'multiple (or no) load addresses: $(UIMAGE_LOADADDR)'; \
	echo 'This is incompatible with uImages'; \
	echo 'Specify LOADADDR on the commandline to build an uImage'; \
	false; \
	fi
	而UIMAGE_LOADADDR的定义则为:
	ifneq ($(LOADADDR),)
	UIMAGE_LOADADDR=$(LOADADDR)
	else
	ifeq ($(CONFIG_ZBOOT_ROM),y)
	UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
	else
	UIMAGE_LOADADDR=$(ZRELADDR)
	endif
	endif
	经过一系列的检查,发现LOADADDR为空,而ZRELADDR又是和MACHINE变量有关,在exynos_defconfig后会选择MULTIPLATFORM,使得MACHINE为空。现在直接在这个Makefile中添加了:
	LOADADDR := 0x40007000

