设置ALPHA开发板通过tftp服务加载kernel与设备树文件

一.  简介

为了方便调试,开发板可以暂时设置为 从 ubuntu虚拟机下载 kernel 与设备树文件,并运行。

本文学习如何设置,设置方法具体就是更改 uboot源码中 bootcmd 与 bootargs参数。

二.  设置ALPHA开发板通过tftp服务加载kernel与设备树文件

uboot 源码:这里所使用的 uboot源码是NXP官方提供的uboot。

进入 uboot源码根目录下 include/configs/目录下,打开 mx6ull_alientek_nand.h文件。

因为我这里所使用的 ALPHA开发板是 nand-Flash版的,所以在 mx6ull_alientek_nand.h 文件中找到 nand-Flash对应的 bootcmd 参数与 bootargs参数设置。如下所示:

#if defined(CONFIG_SYS_BOOT_NAND)
#define CONFIG_EXTRA_ENV_SETTINGS \
	CONFIG_MFG_ENV_SETTINGS \
	"panel=TFT43AB\0" \
	"fdt_addr=0x83000000\0" \
	"fdt_high=0xffffffff\0"	  \
	"console=ttymxc0\0" \
	"bootargs=console=ttymxc0,115200 ubi.mtd=4 "  \
		"root=ubi0:rootfs rootfstype=ubifs "		     \
		CONFIG_BOOTARGS_CMA_SIZE \
        "mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)\0"\
	"bootcmd=nand read ${loadaddr} 0x4000000 0x800000;"\
		"nand read ${fdt_addr} 0x5000000 0x100000;"\
		"bootz ${loadaddr} - ${fdt_addr}\0"

#else
....................................

更改bootargs与 bootcmd参数的设置,同时增加 网络ip地址的设置:

#if defined(CONFIG_SYS_BOOT_NAND)
#define CONFIG_EXTRA_ENV_SETTINGS \
	CONFIG_MFG_ENV_SETTINGS \
	"panel=TFT43AB\0" \
	"fdt_addr=0x83000000\0" \
	"fdt_high=0xffffffff\0"	  \
	"console=ttymxc0\0" \
	"ipaddr=192.168.1.50\0" \
	"ethaddr=b8:ae:1d:01:00:00\0" \
	"gatewayip=192.168.1.1\0" \
	"serverip=192.168.1.66\0" \
	"netmask=255.255.255.0\0" \
	"bootargs=console=ttymxc0,115200 ubi.mtd=5 "  \
		"root=ubi0:rootfs rootfstype=ubifs "		     \
		CONFIG_BOOTARGS_CMA_SIZE \
        "mtdparts=gpmi-nand:4m(u-boot),128k(env),1m(logo),1m(dtb),8m(kernel),-(rootfs)\0"\
	"bootcmd=tftp 0x80800000 zImage;"\
		"tftp ${fdt_addr} imx6ull-alientek-nand.dtb;"\
		"bootz 0x80800000 - ${fdt_addr}\0"
#else
............................

至此,开发板从 ubuntu虚拟机下载 zImage与设备树文件已经设置好。

 

开发板重新上电后,开发板会通过 tftp服务下载 zImage与 设备树文件。

注意:可以下载的前提:ubuntu虚拟机 tftp服务相应的目录下存放了 zImage和设备树文件。

你可能感兴趣的:(系统移植篇,uboot,linux,服务器)