本文参照教材嵌入式Linux开发入门宝典

一、在Windows上安装虚拟机

1、浏览器搜索VMware,下载VMware Workstation Pro最新版,目前为16.2.3,并完成安装。

2、打开VMware,新建一个虚拟机。

(1)点击文件->新建虚拟机/在主页点击创建新的虚拟机;

(2)在虚拟机向导配置中选择自定义,点击下一步;

(3)虚拟机硬件兼容性选择Workstation 16.2.x,默认即可(以下配置完成后依次点击下一步即可,操作简单,故没有粘贴截图);

(4)安装客户机操作系统选择稍后安装操作系统;

(5)客户机操作系统选择Linux,版本选择Ubuntu;

(6)对虚拟机进行命名,根据自己的磁盘所剩空间或个人喜好选择安装位置,这里我选择安装在E盘下的Virtual Machines文件夹下;

(7)处理器配置->默认;虚拟机内存空间分配根据自己PC机动态分配,我这里选择分配4G内存;网络类型选择->NAT方式;I/O控制器选->默认;磁盘类型选择->默认;选择磁盘->创建新虚拟硬盘;最大磁盘大小根据自己的磁盘空间进行分配,不能超过磁盘所剩最大空间,因为我的PC机硬盘分区是NAFS格式,故可以将磁盘存储为单个文件;给磁盘文件命名(可默认);

(8)检查设置是否与以上所设值匹配,若匹配,单击完成按钮完成虚拟机的创建,若有误,返回修改即可;

二、在虚拟机上安装Linux操作系统

1、登录Ubuntu官网,下载桌面iso映像文件,此处我下载的版本是ubuntu-20.04.4-desktop-amd64.iso;

2、下载完成后在VMware中点击“编辑虚拟机设置”,点击CD/DVD,选择使用ISO映像文件,并点击浏览将下载好的iso映像文件添加上去,点击确定即可;

3、点击开启此虚拟机,安装操作系统

选择中文简体->安装Ubuntu

键盘布局选择Chinese(当然,精通其他语言的读者也可以选择键盘布局),点击继续

选择最小安装/正常安装,单击继续。我的PC机已经安装好了交叉工具编译链,此处选择最小安装(读者可根据需求自行安装,正常安装会多一些最小安装没有的Application,像类似于Windows下的office办公软件);

点击其他选项对磁盘进行分区

点击新建分区表->继续

点击空闲->+号->设置大小->设置主分区/逻辑分区->新分区的位置->用于->挂载点(同教材即可)剩下两个分区新建过程跟这个差不多;

设置完成如下图所示:

点击现在安装,单击继续,时区选择“上海”,点击继续,设置用户名和密码

点击继续,等待系统完成安装。

安装完成后重启,点击配置虚拟机设置,将CD/DVD项的启动时连接取消即可。

三、配置宿主Linux操作系统

1、宿主操作系统网络设置

点击编辑虚拟机设置,选择网络适配器为桥接模式,点击确定。

打开Window操作系统命令提示符,输入ipconfig /all查看宿主机IP配置,打开Linux系统终端,输入sudo nano /etc/network/interface,添加静态IP设置(参照教材),将Window操作系统和Linux操作系统IP地址设置为同一网段即可

按ctrl+x保存后重启网络服务,输入sudo service network-manager restart,重启网络服务,完成后即可看到网络连接成功,说明配置成功,或在终端执行ping www.baidu.com命令,可以ping通即表明配置成功。

2、打开FTP、SSH、和NFS服务

(1)更新软件源

步骤同教材,在Linux终端下输入相应命令即可。

(2)安装设置启动FTP服务

在终端输入sudo apt install vsftpd命令,完成安装

修改配置文件/etc/vsftpd.conf(找到对应的代码部分,将#删除即可)

保存配置文件并重启FTP服务,使设置生效即可

(3)安装设置启动SSH服务和NFS服务

此处没有放截图,根据教材做的,基本过程同(2)安装FTP

四、在宿主机上安装、配置开发环境

1、安装编译环境

2、安装编辑工具vim(vim用不到可以不装)

3、修改工作目录opt的所有者

以上三步比较简单,按教材上给的终端命令就可完成,因此没有截图,重点放在了以下制作交叉编译工具链。

五、制作交叉编译工具链-自己制作工具链

1、我下载的工具链是crosstool-ng1.24.0,可以在Ubuntu中使用火狐浏览器登录以下网址进行下载:http://crosstool-ng.github.io/2019/04/13/release-1.24.0

在opt文件夹下创建目录tools,将下载好的crosstool-ng移动到该文件夹下

1、解压

在终端输入教材上的命令,完成解压

2、安装软件依赖包

这里我分了三次安装,其实可以一次性安装,各个依赖包之间用逗号隔开就可以了。

3、编译安装crosstool-ng

在配置crosstool-ng时会提示缺少某个软件依赖包,应该时所用crosstool-ng跟教材所用版本不一致的原因,按步骤(2)将缺少的软件依赖包依次进行安装,重新进行编译,直到编译不再提示缺少软件依赖包即可。

编译时还会出现一个问题,就是一直显示编译缺少libtool,但是安装却发现libtool已经存在,再安装一个libtool-bin即可解决该问题。

编译通过会有如下提示

至此编译工作就完成啦,此时执行make和make install命令即可

4、将crosstool-ng工具命令添加到环境变量PATH

再文件系统中打开/opt/tools/crosstool_install/bin目录,即可看到ct-ng已经存在

执行ct-ng help命令,即可看到crosstool-ng的版本信息

5、选择配置文件

执行ct-ng list-samples查看crosstool-ng默认支持的处理器

复制默认配置文件到crosstool_build,并复制crosstool.config为.config

.config文件为隐藏文件,需要使用ls -al命令才能看到该文件

6、执行menuconfig配置工具链

执行ct-ng menuconfig打开配置面板

依次根据教材做配置的修改

 

 

7、下载工具链所依赖的软件包

使用命令查看.config文件,里面可以查到相关软件包的版本信息,依次进行下载,并将其放在/opt/tools/crosstool/src下即可

如duma_2_5_15,打开网址下载对应版本即可,或者直接火狐浏览器搜索对应的软件包名称,找到对应版本进行下载。

8、编译

由于我已经成功搭建过一次交叉编译工具链,编译过程缓慢,因此我直接终止了本次编译。以下是我在另一台虚拟机上成功搭建后保留的截图。

下载的软件依赖包:

工具版本信息

至此,交叉编译工具链就制作好了,读者就可以愉快的进行嵌入式开发啦。

Linux环境下交叉编译工具链的制作相关推荐

  1. 制定交叉编译工具_交叉编译工具链的制作

    交叉编译工具链的制作 前言及准备 本笔记制作的交叉编译工具已通过简单验证,对初次有需求需要搭建交叉工具链有一定的指导意义,制作工具链比较耗时,需做好花费一整天时间的准备. 资料学习链接 linux工具 ...

  2. 交叉编译工具链的制作

    交叉编译工具链的制作 前言及准备 本笔记制作的交叉编译工具已通过简单验证,对初次有需求需要搭建交叉工具链有一定的指导意义,制作工具链比较耗时,需做好花费一整天时间的准备. 资料学习链接 crossto ...

  3. Linux环境下交叉编译mosquitto及其依赖

    本文的目录索引 文章目录 **本文的目录索引** **Linux环境下交叉编译mosquitto** 1.相关依赖(两个库外加一个交叉编译工具链) 2.开发环境以及目标环境说明 3.准备适用的交叉编译 ...

  4. linux top交叉编译_ARM Linux交叉编译工具链的制作

    本次是在VMWare虚拟机里安装了CentOS5.2操作系统,并在上面编译自己的ARM交叉编译工具链,下面是相应的步骤: 首先下载crosstool0.43源码包(crosstool-0.43.tar ...

  5. arm-linux交叉编译工具链的制作(基于S3C2440)【转】

    本文转载自:http://eric-gao.iteye.com/blog/2160622 制作arm-linux交叉编译工具链一般通过crosstool工具或者crosstool-NG,前者使用方便, ...

  6. Linux环境下FTP工具的使用方法

    在Windows环境下创建Ftp目录作为服务器根目录 在Linux端的操作: 从服务器端下载文件到Linux端: ftpget -u User -p Password ServerIP File Fi ...

  7. Linux环境下搭建区块链私有链+部署智能合约

    文章目录 一.前期准备 二.安装goland环境 三.安装go版本的以太坊源码,并编译 四.私有链搭建 五.私有链节点加入 六.部署智能合约 七.参考链接 一.前期准备 安装更新相关组件 sudo y ...

  8. linux arm 常用服务,ARM、linux常用服务器+交叉编译工具链

    1.tftp服务器在安装linux时通常可供选择是否安装tftp服务器 启动后可通过在控制终端输入netstat -a|grep tftp查看是否已经安装若已安装则为如下打印信息: [root@loc ...

  9. arm hisiv100 linux,hisiv100交叉编译工具链安装

    hisi交叉编译工具链安装 一.         摘要: 交叉编译简单的说,就是A机器上编译生成,运行在B机器上.那么在A机器上的编译工具安装,就是本文所要描述的内容. 工欲善其事必先利其器,所以交叉 ...

最新文章

  1. ACMNO.13求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。 输入 n 输出 和 样例输入 5 样例输出 153
  2. Bootstrap3 排版之水平对齐
  3. win2003下APACHE2.050+PHP5+MYSQL4.0.20+PHPMYADMIN2.57 的简易安装配置
  4. Request库入门
  5. php---header函数的简介
  6. 虚拟机vmware vmnet8 未识别(转)
  7. 如何打造7*24h持续交付通道?阿里高级技术专家的5点思考
  8. 计算机原理教程 pdf,《计算机组成原理》教程 概述.pdf
  9. VISIO科学图形包-亲测VISIO2013可用,应该适用其他高级版本
  10. python自动化交易通达信_通达信实现自动交易系统
  11. 统计·数值分析·概率论·人工智能数学基础
  12. html5直线逆时针旋转45,逆时针旋转45°后的图形.PPT
  13. 移动端车牌识别SDK应用
  14. 计算机上怎么设置qq隐藏图标,QQ图标隐藏了怎么弄出来
  15. 关于运行软件报错Address already in use
  16. emoji表情mysql处理_Mysql Emoji表情处理
  17. Linux脚本的制作命令
  18. 图解ARP协议(三)ARP防御篇-如何揪出内鬼并优雅的还手
  19. 全球名校AI课程库(2)| 吴恩达 · 机器学习专项课程『Machine Learning』
  20. mysql 生成序号 且自增

热门文章

  1. 适合永久收藏的模拟电子四大名著
  2. word如何批量修改标点符号和数字的字体?
  3. word家庭版误删后重装
  4. 苹果cms安装mysql检测失败_maccms(苹果cms)采集过程报错--MySQL server has gone away错误的解决办法...
  5. Mtk android中的设备树,msm8909+android5.1 device tree(dt) 设备树组成和编译
  6. 联想服务器连接显示器接口,联想推出由USB-C接口连接和供电的14寸独立外接显示器...
  7. 关于Yolov7测试后不会描框的解决办法!
  8. 计算机网络原理与实践ppt,从理论到实战,微软人工智能系统课程分享(附PPT)
  9. 练习-Java类和对象之访问限制(21)
  10. Chrome游戏:超级玛丽(Super Mario Bros. Crossover)、愤怒的小鸟(Angry Birds