客户改了rc.local后导致阻塞在启动界面,想保留板上数据但没留sd卡烧录口,所以引导客户在uboot阶段用nfs挂载文件系统启动(具体步骤放在后面)后在修改客户文件系统里的rc.local,客户搭建nfs服务器正常,但用uboot挂载启动时,启动到文件系统的阶段会卡住,一直报错nfs: server 192.168.0.3 not responding, still trying,然后无法启动,有时候报错一段时间会停止,然后能登陆,网上查可能是因为挂载时用udp会有这个问题,但用的命令确认了tcp。因为文件系统能启动一部分怀疑到了文件系统启动时的动作,因为服务器用的文件系统是直接解压的出厂镜像里的文件系统,在启动时会改板子网口的网络状态,导致在启动过程中板子与服务器连接断开报错,后修改文件系统里的网络配置后正常。 一、nfs服务搭建 1.Ubuntu下搭建nfs服务器方法如下: forlinx@ubuntu:~# sudo apt-get install nfs-kernel-server nfs-common portmap 创建nfs 目录并解压文件系统(以rootfs.tar.bz2 文件系统为例,当前目录为根目录) forlinx@ubuntu:~# cd / forlinx@ubuntu:/# sudo mkdir nfs_rootfs forlinx@ubuntu:/# sudo tar -xvf rootfs.tar.bz2 -C /nfs_rootfs/ 修改配置文件 forlinx@ubuntu:/# sudo vim /etc/exports 在文件中添加以下配置: /nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check) 重启配置文件和服务 forlinx@ubuntu:/# sudo exportfs -rv forlinx@ubuntu:/# sudo /etc/init.d/rpcbind restart forlinx@ubuntu:/# sudo /etc/init.d/nfs-kernel-server restart 2. 在开发板上验证nfs 服务器,执行完以下命令将nfs服务器挂载到开发板的/mnt目录 root@imx6ulevk:~# mount -t nfs4 -o vers=4 172.16.0.215:/nfs_rootfs /mnt 挂载成功后,查看/mnt目录,会看到刚才解压的文件系统 root@imx6ulevk:~# ls /mnt/ !!注:192.168.0.57 为NFS 服务器主机ubuntu的IP,ubuntu的网络需设置为桥接模式,并跟开发板在同一网段。 二、uboot阶段挂载启动 # setenv ethaddr 00:E0:0C:BC:E5:60 # setenv ipaddr 172.16.0.213 # setenv serverip 172.16.0.215 # setenv nandargs setenv bootargs 'console=ttymxc0,115200 cma=64M root=/dev/nfs rw nfsroot=172.16.0.215:/nfs_rootfs,v3,tcp ip=172.16.0.213:172.16.0.215:172.16.0.213:255.255.255.0::eth1:off' # boot 2.emmc # setenv ipaddr 172.16.0.213 # setenv serverip 172.16.0.215 # setenv netargs setenv bootargs 'console=ttymxc0,115200 cma=64M root=/dev/nfs rw nfsroot=172.16.0.215:/nfs_rootfs,v3,tcp ip=172.16.0.213:172.16.0.215:172.16.0.213:255.255.255.0::eth1:off' # run netargs # run loadfdt # run loadimage # bootz ${loadaddr} - ${fdt_addr} |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-12-29 09:03
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.