mini2440从nfs启动
以下基于ubuntu14.04 64bit操作系统实现。
一、烧写u-boot.bin
图1 配置文件
1、修改如图所示mini2440.h文件。CONFIG_BOOTCOMMAND用于启动内核。地址要大于30008000,否则可能启动不成功。
#define CONFIG_BOOTCOMMAND "nfs 0x30008040 192.168.3.52:/home/lu/images/linux/zImage.img;bootm"
2、修改CONFIG_BOOTARGS配置nfs共享目录,其中root为开发板挂载的的根文件系统的目录地址,nfsroot为根文件系统所在目录。
#define CONFIG_BOOTARGS "noinitrd root=/dev/nfs rw nfsroot=192.168.3.52:/home/lu/images/linux/rootfs,v2 ip=192.168.3.25:192.168.3.52::255.255.255.0::eth0::off console=ttySAC0,115200 init=/linuxrc mem=64M"
其中192.168.3.25为开发板地址,192.168.3.52为服务器地址。
要注意把根文件系统解压存放到nfsroot指定的目录,即:/home/lu/images/linux/rootfs路径中的rootfs目录,大家可以根据自己的文件路径更改。
,解压的根文件为FriendlyARM-2440-DVD提供的rootfs_qtopia_qt4-20141223.tar.gz。
3、使用NFS共享文件夹的意义就是相当于开发板使用使用该目录作为自己的根文件系统目录。(大家可以把网线拔掉就可以看到此时启动的开发板不工作了。)
修改完成后,重新编译u-boot文件,使用jflash烧写至nor flash中。开机就可以直接工作。
图2 根文件系统
4、按照《Mini2440 之U-boot 使用及移植详细手册》操作实现从nfs启动。ubuntu操作系统有自带的nfs服务器实现替代,可以根据手册进行设置。如没有则安装nfs服务器。
然后使用vi /etc/exports改写nfs服务器配置文件,增加images目录作为共享目录,里面存放内核和根文件系统。
/home/lu/images 192.168.3.52/24(rw,nohide,insecure,no_wdelay,no_root_squash,no_subtree_check,sync)