Linux开发环境搭建04---Ubuntu14.04中基本开发环境配置

来源:互联网 发布:大数据技术起源行业 编辑:程序博客网 时间:2024/05/21 15:02

一、Linux下常用服务软件的安装

  主要包括:TFTP服务、NFS服务 、SSH服务、FTP服务

 

(一)安装TFTP

TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。

TFTP 允许仅单向传输的文件。

在嵌入式开发环境搭建中TFTP一般用于局域网络加载Linux内核映像。当然在Windows上也有相应的TFTP服务器软件,例如:Tftpd32等;下面讲述Linux下的TFTP服务器软件安装。

(1) 安装

$ sudo apt-get install tftpd-hpa tftp-hpa

说明:tftp-hpa是client,tftpd-hpa是server

(2) 配置

tftp-hpa 的配置文件为/etc/default/tftpd-hpa

$ sudo gedit /etc/default/tftpd-hpa

打开文件后修改如下:

*********************************************************************

         #/etc/default/tftpd-hpa

         TFTP_USERNAME="tftp"

         TFTP_DIRECTORY="/home/tftpboot"//这里是你的tftpd-hpa 的服务目录

         TFTP_ADDRESS="0.0.0.0:69"

         TFTP_OPTIONS="-l-c -s" //这里是选项

*********************************************************************

(3) 配置权限

$ sudo chmod 777 /home/ tftpboot

//这里就配置为drwxrwxrwx   2 root root 4096  3月 16 09:36tftpboot

        

(4)重启tftp 服务或者reboot 系统即可。

$ sudo service tftpd-hpa restart

 

 

(二)安装NFS

         NFS(Network FileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

   NFS可以提高嵌入式应用软件开发调试的效率,避免了重复拷贝应用程序到嵌入式开发板的过程。

(1) 安装nfs 软件

         $sudoapt-get install nfs-kernel-server nfs-common

(2) 修改nfs目录权限

         $sudochmod 777 /home/nfs_root

        

(3)配置

         修改/etc/exports文件

         $sudo gedit /etc/exports

         加入以下内容:

         /home/nfs_root*(rw,sync,no_root_squash,no_subtree_check)

         或则

         /home/nfs_root*(insecure,rw,sync,no_root_squash,no_subtree_check)

         (4)重新启动nfs 服务或者重启ubuntu 即可。

         $sudo /etc/init.d/nfs-kernel-server restart

        

注意:为了保证我们的挂载配置正确,最好

 

A、本地挂载一下,验证NFS是否设置正确

$sudo mount -t nfs 127.0.0.1:/home/nfs_root/mnt

若此处挂载不上可能原因:

a、NFS的配置不正确

b、NFS未启动

c、NFS的挂载目录权限问题(此处可以不用修改,因为在/etc/exports中已设置参数no_root_squash)

 chmod 777 /home/nfs_root/

 chmod 777 /home/

 

$sudo umount /mnt/nfs

 

B、修改NFS的挂载目录的文件拥有者和文件所属组,因为刚考过来的文件可能文件的拥有者出现问题

 

root@yyl-VM:/home/nfs_root# chown yyl:yyl./nfs_root/ -R

其中,/fs_root/是开发板文件系统的根目录

 

 

 (三)SSH服务(22端口)

    SSH 为 Secure Shell 的缩写,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

通过在Ubuntu14.04中安装SSH服务,我们可以使用支持SSH协议的软件在Windows或Linux上对虚拟机进行远程Shell访问。Windows上的SSH软件客户端一般使用SercureCRT、Putty等。

(1)安装

         $sudoapt-get update

         $sudoapt-get install openssh-server

 

(2)查看ssh服务是否启动

         打开"终端窗口",输入"sudops -e |grep ssh"-->回车-->有sshd,说明ssh服务已经启动,如果没有启动,

         输入"sudoservice ssh start"-->回车-->ssh服务就会启动。

(3)配置

使用gedit修改配置文件" gedit /etc/ssh/sshd_config"

         打开"终端窗口",输入"sudogedit /etc/ssh/sshd_config"-->回车-->把配置文件中的"PermitRootLoginwithout-password"

         加一个"#"号,把它注释掉-->再增加一句"PermitRootLoginyes"-->保存,修改成功。

 

 

 

 (四)FTP服务(21端口)

FTP服务器(FileTransfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

通过在Linux中安装FTP服务器,我们可以在Windows安装FTP客户端进行Windows与Linux之间进行文件传输。Windows中的客户端一般使用CuteFTP,FileZilla等。

(1)安装

         $sudoapt-get update

         $sudoapt-get install vsftpd

(2)配置

         修改vsftpd的配置文件:  

         $sudogedit /etc/vsftpd.conf

        

         将下面几行前面的#去掉

         #local_enable= YES      //是否允许本地用户登录  

         #write_enable= YES                                    //是否允许上传文件

        

(3)验证

         重启ftp服务 :

         $sudoservice vsftpd restart

         用cuteFTP若不行,则重新启动虚拟机

        

 

 (五)安装中文pinyin

 

 Text entry------中文入口中添加   English(US)chinese  chinese(pinyin) 

  

  注意设置快捷键 选项

 

 

二、交叉编译器的安装与配置

无论是上层软件应用开发还是嵌入式软件开发,都需要在Linux环境下设置编译器。编译器一般有两种获取方式,一种是自己编译编译器;另一种是使用第三方软件开发商提供的编译器,以后一种居多;下面主要讲述如何在Linux中配置第三方软件编译器。

 

1、  获取软件编译所用的编译器

网上有很多资源;

例如:arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

或arm-Linux-gcc-4.3.3

 

2、解压并复制编译器到安装目录

  (1)解压 sudo tarzxvf arm-linux-gcc-4.4.3.tar.gz -C/    (实际上是在根目录下建立文件夹opt)

  (2)建立目录

     sudo mkdir /usr/local/arm

  (3)复制文件

     sudo cp -r/opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm

3、添加环境变量

网上很多修改环境变量的方法,很杂。有redhat上面的,fedora。下面一共三种方法,有人都在ubuntu14.04.03上试过,可行。(本人只用了第一种方法做过,其他的没有试过)

 

方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)

            $sudo gedit /etc/bash.bashrc

在最后加上

**********************************************************************

            exportPATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin

            exportPATH=$PATH:/usr/local/arm/4.4.3/bin

***********************************************************************

 

(路径)(注意等号那边不要有空格)

 

 

 

方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用)【对所有用户生效(永久的)】

$sudogedit /etc/profile

增加路径设置,在末尾添加如下:

*********************************************************************

exportPATH=$PATH:/usr/local/arm/4.4.3/bin

*********************************************************************

 

 

Note:在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

例如:编辑/etc/profile文件,添加CLASSPATH变量

# vi/etc/profile

exportCLASSPATH=./Java_HOME/lib;$JAVA_HOME/jre/lib

 

修改文件后要想马上生效还要运行#source /etc/profile不然只能在下次重进此用户时生效。

 

方法三:修改/etc/environment文件

$sudogedit /etc/environment

原文件应为

*********************************************************************

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“

*********************************************************************

将其改为

*********************************************************************

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin"

*********************************************************************

 

方法四:直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

 

 

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

关于环境变量问题:

环境变量是什么?例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

如果上面不加入环境变量,要运行arm-linux-gcc这个程序,则每次都要把arm-linux-gcc的完整路径写出来。

/usr/local/arm/4.4.3/binarm-linux-gcc文件名 -o 输出文件名这样非常的麻烦,所以加到path里面,让电脑知道这个程序在哪里。

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

 

 

4.注册环境变量(使设置的环境变量)

  立即使新的环境变量生效,不用重启电脑,对应步骤5也有3种方法

  方法一:source/etc/bash.bashrc

  方法二:source/etc/profile

  方法三:立即生效

检查环境变量是否设置好。

 $echo $PATH

输出:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/FriendlyARM/toolschain/4.4.3/bin:/usr/local/arm/4.4.3/bin:/opt/FriendlyARM/toolschain/4.4.3/bin:/usr/local/arm/4.4.3/bin

 

5、验证:arm-linux-gcc-v ,我的显示如下:

Usingbuilt-in specs.

Target:arm-none-linux-gnueabi

Configuredwith: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure--build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu--target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3--with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root--enable-languages=c,c++ --disable-multilib --with-arch=armv4t--with-cpu=arm920t --with-tune=arm920t --with-float=soft--with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit--with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3--with-ppl=/opt/FriendlyARM/toolschain/4.4.3--with-cloog=/opt/FriendlyARM/toolschain/4.4.3--with-mpc=/opt/FriendlyARM/toolschain/4.4.3--with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root--disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99--enable-long-long --enable-target-optspace

Threadmodel: posix

gccversion 4.4.3 (ctng-1.6.1)

 

 

学习:1、bin文件中一般存放的都是可执行的文件,

      2、注意学习chown   chmod 命令的基本用法和作用

      3、学会看懂和修改文件的属性介绍 

      4、/etc/profile中的文件属于系统级别的环境变量,设置在里面的东西(配置信息)对所有用户适用

 

PS:有些人在做项目时用到不同的交叉编译器,那我们可以切换编译器;因为编译器的调用都是靠环境变量来选择的,所以我们只修改环境变量即可。

 

 

原创粉丝点击