安装NFS服务,在minicom下烧写文件系统

安装NFS

在ubuntu上默认没有安装NFS服务器,因此先安装:

->apt-get install nfs-kernel-server
->apt-get install nfs-common
NFS服务程序和客户端程序安装完成配置portmap:
dpkg-reconfigure portmap
对Should portmap be bound to the loopback address?选N

配置:/etc/hosts.deny(禁止任何主机能和你的NFS服务器进行连接),加入:
### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

配置/etc/hosts.allow
允许那些你想要的主机和你的NFS服务器建立连接。下列步骤将允许任何IP地址以192.168.1.开头的主机(连接到NFS服务器上),也可以指定特定的IP地址。
### NFS DAEMONS
portmap: 192.168.1.*
lockd: 192.168.1.*
rquotad: 192.168.1.*mountd: 192.168.1.*
statd: 192.168.1.*
有了/etc/hosts.deny和/etc/hosts.allow就可以指定用户访问了
/etc/init.d/portmap restart 重启portmap daemon

修改/etc/exports文件:vi /etc/exports 
将下面一行加入到该文件中: 
/working/rootfs *(rw,sync,no_root_squash) 
这里目录/working/ 应该包含解压缩后的rootdisk文件。然后运行以下命令: 
%exportfs -rv 
/etc/init.d/nfs-kernel-server restart 重启nfs服务
测试NFS:
可以尝试一下挂载本地磁盘(假设本地主机IP地址为:192.168.1.100, 将/working t挂载到/mnt)
#mount 192.168.1.100/f/working  /mnt
运行#df 看看结果
用以下命令# umount /mnt
卸载

烧写文件系统(烧写文件系统必须用交叉网线连接主机和MDK(连接debug板子上的网口))【我用的是辰汉的IMX27的板子】
重新启动MDK将会在HyperTerminal中看到如下信息: 
Linux 2.6 Freescale MXC processor 
 
Choose an option from below: 
 
1. Load kernel to RAM and then boot from [0x80008000] 
2. Change kernel loading address [0x80008000] 
3. Enter command line option for kernel 
选择3. 
输入以下命令行并回车:
  noinitrd console=ttymxc0 root=/dev/nfsroot rootfstpye=nfsroot nfsroot=192.168.1.100:/working/rootfs rw ip=192.168.1.88

 

这个命令要注意两个地方:一是ttymxc0不能写错,它不同于minicom设置的ttyS0;二是ip地址设定为固定192.168.1.88(与主机同段),否则无法连接;

 

回车之后,会再次出现

Linux 2.6 Freescale MXC processor 
 
Choose an option from below: 
 
1. Load kernel to RAM and then boot from [0x80008000] 
2. Change kernel loading address [0x80008000] 
3. Enter command line option for kernel 
选择1启动kernel, 启动过程中系统会用NFS来挂载文件系统.
 
使用NFS启动MDK之后再将YAFFS2文件系统烧写到MDK Nand Flash中。当YAFFS2被烧写到NAND Flash中去后MDK就可以不需要连接到网络(NFS Server)也可以启动了,烧写步骤如下:
  1. 在MDK板上运行以下命令:
%flash_eraseall /dev/mtd/2 
%mkdir /mnt/yaffs 
%mount -t yaffs2 /dev/mtdblock/2 /mnt/yaffs/ 
2. 在Linux PC上运行如下命令,其中$ROOTFS_DIR是Linux PC上挂载到MDK上的rootfs所在的目录:  
%mkdir $ROOTFS_DIR/download 
%cd $ROOTFS_DIR/download 
%cp ~/mx27-mdk-rootfs.tgz .
3. 在MDK上运行以下命令:  
%cd /download 
%tar -zxvf mx27-mdk-rootfs.tgz -C /mnt/yaffs/ 
%cd /mnt/yaffs/ 
%mv rootfs/* ./ 
%rmdir rootfs

4. Reset MDK,等待几秒钟让kernel以默认command line启动。此时kernel会以YAFFS2来挂载根文件系统