前言
为了能够更快速的进行嵌入式linux驱动开发(最终目的),我直接跳过了U-Boot的移植、linux内核的移植以及根文件系统的创建等步骤。所以在这这里我直接利用系统烧写工具来烧写经修改后的NXP官方系统。下面就是对应的步骤。
step1:烧写修改好的NXP官方系统
进入目录【正点原子】阿尔法Linux开发板 系统移植和跟文件系统构建篇-程序源码\my mfgtool\my mfgtool\L4.1.15_2.0.0-ga_mfg-tools\mfgtools-with-rootfs\mfgtools
点击下面这个文件后,进行系统烧写。
烧写完之后发现一直卡在这。
然后我们在U-Boot命令行输入下面的指令:
setenv bootcmd 'mmc dev 1;fatload mmc 1:1 80800000 zImage;fatload mmc 1:1 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000'
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
saveenv
设置完成之后boot
重启,发现内核也烧写进去了。
出现Please press Enter to activate this consle.
就证明我们已经成功完成了第一步。
step2:为字符设备驱动开发做准备工作
首先我们要确保路径/home/lh/linux/nfs
目录下有跟文件系统目录rootfs
。
我们还要保证/linux/tftp
目录下要含有zImage
这个内核镜像文件以及imx6ull-alientek-emmc.dtb
设备树。
接着我们在U-Boot命令行输入下面的指令:
setenv bootcmd 'tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000'
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.5.11:/home/lh/linux/nfs/rootfs ip=192.168.5.9:192.168.5.11:192.168.5.1:255.255.255.0::eth0:off'
saveenv
特别指出输入格式:
nfsroot=虚拟机IP:根文件系统路径
ip=开发板IP:虚拟机IP:网关IP:子网掩码::eth0:off
设置完成之后,我们在U-Boot命令行输入boot
,最后获得成功。
step3:重新进行U-Boot网络设置
当然,可能有些朋友会出现下面这种情况,出现这种情况证明你的网络设置被初始化了。
我们敲入下面代码:
setenv ipaddr 192.168.5.9
setenv ethaddr b8:ae:1d:01:00:00
setenv gatewayip 192.168.5.1
setenv netmask 255.255.255.0
setenv serverip 192.168.5.11
saveenv
这个要根据每个人网络配置进行设置,这一部分比较简单,在此略过。