TQ2440/MINI2440挂载NFS根文件系统教程
事先声明:
Linux ip为192.168.100.224
开发板ip为 192.168.100.228
Vmware选择NAT方式,linux系统里面的网卡eth0选择静态设置IP
IP:192.168.100.224
MASK:255.255.255.0
GATEWAY:192.168.100.226
根文件系统的绝对目录为:/opt/EmbedSky/root_nfs
默认的tftp服务器已经启动运行。
(1)Linux服务器端NFS服务器的配置
#gedit /etc/exports 在其文件中加入以下
/opt/EmbedSky/root_nfs 192.168.100.*(rw,sync,no_root_squash)
保存退出
#/etc/init.d/nfs restart
(2)编译内核(linux2.6.30.5)
#vi .config
修改如下:
CMDLINE=”root=/dev/nfs nfsroot=192.168.100.224:/opt/EmbedSky/root_nfs ip=192.168.100.228 rw console=ttySAC0 mem=64M”
保存退出
#make menuconfig
注意勾选上以下文件系统
Filesystems->
[*]Network File Systems->
[*]NFS Client support
[*]NFS Client support for NFS V3
#make uImage
内核编译完成后将uImage复制到tftp服务器目录下:
#cp arch/arm/boot/uImage /tftpboot/
(3)修改uboot,并重新编译
修改include/configs/dong2440.h(即是自己开发板对应的头文件) 修改如下()
#define CONFIG_BOOTARGS “console=ttySAC0 root=/dev/nfs nfsroot=192.168.100.224:/opt/EmbedSky/root_nfs
ip=192.168.100.228:192.168.100.224:192.168.100.228:255.255.255.0:sky2440.embedsky.net:eth0:off”
#define CONFIG_ETHADDR 08:00:3e:26:0a:5b
#define CONFIG_NETMASK 255.255.255.0
#define CONFIG_IPADDR 192.168.100.228
#define CONFIG_SERVERIP 192.168.100.224
#define CONFIG_BOOTFILE "elinos-lart"
#define CONFIG_BOOTCOMMAND "tftp 30000000 uImage \; bootm 30000000"
(4)先将uboot镜像uboot.bin烧入NAND FLASH,然后连接网线,复位开发板,uboot启动后自动下载tftp服务器目录/tftpboot下的内核uImage到以0x30000000为起始的内存空间,内核启动后会通过NFS服务器挂载根文系统。