开发板不仅可通过NFS挂载文件系统,还可以加载内核,本文基于Mini2440探索具体的实现方法。
Host:Ubuntu16.04(64bit)
Target:Mini2440
Kernel:linux-3.18.2
U-Boot:2010
我的Mini2440开发板买了已经好几年了,由于Nand Flash有了很多坏块,从而导致无法将内核与根文件系统烧写到其中。为了废物利用,今天决定大家NFS服务器,供开发板加载内核与根文件系统。
根据《Ubuntu搭建NFS服务器》搭建NFS服务器。
在U-Boot中设置启动命令如下:
setenv bootcmd nfs 0x30010000 192.168.1.100:/home/liyihai/boards/mini2440/boot/uImage\;bootm 0x30010000说明:从NFS服务器(IP地址192.168.1.100)/home/liyhai/boards/mini2440/boot目录加载uImage[2]到物理地址0x30010000,然后通过bootm 0x30010000启动内核。
注意:1)IP地址和zImage的路径,需要根据实际情况修改;
2)上面的0x30010000不要使用0x30008000,否则容易导致系统启动时崩溃。
说明:1)从IP地址为192.168.1.100的NFS服务器的/home/liyihai/boards/mini2440/rootfs目录加载根文件系统;
2)开发板IP地址为192.168.1.2,网关为192.168.1.1,子网掩码为255.255.255.0;
重启开发板,即可实现从NFS服务器中加载uImage和根文件系统。
[1]Uboot启动参数说明及nfs命令行挂载启动
[2]Linux内核镜像 —— Image,zImag与uImage