IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 树莓派4b编译linux 内核 -> 正文阅读

[系统运维]树莓派4b编译linux 内核

2021SC@SDUSC

详情请见官方:https://www.raspberrypi.org/documentation/linux/kernel/building.md

构建内核

操作系统附带的默认编译器和链接器被配置为构建在该操作系统上运行的可执行文件——它们是本机工具——但不一定是这种情况。交叉编译器被配置为为运行构建过程的目标之外的目标构建代码,使用它称为交叉编译。

Raspberry Pi 内核的交叉编译很有用,原因有二:

  • 它允许使用 32 位操作系统构建 64 位内核,反之亦然,并且

  • 即使是普通的笔记本电脑也可以比 Pi 本身更快地交叉编译 Pi 内核。

1 、在编译前运行 sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev
安装所需工具包

运行 sudo apt install crossbuild-essential-arm64,为 64 位内核安装 64 位工具链

2 、到 https://github.com/raspberrypi/linux 下载内核的源码,并将其解压放到 Linux 目录
中,或是在 Linux 中直接运行 sudo git clone https://github.com/raspberrypi/linux

?

?

3、跟随下面的命令来创建源文件和设备树文件

cd linux-rpi-5.10.y? ? ? ? ? ? # 根据自己的目录运行
KERNEL=kernel8
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig

?

4 、运行命令来创建 64 位内核文件
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs
Note :为了加快多处理器系统上的编译速度,并在单处理器系统上得到一些改进,
像编译 u-boot 一样,可以使用 -j n n 为随意的数字,如 -j 4 )。
?

?

5 、直接将内核移到 SD 卡上
首先在 linux 目录下创建用来 mount 的目录,方便后面的移植文件。
mkdir mnt
mkdir mnt/fat32
mkdir mnt/ext4

?

运行命令,挂载
sudo mount /dev/sdb1 mnt/fat32
sudo mount /dev/sdb2 mnt/ext4
接下来,运行命令来生成内核模块
sudo env PATH=$PATH make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu
INSTALL_MOD_PATH=mnt/ext4 modules_install(这个命令可以去官方文档粘贴,太长了)
sudo env PATH=$PATH make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=mnt/ext4 modules_install

最后,把内核,模块和设备树移植到 SD 卡,确保备份旧内核:
sudo cp arch/arm64/boot/Image mnt/fat32/
sudo cp arch/arm64/boot/dts/broadcom/*.dtb mnt/fat32/
sudo mkdir mnt/fat32/overlays
sudo cp arch/arm64/boot/dts/overlays/*.dtb* mnt/fat32/overlays/
sudo cp arch/arm64/boot/dts/overlays/README mnt/fat32/overlays/

?然后内核移植完了。?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:46:14  更:2021-10-18 17:47:29 
 
开发: 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年11日历 -2024/11/15 20:33:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码