树莓派镜像 DIY 制作

  1. 安装交叉编译环境
    需要一个 Ubunut18.04 的64位的主机 或者直接在树莓派系统上进行编译;

    apt-get update
    apt-get install -y bc build-essential gcc-aarch64-linux-gnu git unzip
    
  2. 获取树莓派内核源码

    # 下载成功后,在当前目录下有一个 linux 的文件夹
    git clone --depth=1 https://github.com/raspberrypi/linux --branch rpi-6.6.y
    

    获取树莓派官方 img 文件

    wget https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2024-10-28/2024-10-22-raspios-bookworm-arm64-lite.img.xz
    

    解压 2024-10-22-raspios-bookworm-arm64-lite.img.xz

    # 安装解压工具
    sudo apt-get install xz-utils
    # 解压
    xz --decompress --stdout 2024-10-22-raspios-bookworm-arm64-lite.img.xz > 2024-10-22-raspios-bookworm-arm64-lite.img
    
  3. 编译内核

    # 进入到内核源码
    cd linux
    # 生成配置
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2712_defconfig
    # 配置内核
    make menuconfig
    # 编译内核
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-   -j8
    
  4. 查看 2024-10-22-raspios-bookworm-arm64-lite.img

    # fdisk -l 2024-10-22-raspios-bookworm-arm64-lite.img
    Disk 2024-10-22-raspios-bookworm-arm64-lite.img: 2.67 GiB, 2864709632 bytes, 5595136 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x385cce61Device                                      Boot   Start     End Sectors  Size Id Type
    2024-10-22-raspios-bookworm-arm64-lite.img1         8192 1056767 1048576  512M  c W95 FAT32 (LBA)
    2024-10-22-raspios-bookworm-arm64-lite.img2      1056768 5595135 4538368  2.2G 83 Linux
    
  5. 挂在镜像分区到文件系统

    # 根分区
    # offset: 541065216 = 512*1056768	  sector size:512 bytes     起始地址:1056768
    mount -o loop,offset=541065216 2024-10-22-raspios-bookworm-arm64-lite.img /mnt
    # 启动分区
    # offset: 4194304 = 512*8192,sizelimit:536870912 = 512*1048576
    mount -o loop,offset=4194304,sizelimit=536870912  2024-10-22-raspios-bookworm-arm64-lite.img /mnt/boot
    
  6. 安装内核, 将编译好的内核以及设备树复制到系统中

    cp linux/arch/arm64/boot/Image /mnt/boot/kernel8.img
    cp linux/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb /mnt/boot
    
  7. 安装内核模块

    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu INSTALL_MOD_PATH=/mnt modules_install
    
  8. 调整config.txt

    vim /mnt/boot/config.txt# 在最后加上 kernel=kernel8.img
    
  9. 卸载分区

    umount /mnt/boot && umount /mnt
    
  10. 结束
    可以将 2024-10-22-raspios-bookworm-arm64-lite.img 镜像通过 Raspberry Pi Imager 烧录工具制作系统启动的 SD 卡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/473521.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMWare虚拟机安装华为欧拉系统

记录一下安装步骤: 1.在vmware中创建一个新的虚拟机,步骤和创建centos差不多 2.启动系统 具体的看下图: 启动虚拟机 耐心等待 等待进度条走完重启系统就完成了

如何进入python交互界面

Python交互模式有两种:图形化的交互模式或者命令行的交互模式。 打开步骤: 首先点击开始菜单。 然后在搜索栏中输入Python,即可看到图形化的交互模式(IDLE(Python 3.7 64-bit))与命令行的交互…

NVR录像机汇聚管理EasyNVR多品牌NVR管理工具视频汇聚技术在智慧安防监控中的应用与优势

随着信息技术的快速发展和数字化时代的到来,安防监控领域也在不断进行技术创新和突破。NVR管理平台EasyNVR作为视频汇聚技术的领先者,凭借其强大的视频处理、汇聚与融合能力,展现出了在安防监控领域巨大的应用潜力和价值。本文将详细介绍Easy…

【STM32】USB 简要驱动软件架构图

STM32 USB 软件架构比较复杂,建议去看 UM 1734 或者 st wiki STM32 USB call graph STM32 USB Device Library files organization Reference [1]: https://wiki.stmicroelectronics.cn/stm32mcu/wiki/Introduction_to_USB_with_STM32 [2]: UM1734

高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十三)图优化SLAM的本质

一、直白解释slam与图优化的结合 我从b站上学习理解的这个概念。 视频的大概位置是1个小时以后,在第75min到80min之间。图优化SLAM是怎么一回事。 slam本身是有运动方程的,也就是运动状态递推方程,也就是预测过程。通过t1时刻&#xff0c…

Vue2教程002:Vue指令

文章目录 2、Vue指令2.1 开发者工具2.2 v-html2.3 v-show和v-if2.4 v-else和v-else-if2.5 v-on2.5.1 内联语句2.5.2 methods 2、Vue指令 2.1 开发者工具 通过谷歌应用商店安装(需要科学上网)通过极简插件安装 2.2 v-html Vue会根据不同的指令&#x…

使用WebSocket技术实现Web应用中的实时数据更新

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用WebSocket技术实现Web应用中的实时数据更新 使用WebSocket技术实现Web应用中的实时数据更新 使用WebSocket技术实现Web应用中…

单片机学习笔记 1. 点亮一个LED灯

把基础的东西都过一下,用来学习记录一下。 目录 1、Keil工程 2、Keil实现代码 3、烧录程序 0、实现的功能 点亮一个LED灯 1、Keil工程 打开Keil,Project----New uVision Project,工程文件命名----OK 选择单片机类型AT89C52,和…

使用Web Animations API实现复杂的网页动画效果

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Web Animations API实现复杂的网页动画效果 使用Web Animations API实现复杂的网页动画效果 使用Web Animations API实现复杂…

计算机组成与原理(2) basic of computer architecture

Instruction Set Architecture (ISA) 和 Hardware System Architecture (HSA) 是计算机体系结构中两个重要的层次,它们各自的职责和作用如下: Instruction Set Architecture (ISA) 定义 ISA是指令集体系结构,是硬件和软件之间的接口。它定义…

Python Excel XLS或XLSX转PDF详解:七大实用转换设置

目录 使用工具 Python将Excel文件转换为PDF Python将Excel文件转换为带页码的PDF Python将Excel文件转换为特定页面尺寸的PDF Python将Excel文件转换为PDF并将内容适应到一页 Python将Excel文件转换为PDF/A Python将Excel文件中的工作表转换为单独的PDF Python将Excel工…

【C++】红黑树封装map—set

1 .关联式容器 C中的map是标准模板库(STL)中的一种关联容器,它存储的是键值对(key-value pairs),其中每个键都是唯一的。 键值对: 用来表示具有一一对应关系的一种结构,该结构中一…

系统思考—结构影响行为

最近在和一些企业领导者交流时,发现一个共性——创始人都非常厉害!战略清晰、点子多、方向准,简直就是企业的“定海神针”。但往往问题在了下一层级:如何把创始人的智慧传承下去,甚至复制到团队里,这成了一…

定时器简介

TIM(Timer定时器)简介 在第一部分,我们主要讲的是定时器基本定时的功能,也就是定一个时间,然后让定时器每隔这个时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的,比如你要做个时钟、秒表,或者使用一些程序…

快排和归并

目录 前言 快速排序 相遇位置一定比key小的原理(大): 避免效率降低方法(快排优化) 三数取中(选key优化) 小区间优化 hoare版本快排 挖坑法快排 前后指针快排 非递归快排 归并排序 非递…

代码段数据段的划分

DPL DPL存储在段描述符中,规定访问该段的权限级别(Descriptor Privilege Level) CPL CPL是当前进程的权限级别(Current Privilege Level),是当前正在指向的代码段所在段的成绩,也就是CS段的DPL RPL RPL说明的是进程对段访问的请求权限(Re…

Essential Cell Biology--Fifth Edition--Chapter one (8)

1.1.4.6 The Cytoskeleton [细胞骨架] Is Responsible for Directed Cell Movements 细胞质基液不仅仅是一种无结构的化学物质和细胞器的混合物[soup]。在电子显微镜下,我们可以看到真核细胞的细胞质基液是由长而细的丝交叉而成的。通常[Frequently],可…

开源科学工程技术软件介绍 – EDA工具KLayout

link 今天向各位知友介绍的 KLayout是一款由德国团队开发的开源EDA工具。 KLayout是使用C开发的,用户界面基于Qt。它支持Windows、MacOS和Linux操作系统。安装程序可以从下面的网址下载: https://www.klayout.de/build.html KLayout图形用户界面&…

【设计模式】行为型模式(五):解释器模式、访问者模式、依赖注入

《设计模式之行为型模式》系列,共包含以下文章: 行为型模式(一):模板方法模式、观察者模式行为型模式(二):策略模式、命令模式行为型模式(三):责…

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(下)----空间数据的编辑与处理(超超超详细!!!)

续上篇博客(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(上)----空间数据的编辑与处理(超超超详细!!!)-CSDN博客 继续更新 本篇博客内容为道路拓扑检查与修正&#x…