| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 树莓派 4B 本地编译内核 -> 正文阅读 |
|
[嵌入式]树莓派 4B 本地编译内核 |
目录 最近打算玩玩树莓派,遂之买了一块 Raspberry 4B 的板子。板子的资源就不在多说了 BCM2711的芯片,ARM Cortex-A72 @ Qual Core; 拿到板子,SD 卡中已经带有系统,所以呢,我们可以直接在树莓派上面编译 Kernel,不用在 PC 上交叉编译,只不过呢,树莓派上编译会稍显慢,不过无所谓; 官方其实对这部分有描述,参考:
1、下载内核源码1.1、配置 proxy我刚刚拿到单板,准备下载源码,但是一直都报各种 Github 连接失败,所以要配置一下:
然后呢,就可以在 Github 上面下载 Raspberry 的源码了:
我这里用的是 5.10 的内核,所以下载的是 5.10.y 的分支; 1.2、安装依赖将编译阶段需要的东西安装上:
2、配置内核通过下面内容来进行基本的配置:
3、编译内核通过下述方式来进行编译:
接下来就是漫长的等待; 4、更新内核将编译完毕的内核相关文件覆盖:
5、重启重新启动系统,通过 uname -r 查看是否被更新; 6、问题6.1、32bit/64bits当前默认情况下,Raspberry 4B 跑的是 32bit 的 Kernel 使用的是 32bit 的 toolchain,从官方的文档:
可以看到,如果是 32bit 的话针对 Raspberry 4B 来说:
对于 64bit 的话,针对 Raspberry 4B 来说:
编译器使用的不一样; 上述需要在宿主机中,进行下载安装交叉编译环境进行编译; 6.2、覆盖到 SD card在终端中,使用 lsblk 可以看到: NAME? ? ? ? ? ? MAJ:MIN RM ?SIZE? ? ?RO TYPE MOUNTPOINT mmcblk0p1 分区是启动分区,被挂载到 /boot 目录下,也就是 SD card 中存放启动内容的地方;所以在编译完 Kernel 后,往这个目录下进行覆盖的; |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 9:49:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |