搭建嵌入式Linux开发环境

linux下OpenGL开发:(一)Mesa的安装和问题解决 1.     OpenGL开发需要GLUT库,GLUT可以从Mesa中获得,我在安装Mesa的过程中碰到了很多问题,通过google和baidu以及请教别人,终于顺利的安装了glut库,并进行了OpenGL的示例开发,现将安装过程及问题总结如下,希望能够帮助到一些跟我一样的菜鸟,有问题我们可以互相探讨。如果是大牛请多指教。 安装步骤: (1)     首先在Mesa开源网站(www.mes 阅读详情

优快云仅用于增加百度收录权重,排版未优化,日常不维护。请访问: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 %}

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

解决Linux下Qt编译出现"cannot find -lGL"以及无法安装libgl1-mesa-dev的问题 在Linux系统下安装好Qt5,打开Qt Creator新建一个最简单的工程,编译却出现"cannot find -lGL"错误。 在网上搜索解决方法,找到的方案基本上是安装libgl1-mesa-dev,如通过apt-get install libgl1-mesa-dev安装,但是在我自己的系统上尝试这条命令,无论怎么安装都会出现一大堆依赖错误,按照缺少的依赖一个个尝试安装,结 阅读详情

相关推荐

【kylin/ubuntu 】离线命令行基本操作

ubuntu 刚刚启动时的基本命令和技巧

yuuzhao的博客 2077

libgl1-mesa-dev : 依赖: libgl-dev 但是它将不会被安装

一开始是编译时遇到 类似 https://blog.youkuaiyun.com/joe_007/article/details/6744355 的错 sudo apt install libgl1-mesa-dev 正在读取软件包列表… 完成 正在分析软件包的依赖关系树 正在读取状态信息… 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)目录移出。 下列信息可能会

weixin_42417818的博客 1万+

使用qemu搭建arm嵌入式linux开发环境

在命令行输入以下内容安装ARM交叉编译工具: sudo apt-get install gcc-arm-linux-gnueabi 安装qemu: sudo apt-get install qemu 若需要安装较新版本的qemu,可以自行下载源码手动编译安装) 使用qemu-system-命令可以查看qemu支持的CPU架构。 使用qemu-system-arm --version命令可以查看qemu的版本。 使用qemu-system-arm -M help命令可以查看支持的开发板类别。 下载Linu

zhvngchvng的博客 1万+

Linux下的OpenGL——Mesa和GLX简介

一.什么是Mesa和GLX 众所周知,OpenGL作为图形界的工业标准,其仅仅定义了一组2D和3D图形接口API,而对于窗口管理、IO消息响应等并没有规定。也就是说,OpenGL依赖各平台提供用于渲染的context以及具体实现方式,而各平台提供的实现不尽相同。这些实现主要有:Windows平台下的WGL、Linux下的Mesa/GLX、Mac OS X下的Cocoa/NSGL,以及跨平台的GLUT、GLFW、SDL等等。 Mesa是Linux下的OpenGL实现。它提供了对AMD Radeon系列、N

z1026544682的专栏 1万+

0.linux嵌入式驱动 开发环境搭建

嵌入式Linux开发环境搭建摘要 本文详细介绍了嵌入式Linux开发环境的搭建过程,包括VSFTP、NFS、TFTP和SSH等关键服务的安装与配置。主要内容涵盖: 开发环境架构:采用Windows编辑、Linux服务器编译、开发板运行的三段式开发模式 服务安装配置: VSFTP文件传输服务安装与FileZilla客户端使用 NFS网络文件系统的安装配置与开发板挂载 TFTP服务搭建及权限设置 串口CH340驱动安装 开发工具链: 交叉编译器arm-linux-gnueabihf的安装配置 Make工具的使用

m0_57852920的博客 993

嵌入式Linux开发环境的搭建

嵌入式Linux是在嵌入式系统中广泛使用的操作系统,它具有高度的定制性和灵活性,使得开发人员能够针对具体的嵌入式设备进行开发和优化。通过以上步骤,你就可以成功搭建嵌入式Linux开发环境,并开始进行应用程序的开发和调试了。这个环境将提供你所需的工具和资源,使你能够更好地适应和开发嵌入式Linux系统。嵌入式Linux开发通常需要使用交叉编译工具链,以便在主机上编译适用于目标设备的代码。4.3 编译完成后,将生成的内核镜像文件和设备树文件复制到合适的位置,以便在目标设备上使用。4.2 等待编译完成。

CyberSphinx的博客 633

在Windows使用VSCode搭建嵌入式Linux开发环境

我们正在(2022.10.17开始)使用纯粹的Ubuntu环境开始教驱动入门,免费参与。

韦东山嵌入式专栏 1万+

Linux——搭建嵌入式Linux开发环境详解

本文详细介绍了搭建嵌入式Linux开发环境的步骤,并提供了相应的源代码示例。通过正确安装必要的软件包、下载嵌入式Linux内核源码、配置交叉编译工具链、配置编译选项、编译内核、安装内核以及编写和调试应用程序,我们可以快速搭建一个稳定、高效的嵌入式Linux开发环境,提升开发效率。通过正确配置交叉编译工具链和编写合适的Makefile,我们可以轻松地编译和调试嵌入式Linux应用程序。在搭建嵌入式Linux开发环境之前,我们需要下载嵌入式Linux内核源码。编译完成后,我们可以将生成的内核安装到目标系统中。

DiySql的博客 443

【嵌入式Linux】开发环境搭建

嵌入式Linux开发环境搭建

LH_SMD的博客 3901

Python实战:超分辨率图像质量评估全攻略——PSNR、SSIM、LPIPS与NIQE的代码实现与优化

本文详细介绍了在Python中实现超分辨率图像质量评估的完整方案,涵盖PSNR、SSIM、LPIPS和NIQE四大核心指标。通过模块化代码设计、多进程并行处理和GPU加速优化,帮助开发者构建高效、可扩展的评估系统,并提供了实战避坑指南与结果解读方法。

weixin_29053073的博客 471

储能逆变器动态无功补偿:从原理到算法实现

本文深入解析了储能逆变器动态无功补偿的核心原理与算法实现。通过四象限运行与解耦控制技术,储能逆变器可在充放电的同时,快速、精准地调节无功功率,有效提升电网电能质量与功率因数。文章详细阐述了从相位调节、容量限制到PI控制算法的完整技术路径,并结合工程实践,探讨了其在光伏/储能系统中的协同控制策略与进阶应用价值。

weixin_29216353的博客 206

嵌入式Linux怎么搭建开发环境?

全文下载地址: 嵌入式Linux系统开发完全手册 第二版 2.1 安装Windows软件 2.1.1 这么多虚拟机,如何选择? 搭建开发环境的主要工作是:安装虚拟机、安装Windows开发工具。 学习嵌入式Linux时,各种程序比如Linux内核、你编写的驱动、应用,都需要在Linux机器下编译。但是很多人习惯在Windows下编写文档、编写程序、聊微信。正所谓在Windows下生活,在Linux下工作。难道我们需要2台电脑,一台装Windows、另一台装Linux?不,我们可以用虚拟机。在Windows电

韦东山嵌入式专栏 2037

添加odbc数据源时的一些问题和解决办法

pl/sql

Mr_Syh的博客 9641

嵌入式Linux开发环境搭建

Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。使用NFS可以使应用程序的开发变得十分方便, 客户端不需要大容量的存储器,更不需要进行映像文件的烧录和下载,只要mount到服务器端的特定目录下,然后运行该目录下的程序即可观察到结果。工欲善其事,必先利其器。

gjhave的博客 2712

基于Ansys Fluent和Mechanical的血管稳态流固耦合模型

流固耦合模型在医学中也会被用到,本次小编为大家带来针对人造血管内血液流动的仿真实例。 在开物云平台上找到Workbench 点击进入:https://cloud.yuansuan.cn/?user_source=community 在左侧的Toolbox中找到对应的模块:Fluid Flow(Fluent)和Static Structure 双击“Geometry”,进入建模功能 文件-打开-找到保存的模型文件 退回到主界面,在fluid flow(Fluent)中找到mesh

huasheng233的博客 3908

Spring AI 实战:第五章、Spring AI本地模型部署之省钱小能手

白嫖的快乐你想象不到经过这番折腾,我们成功实现了零成本使用大模型完全本地运行保障隐私可视化访问Java生态无缝集成但可能有的小伙伴要吐槽,怎么换个底层模型这次就新建一个工程了呢?不能在以前的工程上开发吗?这样也太不优雅了吧~,我知道你很急,但先别急,等下一章节再来解决这个问题。为什么程序员特别喜欢Ollama?因为它就像一只温顺的羊驼——不花钱还能24小时产出代码!

liaokailin的专栏 921

嵌入式linux开发环境的搭建

嵌入式Linux开发环境的建立 一. 实验目的 (1) 了解嵌入式交叉编译的相关知识 (2) 能够搭建嵌入式Linux开发环境 二. 实验环境 为了完成本实验,以下硬件条件是必须的: (1) UP-NETARM2410-S嵌入式实验平台 (2) PC机Pentium500以上,硬盘40GB以上,内存128MB以上 三. 情景描述 搭建...

weixin_33770878的博客 229

CAN(2)-GD32

GD32中CAN的特征。

小柚子的博客 552

第一课:创建嵌入式Linux开发环境之环境搭建

进行嵌入式Linux开发,首先要做的就是搭建一个Linux开发环境。这里有几个方案可供选择。1.独立安装Linux系统2.Windows下安装一套模拟Linux环境的的软件(如Cygwin)3.虚拟机安装Linux    如果是一个人开发,3总方案都是可选的。但如果要团队开发,最好建个Linux服务器,每个工程师通过Telnet(SSH)登陆服务器调试。即使

四月的专栏 1451

LVGL 实战:倒计时翻页钟

环境:LVGL 9.x + PC 模拟器。每个数字做成上下两半的卡片,秒变时用绕中缝翻页:上半旧页折叠下去、下半新页展开上来,配合阴影遮罩做出立体感。从 02:00 倒计时到 0,闪一下再重置。界面文案用英文(默认字体无中文)。

摸鱼专家 208

【数字IC验证进阶】正则表达式(Regular Expression)快速入门指南

在芯片开发过程中,正则表达式的使用非常常见。初次上手晦涩难懂,多用几次爱不释手!

悟已往之不谏 知来者之可追 1439

嵌入式linux编译环境搭建,嵌入式Linux开发环境搭建

整理下嵌入式Linux开发环境搭建过程笔记。一、制作u-boot.bin文件:tar xjf u-boot-1.1.6.tar.bz2cd u-boot-1.1.6patch -p1 < ../u-boot-1.1.6_jz2440.patchmake 100ask24x0_configmake二、制作适用于4.3寸屏幕的uImage文件:tar xjf linux-2.6.22.6.tar...

weixin_30666427的博客 204

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

嵌入式Linux基础知识2(嵌入式Linux开发环境搭建)

需求说明:IPC项目需要Linux系统,知识储备 来自:http://www.linuxidc.com/Linux/2014-08/105688.htm 整理下嵌入式Linux开发环境搭建过程笔记。 嵌入式Linux下使用BusyBox的crond服务的方法 http://www.linuxidc.com/Linux/2014-02/97369.htm 一、制作u-bo

时间的诗 869

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 设备驱动模型
下一篇: U-Boot分析、移植及使用
hceng_blog
博客等级 码龄10年 263粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值