为了方便调试,开发板可以暂时设置为 从 ubuntu虚拟机下载 kernel 与设备树文件,并运行。
本文学习如何设置,设置方法具体就是更改 uboot源码中 bootcmd 与 bootargs参数。
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和设备树文件。