i.mx53开发板挂载NFS

来源:互联网 发布:矩阵内积 编辑:程序博客网 时间:2024/06/05 14:32

i.mx53开发板挂载NFS

首先在虚拟机ubuntu上安装nfs-kernel-serverportmap,然后修改一下配置文件,如下:

/etc/exports

/home/zhangshaoyan/i.mx53/nfsrootfs  *(rw,sync,no_root_squash)

重新启动服务

/etc/init.d/nfs-kernel-server restart

/etc/initd./portmap restart

配置虚拟机成桥接连接外网,Edit->VirtualNetwork Editor中设置vmnet0BridgedBridged to 物理网卡(本地连接)。

在虚拟机中将linux的系统IP设置为192.168.0.100

Win7主机的本地连接设置为192.168.0.101

在开发板的uboot下设置如下环境变量,要求内核启动时挂载NFS

Bootdelay=3

Baudrate=115200

Loadaddr=0x70800000

Netdev=eth0

Ethact=FEC0

Ipaddr=192.168.0.99

Ethaddr=00:01:02:03:04:05 (MAC地址不设置eth0会打不开的)

Bootargs=console=ttymxc0,115200root=/dev/nfs rw ip=192.168.0.99nfsroot=192.168.0.100:/home/zhangshaoyan/i.mx53/nfsrootfs,v3,tcp init=/linuxrc

Bootargs_nfs=run bootargs;mmc read 1${loadaddr} 0x800 0x1800;bootm

Bootcmd=run bootargs_nfs

这样就能挂载了。

挂载成功后在DNW显示为乱码。后来我用Windows下的超级终端就没有乱码。

Init进程会去读取/etc/inittab文件,所以我们需要配置该文件

/etc/inittab

::sysinit:/etc/init.d/rcS

::askfirst:-/bin/sh

::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount –a –r

但这样会显示

Please press Enter to activate thisconsole.

此时就必须在超级终端中按一下回车键才能激活这个终端。

但是可以将配置文件中的第二行修改为:

::respawn:-/bin/sh

就不会出现这一句了。

挂载NFS文件系统成功了。说明这个文件系统应该没有问题。下面打包将它烧进开发板的NandFlash中看一下。

nfsrootfs文件夹下所有的东东打包。

Cd nfsrootfs

Tar cvfj ../nfsrootfsmy.tar.bz2 *

在上一层目录就生成了nfsrootfsmy.tar.bz2,拷贝到win7下烧写

Cp nfsrootfsmy.tar.bz2 /mnt/hgfs/i.MX53

将这个文件拷贝到Mfgtools-Rel-11.06.00_ER_MX53_UPDATER/Profiles/MX53Linux Update/OS Firmware/files/目录下,重命名为rootfs.tar.bz2这个名字跟MFG工具ucl.xml里的必须相对应,否则烧写的时候找不到文件。

烧写时,选择MX53SMD-SD选项,并保证该目录下有u-boot-mx53-smd.bin,uImage,rootfs.tar.bz2

烧写成功后,需要修改uboot启动参数,修改如下:

Bootargs_base=setenv bootargsconsole=ttymxc0,115200

Bootargs_mmc=setenv bootargs ${bootargs}ip=192.168.0.88 root=/dev/mmcblk0p1 rootwait rw

Bootcmd_mmc=run bootargs_basebootargs_mmc;mmc read 1 ${loadaddr} 0x800 0x1800;bootm

Bootcmd=run bootcmd_mmc

挂载成功。

2.6的内核就是厉害,在/dev下我一个设备文件都没有创建,也没事。哈哈。

 

 

下面试一个这个fstab有什么用。

不配置这个文件也能挂载上文件系统,但会显示如下错误

Freeing init memory: 148K

Mount: can’t read /etc/fstab:no such fileor directory

而且我用lsprocsys下都没有东东。只有挂载上才能将内核的数据导出来。

Proc        /proc       proc        defaults   0     0

Sysfs       /sys         sysfs       defaults   0     0

还是写上比较好。

下面就要着手写驱动程序啦。

原创粉丝点击