安防监控项目 —— 环境搭建

 

0、基本环境概述:

 1 Gcc编译器的环境      : gcc4.6.4 
 2 Ubuntu版本         :ubuntu14.04
 3 Uboot版本          :uboot2013.01
 4 内核版本            :Kernel-linux-3.14.0
 5 nfs               :NFS(网络文件系统)为开发板和linux主机之间的通讯
 6 tftp              :tftp服务器用来实现开发板和linux主机之间文件的下载和上传
 7 硬件平台            :Cortex-A9(fs4412)、ZigBee,STM32,电脑主机(win7  x64)
 8 软件环境:
 9 Keil、Ubuntu、  
10 代码管理工具等
11 MobaXtrem、(Putty、xshell) SecureCRT、Git、 Source Insight 4.012 /*******************************************************************/
13 蓝牙环境搭建
14 WiFi环境搭建
15 ZigBee环境搭建
16 /*******************************************************************/

1、一些必要的库的安装

1 sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext  texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk subversion libz-dev       //(整个这一行所需要安装的包必须执行安装)
2 sudo apt-get update            //更新源:当包安装不成功的时候可以尝试执行
3 sudo apt-get -f install        //更新依赖:当更新源之后还是安装不成功时可以尝试
4 sudo apt-get install           //包名   

2、交叉编译环境搭建

 2.1、解压工具链压缩包  (http://gcc.gnu.org/  下载地址)

1 $ cd  ~
2 $ mkdir toolchain
3 $ cd  toolchain
4  //将下载的交叉编译工具/gcc-4.6.4.tar.xz拷贝到toolchain目录下并解压
5 $ tar  xvf  gcc-4.6.4.tar.xz   gcc-4.4.6.tar.xz  gcc-4.5.1.tar.xz

2.2、环境变量的添加

1 //修改文件/etc/bash.bashrc添加如下内容 
2 sudo vi  /etc/bash.bashrc
3 export  PATH=$PATH:/home/fengjunhui/toolchain/gcc-4.6.4/bin

2.3、重启配置文件

1 $ source  /etc/bash.bashrc

2.4、查看环境变量:

1  fengjunhui@ubuntu:~$ echo $PATH
2 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/fengjunhui:/home/fengjunhui/toolchain/gcc-4.6.4/bin

2.5、工具链的测试

1 $ arm-none-linux-gnueabi-gcc  –v
2 Using built-in specs.
3 COLLECT_GCC=arm-none-linux-gnueabi-gcc
4 最后两行:
5 Thread model: posix
6 gcc version 4.6.4 (crosstool-NG hg+default-2685dfa9de14 - tc0002) 

扩展:

1 // Ubuntu14.04 Ubuntu16.04. 64位系统的安装需要先安装如下两个包:
2     /bash/...  path/arm-none-linux-gnueabi-gcc  not fount
3     sudo apt-get install lib32z1  lib32ncurses5

3、tftp环境搭建

uImage === 内核  设备树 exynos4412-fs4412.dtb  exynos4412-origen.dtb
    uImage、设备树文件都可以通过tftp从Ubuntu所在的tftp服务器端来加载。
        板子    : 客户端
        Ubuntu    : 服务器端   C-S

1.1、检查tftp服务器是否存在: dpkg -s tftpd-hpa

1.2、未安装:sudo apt-get install tftpd-hpa tftp-hpa

           通过安装时的打印信息,来确定在etc目录下的配置文件

 1.3、修改配置文件,

 1     sudo vi /etc/default/tftpd-hpa
 2       # /etc/default/tftpd-hpa
 3       #用户名
 4       TFTP_USERNAME="tftp"
 5       #你的tftp服务器所在的路径
 6       TFTP_DIRECTORY="/home/linux/tftpboot"
 7       #tftp服务器的网关和端口号
 8       TFTP_ADDRESS="0.0.0.0:69"
 9       #tftp 文件服务器的可供选择的权限, get file put file  list file 
10       TFTP_OPTIONS="-l -c -s"  

1.4、创建tftp服务器所在的路径:

1 mkdir  /home/linux/tftpboot -p    //和配置文件的名字和路径必须保持一致
2 chmod 777  tftpboot               //修改tftp服务器文件夹的权限

1.5、重启tftp服务器:

1 linux@ubuntu:~$ sudo service tftpd-hpa restart
2         tftpd-hpa stop/waiting
3         tftpd-hpa start/running, process 6439
4 /*
5         板子启动加载内核的时候经常遇到TTTTTTT..... 
6             判断:网络不通
7                 ping不通,网络配置有关
8                 tftp服务器没有启动
9 */

1.6、本地回环测试

1 tftp  127.0.0.1
2        tftp>get main.c //下载文件从tftpboot目录下 (保证tftpboot目录下有你要下载的文件)
3        tftp>put while.c  //上传文件到tftpboot目录下  (保证当前目录有你要上传的文件)
4        tftp>q            //退出 
5       //查看当前文件目录,可以看到从tftpboot目录下载的main.c文件,打开tftpboot目录,可以看到while.c文件。

 1.7、本地回环可能遇到的问题

 1 //可能遇到的问题参考:
 2 tftp>get file
 3 Transfertimed out.
 4 //原因: tftpd服务没有启动,重启tftp服务器:sudo service tftpd-hpa restart 
 5 tftp>get file
 6 Errorcode 2: Only absolute filenames allowed
 7 //原因:在/etc/xinetd.d/tftpd中设置的server_args为/etc/default/tftpd-hpa
 8 tftp>put file
 9 Errorcode 1: File not found
10 //原因:当前目录下指定的文件file不存在;或tftpd启动参数中没有指定-c选项,允许上传文件

4、nfs环境搭建

 1 nfs:网络文件系统  /nfsroot=...             
 2     内核起来的时候,在最后会加载文件系统,(根据你的参数去加载文件系统)
 3     
 4     ramdisk  yaffs..... ext2 
 5 /****1、安装 *********************/
 6         sudo apt-get update       //更新一下源
 7         sudo apt-get -f install   //更新一下依赖
 8         sudo apt-get install nfs-kernel-server   //如果不存在,就在线下载并安装
 9 /****2、修改nfs配置文件:***********/
10         mkdir ~/source
11         cp rootfs.tar.gz .
12         tar xvf rootfs.tar.gz
13         
14         在这个目录下有这两个文件
15         linux@ubuntu:~/source$ pwd
16         /home/linux/source
17         linux@ubuntu:~/source$ ls
18         rootfs  rootfs.tar.xz
19         
20         sudo vim /etc/exports
21         添加如下内容:
22         /home/linux/source/rootfs  *(rw,sync,no_subtree_check,no_root_squash) 
23             路径==>nfs路径===>nfs又是什么?  一个路径*四个参数
24         其中:
25         /home/linux/source/rootfs:共享的目录;
26         *:不限定客户端;
27         rw:共享目录可读可写;
28         sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
29         no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
30         no_root_squash:来访的root用户保持root帐号权限;
31         
32 /*****3、重启nfs服务器*******************/
33         sudo /etc/init.d/nfs-kernel-server restart  

5、网络环境搭建

图形化配置静态IP,(建议采用这种方式进行学习)

原文地址:https://www.cnblogs.com/y4247464/p/12494686.html