搭建嵌入式Linux开发环境

CSDN仅用于增加百度收录权重,排版未优化,日常不维护。请访问:www.hceng.cn 查看、评论。
本博文对应地址: https://hceng.cn/2017/03/23/搭建嵌入式Linux开发环境/#more
本文主要记录在搭建嵌入式Linux开发环境过程中的.


所需材料:


1.安装Ubuntu-16.04.1

  • 打开安装好的虚拟机,选择创建新的虚拟机:

  • 选择典型配置:

  • 选择浏览找到ubuntu-16.04.1-desktop-amd64.iso并选中:

  • 填入用户名、密码(本机密码:123456):

  • 设置虚拟机名称和保存路径:

  • 设置虚拟机最大容量(60G差不多了):

  • 在弹出的向导中选择自定义硬件,设置内存、CPU、网络:



  • 等待一会后,安装完毕,输入之前设置的密码进入系统:

  • 点左上角的Ubuntu搜索图标,,输入t,将出现的Terminal控制台:


2.安装、配置必要软件

**2.1检查虚拟机网络设置 **

  • 打开编辑->虚拟网络编辑器:

  • 更改设置:

  • 检查这三个配置:

输入ifconfig查看网络配置,再ping www.baidu.com测试:

2.2修改软件源

  • 首先备份原来的文件:
    {% codeblock lang:shell %}
    $ sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
    {% endcodeblock %}
  • 用vi编辑器打开编辑:
    {% codeblock lang:shell %}
    $ sudo vi /etc/apt/sources.list
    {% endcodeblock %}
  • 删掉文件中的所有内容,替换为以下文本:
    {% codeblock lang:shell %}

deb cdrom:[Ubuntu 16.04 LTS Xenial Xerus - Release amd64 (20160420.1)]/ xenial main restricted

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
{% endcodeblock %}

注:

  1. 此时vi是不完全版的,很难用,编辑模式下方向键是乱的,使用gedit打开编辑,后面再更新vi:
    {% codeblock lang:shell %}
    $ sudo gedit /etc/apt/sources.list
    {% endcodeblock %}
  2. 此时Ubuntu默认装了VMware Tools,可以复制windows下的文本,然后ctrl+shift+v在Ubuntu里面粘贴文本。也支持windows里文件和Ubuntu的直接拖拽复制。
  • 完成上面的修改后,再更新软件列表和安装完整的vim:
    {% codeblock lang:shell %}
    $ sudo apt-get update
    $ sudo apt-get install vim
    {% endcodeblock %}
    安装过程中根据提示输入yes确认,下同。

2.3安装、 配置网络服务

  • 执行以下命令安装 ftp、ssh、nfs服务:
    {% codeblock lang:shell %}
    $ sudo apt-get install vsftpd openssh-server nfs-kernel-server portmap
    {% endcodeblock %}
  • 配置 FTP 服务:
    修改 vsftpd 的配置文件/etc/vsftpd.conf,检查下面两行前面的“#”号是否去掉。
    第28行,默认没有#:
    {% codeblock lang:shell %}
    local_enable=YES
    {% endcodeblock %}
    第31行,默认有#,去掉#:
    {% codeblock lang:shell %}

write_enable=YES

{% endcodeblock %}

注:

  1. 上面第一个表示是否允许本地用户登录,第二行个示是否允许上传文件。
  2. 在vim的命令模式输入如下命令即可显示行号:
    {% codeblock lang:shell %}
    :set nu
    {% endcodeblock %}

修改完华之后,执行以下命令重启 ftp 服务:
{% codeblock lang:shell %}
$ sudo /etc/init.d/vsftpd restart
{% endcodeblock %}

  • 配置 NFS 服务
    修改/etc/exports,增加以下内容,以后开发板可以通过网络文件系统访问/work 目录和专门用来作为根文件系统挂载的/work/hceng/nfs_rootfs目录:
    {% codeblock lang:shell %}
    /work *(rw,sync,no_root_squash,no_subtree_check)
    /work/hceng/nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check)
    {% endcodeblock %}

  • 修改完华之后,执行以下命令重启 nfs 服务:
    {% codeblock lang:shell %}
    $ sudo /etc/init.d/nfs-kernel-server restart
    {% endcodeblock %}

  • 最后,关闭Ubuntu的防火墙:
    {% codeblock lang:shell %}
    $ sudo ufw disable
    {% endcodeblock %}

**4.安装基本开发环境: **

  • 这里使用韦东山老师第四期安卓视频环境搭建提供的脚本,这个脚本会自动安装诸如 g++等工具、 库。但该脚本是为Ubuntu12制作的,Ubuntu16使用需要做一些修改,主要是名字变了。修改变化如下:
    {% codeblock lang:shell %}
    libgl1-mesa-glx-lts-quantal:i386 libgl1-mesa-dev-lts-quantal
    {% endcodeblock %}
    改为:
    {% codeblock lang:shell %}
    libgl1-mesa-glx-lts-xenial:i386 libgl1-mesa-dev-lts-xenial
    {% endcodeblock %}

将修改后的脚本文件改为:install-devel-packages-for-16.sh 拖拽到自己建的/work/tool里面,加入可执行权限,然后执行:
{% codeblock lang:shell %}
$ sudo chmod +x install-devel-packages-for-16.sh
$ sudo ./install-devel-packages-for-16.sh
{% endcodeblock %}

然后报错,提示差mingw32:

解决
在源中加入如下部分:
{% codeblock lang:shell %}
deb http://cz.archive.ubuntu.com/ubuntu trusty main universe
{% endcodeblock %}

再更新列表,再执行就没问题了:
{% codeblock lang:shell %}
$ sudo apt-get update
$ sudo ./install-devel-packages-for-16.sh
{% endcodeblock %}


3.安装基本开发环境

  • 这里使用arm-linux-gcc-4.4.3.tar.gz,之前用的4.5出了问题,换成这个就好了,暂时用这个版本。把文件拖进/work/tool,解压到根目录:
    {% codeblock lang:shell %}
    $ sudo tar xzf arm-linux-gcc-4.4.3.tar.gz –C /
    {% endcodeblock %}

  • 再修改环境变量:
    {% codeblock lang:shell %}
    $ sudo vim /etc/ environment
    {% endcodeblock %}
    把工具链目录添加到最后,内容如下:
    {% codeblock lang:shell %}
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/FriendlyARM/toolschain/4.4.3/bin"
    {% endcodeblock %}

  • 重启Ubuntu,输入如下命令检测是否正常:
    {% codeblock lang:shell %}
    $ arm-linux-gcc –v
    {% endcodeblock %}

至此,开发环境以基本搭建完成。