本文共 2083 字,大约阅读时间需要 6 分钟。
i.mx53开发板挂载NFS
首先在虚拟机ubuntu上安装nfs-kernel-server和portmap,然后修改一下配置文件,如下:
/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中设置vmnet0为Bridged,Bridged 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
而且我用ls看proc和sys下都没有东东。只有挂载上才能将内核的数据导出来。
Proc /proc proc defaults 0 0
Sysfs /sys sysfs defaults 0 0
还是写上比较好。
下面就要着手写驱动程序啦。
转载地址:http://pjzji.baihongyu.com/