zoukankan      html  css  js  c++  java
  • 安防监控项目 —— 环境搭建

     

    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,(建议采用这种方式进行学习)

  • 相关阅读:
    操作系统介绍
    python 面向对象 公有属性 用在哪里
    python 类 __module__ __class__
    操作系统发展史
    python 面向对象 字典 有序字典
    python 面向对象 私有属性
    python 面向对象 类 __doc__
    saltstack 部署
    【SQL】MySQL之使用mysqlbinlog进行增量备份及恢复详解
    [SOA] Mule ESB 3.x 入门(二)—— 配置(spring, properties, log4j)
  • 原文地址:https://www.cnblogs.com/y4247464/p/12494686.html
Copyright © 2011-2022 走看看