LINUX内核编译(1)搭建开发环境

ubuntu20.04.1 64位搭建嵌入式linux开发环境 目录背景开发环境的搭建1.交叉编译工具的安装2.开发工具和依赖库的安装2.1. 必需部分2.2.可选部分ubuntu20.04.1 64位配置和编译Linux3.0内核 背景 市面上的嵌入式linux开发板厂商提供给客户的开发环境往往是低版本的ubuntu,因为他们没有精力去测试每个版本的ubuntu,一旦某个版本调通了,这个版本就用一直用下去,不会换新的,这主要是考虑到人力成本。 理论上,高版本的ubuntu也是可以搭建好嵌入式linux开发环境的,只不过相比低版本的ubuntu,可能会做更多一些的工作, 阅读详情

工欲善其事,必先利其器,既然要编译内核,首先要搭建交叉编译环境,安装的ubuntu19是64位系统,所以用到编译器的工具链为:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf,这里没有用最新的版本,因为可能某些配置等原因,编译内核的时候错误。

下载地址:http://releases.linaro.org/components/toolchain/binaries/latest-4/arm-linux-gnueabihf/

 

操作步骤:

软件下载以后,就开始解压配置。

 

1、创建目录

我们在系统/usr/local/目录下创建一个文件arm文件夹,用于存放交叉编译工具,目录为:/usr/local/arm,将下载交叉编译器拷贝到此目录下。如果使用Filezilla传输失败,可能是没有权限,可以先拷贝到一般用户目录下,在系统中使用sudo cp命令在复制到arm文件夹下。

 

2、解压

在/usr/local/arm目录下解压交叉编译工具,解压命令:

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

等待解压完成后,会生成一个名为gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf的文件夹,这个文件夹就是的交叉编译工具链;

 

3、修改环境变量

打开/etc/profile文件,在最后输入:

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

路径也就是交叉编译工具解压的路径。修改保存后,重启系统,交叉编译工具链(编译器)就安装好了。

 

4、安装相关库

再使用交叉编译器之前,还需要安装一下其他的库,如下:

sudo apt-get install lsb-core lib32stdc++6

 

5、交叉编译器验证

首先查看一下交叉编译工具的版本号,如下:

arm-linux-gnueabihf-gcc -v

如果安装正确,则会显示版本号,通常情况下,arm-linux按下TAB键会自动补全。

Linux内核编译与安装 Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统。内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制。Linux内核的一大特点就是采用了整体式结构,有很多过程组成,每个过程都可以独立编译,其模块机制又湿得内核保持独立而又易于扩充。Linux发行版实在Linux内核的基础之上,与外带的应用软件和工具打包配置之后发行的版本。 阅读详情

相关推荐

龙芯久久派开发环境搭建与内核升级指南

嵌入式开发中,交叉编译工具链是连接开发主机与目标平台的关键桥梁。其核心原理是通过在x86架构主机上生成目标平台(如龙芯LoongArch架构)的可执行代码。这种技术极大提升了开发效率,特别是在国产芯片生态建设中尤为重要。以龙芯1C300处理器为例,开发者需要配置专用工具链来处理自主指令集。典型应用场景包括IoT设备开发、嵌入式系统定制等。本文以久久派开发板为例,详解从工具链配置到内核升级的全流程,特别针对国产芯片常见的串口调试、网络异常等问题提供解决方案,并分享VSCode远程开发等效率优化技巧。

diaogan4202的博客 428

linux内核1-GNU汇编入门_X86-64&ARM

原文地址:linux内核1-GNU汇编入门_X86-64&ARM 1 引言 为了阅读Linux内核源代码,是需要一些汇编语言知识的。因为与架构相关的代码基本上都是用汇编语言编写的,所以掌握一些基本的汇编语言语法,能够更好地理解Linux内核源代码,甚至可以对各种架构的差异有一个更深入的理解。 大部分人可能认为汇编语言晦涩难懂,阅读手册又冗长乏味。但是,经过本人的经验,可能常用的指令也就是3...

shenwanjiang111的专栏 1250

Linux内核学习笔记1--使用docker搭建内核编译环境

欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I...

No_red的博客 6924

bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found (required by /libcontroller.so

需要安装 :这些错误信息表明你的系统中缺少特定版本的 GNU C 库(glibc),即GLIBC_2.32和GLIBC_2.34。这些库版本是运行某些动态链接库(如等)所必需的。

异构算力老群群(在读985计算机博士生)的技术博客 6405

qemu linux内核(5.10.209)开发环境搭建

核心可执行文件vmlinux描述:原始的、未经压缩的内核可执行文件,包含完整的符号表和调试信息,体积较大。生成路径:位于内核源码根目录或arch/<架构>/boot/compressed/目录下。用途:用于调试和分析内核崩溃问题,不直接用于启动系统。来源:编译过程通过链接head-yinit-ycore-y等目标文件生成。zImage** 与 **bzImage描述:压缩后的内核镜像文件,bzImage(Big zImage)支持更大体积的内核(超过512KB时使用)。

小x的博客 1387

基于Linux的PCIe设备驱动开发入门到精通--1.6 开发环境搭建:交叉编译工具链、内核源码、QEMU模拟

在之前的五讲中,我们学习了PCIe硬件原理、内核模块的编写与调试。这个强大的开源虚拟机,为自己构建一个专属的、安全的PCIe驱动开发沙箱。我们将使用 QEMU 模拟一个x86_64架构的虚拟机,并安装一个标准的Linux发行版(如Ubuntu)。一个有缺陷的驱动可能导致系统崩溃(Kernel Panic)、数据丢失,甚至需要重装系统。(如ARM、ARM64、RISC-V)的嵌入式设备开发驱动时,就需要交叉编译工具链。这将是理论与实践的第一次完美融合,标志着你正式迈入PCIe驱动开发的大门。

MHD0815的博客 133

手把手带你实现Linux内核编译步骤及配置

mkinitrd命令为redhat里面的,ubuntu的命令为:mkinitramfs -k /lib/modules/模块安装位置 -o initrd-2.6.39(任意) 2.6.39(可通过查询/lib/modules下的目录得到)内核模块通常通过使用makefile文件对模块进行编译。不管是哪个级别的都会在/var/log/messages里面打印出来(messages可以删除后,运行内核进行测试内核打印情况)控制台打印(优先级配置/proc/sys/kernel/printk)

m0_74282605的博客 7938

Nangate 45nm FreePDK开源工艺库:从RTL到GDSII全流程实战

在数字IC设计中,标准单元库是连接逻辑综合与物理实现的基石,它定义了每个单元的逻辑功能、时序延迟与物理尺寸。开源EDA工具链的成熟,使得个人也能借助免费工艺套件完整跑通芯片设计流程。Nangate 45nm FreePDK作为一套经典的开源工艺库,凭借结构清晰、配套完善的特性,成为学习数字后端和时序收敛的理想训练场。从综合工具Yosys读取Liberty文件进行逻辑映射,到OpenROAD执行布局布线与时钟树综合,再到使用OpenSTA分析关键路径延迟,这套流程涵盖了数字设计最核心的环节。通过亲手操作,开发

weixin_29168393的博客 270

linux内核编译环境搭建

内核编译环境搭建

qq_52803222的博客 475

FPGA开发者必看:Xilinx PCIe IP核BAR地址配置避坑指南(附实例解析)

本文为FPGA开发者提供了Xilinx PCIe IP核中BAR地址配置的详细避坑指南。文章深入解析了32位与64位地址空间的选择逻辑、Pcie to AXI Translation参数的核心作用,并通过实例说明如何正确配置以避免地址映射错乱和数据访问失败。重点探讨了BAR空间类型、大小设定以及地址转换机制,帮助开发者构建清晰可靠的PCIe系统,是调试与优化PCIe设计的关键参考。

weixin_29252171的博客 424

机器人运动不流畅?手把手教你用ACCSET调整ABB/FANUC点位加速度

本文针对ABB和FANUC工业机器人运动不流畅、拐角抖动、到位震颤等常见问题,提供了详细的解决方案。核心在于使用ACCSET指令(ABB)或ACC选项(FANUC)调整机器人的点位加速度与减速度参数。文章通过实战案例与系统化调试流程,手把手指导工程师优化运动性能,实现平稳、精准的机器人运动控制。

gpu4optimizer的博客 284

linux docker arm环境搭建,arm 开发环境搭建-基于QEMU和Docker

又花了半天的时间终于搞完了,实现了半自动化搭建环境.废话少说,开始了!!主要思路:在Docker容器中交叉编译linux-3.16,busybox-1.20.2.在主机中制作根目录并搭建QEMU模拟硬件运行环境.Docker镜像制作脚本Dockerfile如下:FROM ubuntu:16.04WORKDIR /root/RUN apt-get update && apt-get ...

weixin_28903391的博客 1534

基于多传感器融合的智身四足机器狗楼梯环境SLAM系统设计与实现

本文设计了一种基于多传感器融合的四足机器狗楼梯环境SLAM系统。系统采用Jetson Orin NX为主控制器,集成RealSense D435i深度相机和Livox Mid360激光雷达,在ROS2框架下实现平面定位精度<5cm、楼梯环境下导航不漂移的目标。通过多层次传感器融合策略、运动学约束优化和状态切换机制,解决了楼梯环境下的定位累积误差问题,实现了平面与楼梯环境的自动识别切换及精度复位功能。硬件设计注重传感器布局优化和精确标定,软件架构采用分层设计,确保实时性能。该系统为四足机器人在复杂地形中

huanghm88的专栏 238

Linux内核修改与编译

Linux内核修改与编译 去发现同类优质开源项目:https://gitcode.com/ 资源文件介绍 本仓库提供了一个详细的教程,指导您如何在Ubuntu 9.1环境下对Linux内核进行修改与编译。教程包含以下主要内容: 搭建环境:使用Ubuntu 9.1以及内核版本linux-2.6.33.3.tar搭建开发环境。 修改内核具体内容: 增加设备驱动程序:为系统添加新的设备驱动程序,以支...

gitblog_06753的博客 411

如何给K8S配置一个具有永久有效的kubeconfig

在 Amazon EKS 环境中,Kubernetes 的认证机制与 AWS IAM 深度集成,通过aws-iam-authenticator动态生成临时凭证。这种设计虽然增强了安全性,但给需要持久化凭证的工具链(如 CI/CD 系统中的 KubeVela)带来了挑战。具体表现为:临时凭证失效​​:默认 Token 有效期为 15 分钟至 1 小时;​​IAM 角色限制​​:直接使用aws eks get-token生成的凭证无法持久化

小杨同学的博客 660

Vue - 萤石云监控 ezuikit 视频实例销毁方案,解决使用stop方法无法销毁EZUIKit实例或销毁后依然占用内存并且监控画面依然有声音问题(解决页面多个监控摄像头画面同时播放,翻页或关闭页

vue2,vue3,萤石,监控摄像头,萤石云销毁视频实例,退出页面销毁,stop销毁原视频流,占用内存怎么办,销毁后视频依旧在后台播放有声音,销毁视频播放器,页面上有多个视频画面怎么销毁某一个,stop方法不生效怎么办,浏览器非常卡,dom销毁,ezuikit-js萤石云播放器Vue中使用beforeDestory销毁播放器实例,调用萤石云ezuikit-js的视频对象销毁,vue使用萤石云监控视频录像回放,不销毁实例会出现离开页面后依旧有监控声音并且占内存问题,不好使,页面崩了,崩溃,视频监控太多,没有用

🏆 前端领域优质创作者 1万+

嵌入式Linux开发环境搭建:Nanbeige 4.1-3B指导交叉编译与调试

本文介绍了如何在星图GPU平台上自动化部署🌸 Nanbeige 4.1-3B Streamlit WebUI (极简清爽版)镜像,以搭建嵌入式Linux开发环境。该镜像可作为智能开发助手,在交叉编译、内核配置等复杂过程中提供实时命令指导和错误分析,显著提升开发效率。

weixin_30591519的博客 31

金三银四!风控建模岗面试题库大全:从理论到实战避坑指南

风控建模面试大全

阿黎逸阳的博客 767

Linux内核开发_1_编译LInux内核

1. 准备工作 1.1 学习环境 本系列教程使用的环境如下: 操作系统版本: Linux ubuntu 18.04 Linux内核版本: cat /proc/version Linux version 4.15.0-20-generic (buildd@lgw01-amd64-039)\ (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 ...

17岁boy的博客 9181

B07:AI 时代怎么考核团队?我把 KPI 改了 5 版才找到答案

最后说一句掏心窝的话。绩效考核不是"管人"的工具,是"引导团队行为"的工具。你定什么指标,团队就会做什么行为。你定"AI 占比",团队就凑占比你定"效率提升",团队就挑软柿子你定"代码行数",团队就刷行数你定"工具使用率",团队就刷使用只有定"业务价值 + 工程质量 + 能力成长"三个维度的指标,团队才会真正关注长期价值。这套 KPI,我在我带的团队里跑了 6 个月,没有任何一个指标被"刷"出来。考核的是结果,不是过程。永远考核"创造了多少价值",永远不考核"用了多少 AI"。

刘一说的IT专栏 499

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

linux 内核编译

本文介绍了Linux内核编译的详细步骤,包括环境准备、配置选项、编译过程及安装方法,是学习和实践内核编译的指南。

mx_jun的博客 9556

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Linux内核及内核编译

使用make menuconfig时,配置工具首先分析与体系结构对应的/arch/xxx/Kconfig文件,xxx为传入的ARCH参数,/arch/xxx/Kconfig文件中除本身包含一些与体系结构相关的配置项和配置菜单外,还通过source语句引入一系列Kconfig文件。如果需要几个并发执行的任务,可以启动内核线程,这些线程没有用户空间。内核空间和用户空间用来区分程序执行的两种不同的状态,他们使用不同的地址空间,Linux中只能通过系统调用和硬件中断完成从用户空间到内核空间的控制转移。

weixin_45241469的博客 4588

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

linux 内核学习3-自己编译一个ARM Linux内核

linux 内核学习3-自己编译一个ARM Linux内核 1. 目的 编译一个ARM版本的内核镜像,谁让我是做Android的呢!并且在QEMU上运行。 2. 准备工作 2.1 开发环境 ubuntu 18.4虚拟机 linux内核版本 4.19.67 linux内核地址 busybox 工具包 busybox 编译 $ cd busybox $ export ARCH=arm $ exp...

风炫灬梦想的博客 3494

linux内核编译详解

前言Linux内核是Linux操作系统的核心,也是整个Linux功能体现的核心,就如同发动机在汽车中的重要性。内核主要功能包括进程管理、内存管理、文件管理、设备管理、网络管理等。Linux内核是单内核设计,但却采用了微内核的模块化设计,支持内核线程以及动态装载内核模块的能力。Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果...

Hello,World 1万+

Linux内核学习1——Linux内核编译安装

一、使用VScode连接远程Linux服务器 首先介绍一下比较方便的编辑内核文件的方法 连接远程服务器的方法有很多,比如可以借助XShell、putty等软件使用ssh命令来登录远程服务器。但如果使用这种连接方法在远程服务器上进行开发工作,会来带诸多不便,比如: 全程只能在终端使用指令操作,文件操作麻烦。 写代码不方便,我们可能会先在本地写好代码再使用scp指令把源代码传送到服务器再运行,或直接在服务器上使用Vim或Vi进行编辑,这些操作起来我个人觉得都不顺手。 服务器上的图片无法查看,比如有时候我们的程

weixin_45730790的博客 4543

Linux内核驱动入门 编译环境搭建、编译内核

哎…有时候我都不知道自己是干啥的说是运维吧,docker不会,k8s不会;说是驱动吧,uboot不熟,内核不熟,驱动没写过;什么都是会点皮毛,这篇文章记录一下内核驱动学习记录。(背景:用的正点原子的开发板)

Aruko的博客 1688
上一篇: STM32 RT-Thread Nano(3)移植控制台与Finsh
下一篇: LINUX内核编译(2)下载及编译内核
mcuhot
博客等级 码龄16年 39粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值