itop4412 增加nfs 内核编译过程

需求:为了提高测试的效率,需要使用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/



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
itop4412上移植SSH,你可以按照以下步骤进行操作: 1. 首先,将SSH源代码拷贝到itop4412的开发环境中。你可以使用SCP命令将源代码从本地计算机复制到itop4412上的指定目录。例如,将源代码复制到itop4412的`/home/project/ssh-arm/openssh-4.6p1`目录下: ```shell scp /path/to/openssh-4.6p1.tar.gz root@itop4412:/home/project/ssh-arm/ ``` 2. 解压源代码文件。在itop4412上的开发环境中,使用以下命令解压源代码文件: ```shell tar -zxvf openssh-4.6p1.tar.gz ``` 3. 进入解压后的源代码目录: ```shell cd openssh-4.6p1 ``` 4. 配置编译选项。运行以下命令以配置SSH的编译选项: ```shell ./configure --host=arm-linux-gnueabihf --prefix=/usr/local/ssh ``` 这里的`--host`选项指定了目标平台为arm-linux-gnueabihf,`--prefix`选项指定了安装目录为`/usr/local/ssh`。 5. 编译源代码。运行以下命令以编译SSH源代码: ```shell make ``` 6. 安装SSH。运行以下命令以将编译后的SSH安装到指定目录: ```shell make install ``` 这将把SSH安装到`/usr/local/ssh`目录下。 7. 配置SSH服务器。在itop4412上的开发环境中,编辑SSH服务器的配置文件`/usr/local/ssh/etc/sshd_config`,根据你的需求进行配置。 8. 启动SSH服务器。运行以下命令以启动SSH服务器: ```shell /usr/local/ssh/sbin/sshd ``` 现在,你已经成功在itop4412上移植了SSH,并启动了SSH服务器。你可以使用SSH客户端连接到itop4412并进行远程操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值