Linux环境搭建--软件及相关服务安装

终于到了我们的系统移植的阶段,在此过程中,我们尽可能的不深入到细节中,完成快速移植。在移植之前我们必须要先搭建好我们的环境,这样在之后的移植及开发中会快很多。

 

一.下载安装必要的软件

我们在开发linux的时候肯定有很多好用的软件来辅助我们开发,这里推荐几个个人认为比较好用的软件。

1. xmind 思维导图软件

linux庞大的体系,知识分支众多,在学习过程中很容易迷失,通过这个软件不断的总结知识,并且各个分支的重要程度及学习进度可以一目了然,对学习复杂的知识体系有很大的帮助。

 

2. BCompare 一款数据比较软件

在u-boot等移植的时候,可以进行版本对比,查看更改了哪些变动,对分析代码很有帮助。

 

3.福昕阅读器,用来查看PDF文档的

查看数据手册,原理图,pdf阅读器肯定是少不了的。在众多的pdf阅读器中,我更喜欢这一款,尤其是低版本的,感觉功能更简洁。

 

4.sketchbook  画图软件

大神们讲课都喜欢用这个软件,总结笔记,编辑图片相当好用。

 

5.source insight 源码阅读器

对linux开发的,这款软件肯定不模式,用来编辑查看源码还是非常好用的。

 

6.Mobaxterm 集串口,SSH远程登录和FTP传输三合一工具

韦老师推荐的开发工具,实际体验很好,推荐。(详细查看韦老师的博客)

https://blog.csdn.net/thisway_diy/article/details/78400433?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159171094519195162550270%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=159171094519195162550270&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v1~rank_blog_v1-1-78400433.pc_v1_rank_blog_v1&utm_term=Mobaxterm

 

7.虚拟机推荐VMware

 

二.虚拟机内环境搭建

1.安装好虚拟机后,安装指定版本的linux系统

2.网络设置

系统安装好了,那么我们肯定要联网,主要就是NET方法和桥接的方法。

为了之后我们windows,linux,和开发板三方互通,我们推荐使用桥接模式。为了之后远程登陆方便,要固定一下IP详细的配置方法,可以查看韦老师的博客:

https://blog.csdn.net/thisway_diy/article/details/79207234

 

3.设置共享文件夹

在linux开发中,我们经常要在windows下编辑文件,但是直接拖拽,风险较大,那么设置共享文件夹是一个非常好的方式。

操作过程:

搭建工程路径:    ubuntu和windows之间的桥梁

3.1、利用sourceinsight创建linux-3.14的内核源码工程

注:在共享目录下的源码:只用于写驱动的时候追代码和写代码

3.2、在 E:\KernelSource\linux-3.14下创建自己编译驱动的目录 mydrivers,里面是你后期写的驱动

3.3、Ubuntu下添加一个新的共享文件夹路径 E:\KernelSource (目录下是sourceinsight创建的linux-3.14的工程)

Ubuntu-->右键设置--->选项--->共享文件夹--->选择你sourceinsight创建的linux-3.14的源码路径--->添加为共享文件夹

Linux环境搭建--软件及相关服务安装

3.4、进入Ubuntu,创建软连接:

              cd  + 回车

              ln -s /mnt/hgfs/linux-3.14/mydrivers    mydrivers

3.5、查看路径:

       cd  + 回车

cd  mydrivers 

直接就可以进入到你windows下的自己写的驱动所对应的路径

3.6、测试:

在Windows下的E:\KernelSource\linux-3.14\mydrivers目录下写一个test.c,内容如下:

#include<stdio.h>

int main(int argc, const char *argv[])

{

    printf("helloworld .\n");

    return 0;

}

然后在linux下,

cd mydrivers

进去这个目录就可以看到test.c 然后编译打印输出,查看测试结果:

gcc test.c

./a.out

 

4.安装指定的ARM GCC交叉编译工具链,并修改path变量。

想要编译出适合我们板卡的固件,arm gcc工具链是必须的,而且版本一定要对应好,不然会出很多的报错。

$ tar  xvf  gcc-4.6.4.tar.xz

$ sudo vim /etc/bash.bashrc    添加交叉编译工具链的路径到系统脚本

在末尾添加(这种是永久的方式)

export PATH=xxx/gcc-4.6.4/bin:$PATH  (xxx是gcc-4.6.4解压后所在目录)

$arm-n 按Tab键能补全说明安装成功

 

5.安装telnet服务,tftp服务  NFS网络文件系统服务(板子和虚拟机中都要启动)

ping来判断linux与板卡网络是否联通

telnet远程登陆

tftp加载内核,nfs 挂载根文件系统

 

5.1tftp服务安装

1.$sudo apt-get install tftpd-hpa    //检查是否安装tftp server
2.$ sudo apt-get  install  tftpd-hpa tftp-hpa //如果未安装,安装 tftp-server
3.$ sudo vi /etc/default/tftpd-hpa  //修改tftp服务器配置文件为
                TFTP_USERNAME="tftp"
                TFTP_DIRECTORY="/tftpboot"
                TFTP_ADDRESS="0.0.0.0:69"
                TFTP_OPTIONS="-l  -c  -s"
4.$ mkdir  /tftpboot   //创建tftpboot目录,
5.$ sudo chmod  a+w  /tftpboot
6.$ sudo service   tftpd-hpa   restart      //启动 tftp-server    
                       
//-----验证虚拟机tftp服务是否OK
7.$ sudo cat /etc/default/tftpd-hpa     
            TFTP_USERNAME="tftp"
            TFTP_DIRECTORY="/tftpboot"
            TFTP_ADDRESS="0.0.0.0:69"
            TFTP_OPTIONS="-l -c -s"
8.$ sudo service   tftpd-hpa   restart    //如果有更改配置,需要重启一下 tftp-server
9.$ cd /tftpboot
10.$ touch test
11.$ cd /tmp
12.$ tftp 127.0.0.1    
   tftp>get test  
   tftp>q
13.$ ls       //看到有test文件,表示该tftp服务是OK的      

                                                   

 注:如果不行尝试关闭防火墙ufw disable,重启虚拟机

 

5.2 nfs服务安装

    1.$ service nfs-kernel-server  /*检查nfs服务是否安装

                如果显示下面信息, 表示有安装

                  * Usage: nfs-kernel-server {start|stop|status|reload|force-reload|restart} 

                如果没有,需安装

                   #sudo apt-get install nfs-kernel-server

               

    2.$ sudo vi /etc/exports  /*修改配置文件,指定共享目录位置

     在末尾追加(一定要在末尾

       /nfs/rootfs  *(rw,sync,no_root_squash) 

               

   3. $ sudo mkdir /nfs

   4.$ sudo chmod 777 /nfs

   5.$ cd /nfs

   6.$ 拷贝/rootfs.tar.xz已制作好的根文件系统到 /nfs 目录下  

   7. $ tar -xvf  rootfs.tar.xz

   8. $ sudo chmod 777 rootfs     

   9. $ sudo /etc/init.d/nfs-kernel-server restart  //重启nfs服务(使得前面修改生效)        

  10. $ sudo mount -t nfs localhost:/nfs/rootfs/  /mnt/  //测试nfs服务是否安装成功。

  11.  $ ls /mnt/  /*如果其中的内容和/nfs/rootfs中一致。 表示有挂载成功

          如显示下面内容,表示成功

             bin  dev  etc  lib  linuxrc  mnt  proc  root  sbin  sys  tmp  usr  var

   12.  $ sudo umount /mnt