NFS环境的搭建
=============================================================================
1、Uboot中bootargs这个就是挂载网络文件系统的路径
2、修改配置文件
/etc/exports
添加:/opt/root_nfs *(rw,sync,no_root_squash) //这里的/opt/root_nfs就是根文件系统的路径,所以这里要注意和bootargs(UBOOT)的路径保持一致
3、重启服务
service nfs restart
4、将可以使用的文件系统的路径指定为 /opt/root_nfs
建议最好将文件系统的执行权限变为777
根文件系统的制作
===============================================================================
<1>busybox 这个是用来生成根文件系统的下的命令
将busybox解压在自己指定的文件目录中
编辑Makefile
vim Makefile
在大概190行,将内容改为:ARCH := arm
在大概164,将内容改为:CROSS_COMPILE := arm-linux-
编译busybox
make menuconfig
在如下选项中做修改
Linux Module Utilities --->
[*] modinfo (NEW)
[ ] Simplified modutils
[*] insmod
[*] rmmod
[ ] modprobe (NEW)
[ ] depmod (NEW)
Busybox Settings --->
Installation Options ("make install" behavior) --->
(./_install) BusyBox installation prefix
这里的Installation Options是选择busybox编译生成的文件的路径。其实也就是根文件系统挂载的路径
自己弄的时候,设定的路径: /opt/root_nfs
编译basybox文件
make busybox && make install
<2> 编译好之后,我们在刚刚指定的文件路径下,就可以看到一个已经具备指令的文件系统,
但是还要进行一些文件夹以及文件的添加。
首先:mkdir etc dev lib sys proc tmp opt mnt
<3>将ARM的库函数复制到根文件系统中的lib中cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/* lib
这个是之前安装arm-linux- 的文件
<4>创建设备文件 mknod dev/console c 5 1 这里是busybox编译生成的目录中的dev,不是根目录下的dev
<5>然后按照etc的模版(这个模板可以去网上找,或者参照其他模板也可以),添加文件
vi fstab
# device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
mkdir init.d
cd init.d
vi rcS
#!/bin/sh
mount -a
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
然后将rcS文件的权限设为执行态:chmod +x rcS
<6> cd /opt
然后将根文件系统权限设置为777 chmod 777 root_nfs
注意:1、搭建好之后,如果ping不通,可能就是防火墙没关或者桥接到无线模式。一般是没问题的
2、如果最后下载zImage,并安装出现文件系统无法同步或者文件系统出错的时候,最好检查一下虚拟机中的文件系统路径是否正确,以及开发板上的环境变量是否
设置正确。