itop4412 增加nfs 内核编译过程

来源:互联网 发布:手机短信群发软件免费 编辑:程序博客网 时间:2024/06/02 15:34

需求:为了提高测试的效率,需要使用nfs功能。但是itop4412 提供的linux内核不支持nfs,需要自行配置和编译。


基本条件:要实现nfs,要搭建服务器(PC端(我使用的是 VMware虚拟机---Ubuntu kylin 16.0.4))客户端(开发板(本人使用itop4412   pop_elite))。


服务器的搭建,参考《iTOP-4412开发板之精英版使用手册_V2.1》中的实验12,可以完成并测试是否搭建成功。(可参考以下百度文库连接1~11页)。 

https://wenku.baidu.com/view/aceafa37551810a6f42486c7.html

其中

/etc/init.d/portmap

restart

使用service rpcbind restart 替代/etc/init.d/portmap restart    


客户端的搭建

分为需要更改system.img和zImage。

system.img :

在Ubuntu下,使用以前制作的做小 linux 系统为例,通过nfs 来挂载它。(此处默认已按照itop实验指导搭建好最小linux系统)

1.修改 linux 最小文件系统的etc/init.d/ifconfig-eth0 文件.

 使用 vi 命令修改第八行,修改为:if grep -q nfs /proc/mounts ; then,修改完成后保存并退出。

2.返回到最小linux系统的文件夹 system 的同一层。

使用以下命令,将system 文件夹,打包成system.img。 

make_ext4fs -s -l 314572800 -a root -L Linux system.img system

zImage

本人开始是按照《iTOP-4412开发板之精英版使用手册_V2.1》中的实验12 进行配置nfs。其中内核的配置编译描述比较模糊,走了一些弯路。具体操作步骤,下面详细道来。

1.在虚拟机Ubuntu下,进入内核源码的目录下 iTop4412_Kernel_3.0

2.  执行以下命令(根据开发板的型号而调整红色字体),将itop的预配置配置加载到  .config   (后续执行make menuconfig 展现 .config中的配置方案)

#cp config_for_linux_pop_elite .config 

3. 执行make menuconfig 进行更改配置

#make menuconfig    

1)、配置网络部分
[*]Networking support --->
Networking options---> 
[*]TCP/IP networking
[*]IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support


2)、配置开启nfs服务
File systems --->
[*]Network File Systems --->
<*> NFS client support 
[*] NFS client support for NFS version 3 

[*] NFS client support for the NFSv3 ACL protocol extension 

[*] NFS client support for NFS version 4 (EXPERIMENTAL) 

[*] NFS client support for NFSv4.1 (DEVELOPER ONLY) 
[*] Root file system on NFS 

3)、退出保存 ,执行make (编译时间略长,大概10分钟左右,视电脑性能而定)

4)、编译完成后,进入./arch/arm/boot 可得到zImage


以上完成服务器和客户端的搭建。

##############################################################################################################################

##############################################################################################################################

使用从TF启动,将system.img、ramdisk_uboot.bin 和zImage烧录至开发板。(本人在使用fastboot 进行烧写时,出现开发板无法启动的情况,最后使用TF烧录恢复正常。)

拨动拨码开关至从TF卡启动,进入uboot模式,使用sdfuse flashall (详细操作查看itop相关文档《iTOP-4412开发板之精英版使用手册_V2.1》4.3)

进入开发板的linux的文件 系统,修改开发板的ip地址,修改成与虚拟机同一网段。开发板和pc端连接在同一路由器。

ifconfig eth010.254.1.109 netmask 255.255.255.0 up

将nfs的服务器10.254.1.108 :/home/cfan/nfs6410/ (10.254.1.108 为pc端虚拟机linux的ip地址)

mount -n -o nolock 10.254.1.108 :/home/cfan/nfs6410/ /mnt/


为了每次开发板开启时,自动挂载nfs服务器

在开发板的终端中输入 : vi /etc/init.d/rcS

在下图中的位置添加刚刚在上面用到的两条命令

ifconfig eth0 10.254.1.108 netmask 255.255.255.0 up
mount -n -o nolock 10.254.1.104:/home/cfan/nfs6410/ /mnt/



原创粉丝点击