一 编译arm内核
#make menuconfig ARCH=arm //编译内核的配置菜单
(1)把general->下的
[]initial ... // 把这项给去掉了。按n。
(2)进入file system
找到network filesystem
[*]root filesystem // 选中这项
二配置开发板uboot的环境变量
#setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.1.108:/home/S5-driver/lesson8/rootfs ip=192.168.1.107:192.168.1.108:192.168.1.1:255.255.255.0::eth0:off
//root=/dev/nfs 根文件系统,设置成nfs。
//nfsroot=192.168.1.108 :/home/S5-driver/lesson8/rootfs 这就是nfs挂载的文件位置。每个人的都不一样,看你的文件系统安装到哪里了。
//ip=192.168.1.107 这个是开发板的ip地址,后边跟的是虚拟机地址,网关,dns 。
//et0 这个是把地址赋予第一块网卡
//off 关闭动态ip分配
三 宿主机终端操作
#vim /etc/exports
添加一行/home/S5-driver/lesson8/rootfs *(rw,sync,no_root_squash)
#/etc/init.d/nfs restart 重启nfs
四 在开发板上tftp 内核。
#tftp 20000000 uImage
#bootm uImage
可以看见内核能够启动起来。ls一下可以看到,你可以在虚拟机上mkdir一个文件夹,看开发板上能否同步。不能就说明有问题,当然,内核没有根文件系统也是启动不成功的。