搭建嵌入式Linux开发环境
CSDN仅用于增加百度收录权重,排版未优化,日常不维护。请访问:www.hceng.cn 查看、评论。
本博文对应地址: https://hceng.cn/2017/03/23/搭建嵌入式Linux开发环境/#more
本文主要记录在搭建嵌入式Linux开发环境过程中的.
所需材料:
- 虚拟机:VMware-workstation-full-12.0.0-2985596.exe
- Ubuntu系统镜像:ubuntu-16.04.1-desktop-amd64.iso
- 交叉工具链:arm-linux-gcc-4.4.3.tar.gz(根据自己需求下载)
- 安装脚本:install-devel-packages-for-16.sh
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 %}
注:
- 此时vi是不完全版的,很难用,编辑模式下方向键是乱的,使用gedit打开编辑,后面再更新vi:
{% codeblock lang:shell %}
$ sudo gedit /etc/apt/sources.list
{% endcodeblock %} - 此时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 %}
注:
- 上面第一个表示是否允许本地用户登录,第二行个示是否允许上传文件。
- 在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 %}
至此,开发环境以基本搭建完成。